Jeff Terrell

Jeff Terrell
Ph.D. Computer Science, 2009
University of North Carolina at Chapel Hill

jsterrel AT

View Source of courses/index.php

In the interest of open source, and in the interest of keeping Mr. Webmaster honest, here is the PHP source of courses/index.php. (This encourages him to write clean, easy-to-understand code...well, relatively clean and easy-to-understand, that is.) If you become interested in PHP, you can read more about it at PHP: Hypertext Preprocessor. You will also see plenty of HTML code, which is what makes the World Wide Web go 'round. You can read more about HTML (and CSS, another technology used on this site) here, at the official page of the very official World Wide Web Consortium (W3C). Anyway, enough rambling, here's the code!

<?php include("../header1.php"); ?>
<?php $THIS_FILE 
  <title>Jeff T. - Courses Taken</title>
  <link rel="stylesheet" href="local.css" type="text/css" charset="iso-8859-1" title="Default" />
<?php include("../header2.php"); ?>
include("localheader.php"); ?>

  <h1>Courses Taken</h1>
  <p>These are the courses I have taken since entering grad school.</p>

  <h3>Fall 2007</h3>
    <dt>Intermediate Spanish 1 by Iluminada Amat</dt>
    <dd>Why?  Because I wanted to brush up on my Spanish, OK? :-)</dd>

  <h3>Spring 2007</h3>
    <dt><a href="">COMP 790-042 - Operating System Implementation</a> by <a href="">F. Donelson Smith</a></dt>
    <dd>This course covered the design and implementation of the FreeBSD 5.2 operating system in detail.  We learned about process management, memory management, I/O, and other topics in depth, with FreeBSD source code and &quot;<a href="">The Design and Implementation of the FreeBSD Operating System</a>&quot; by McKusick &amp; Neville-Neil as a reference.  For my project, I modified the kernel to provide support for accurate and very precise ping measurements.  The final report is available here (<a href="dlping.pdf">PDF</a>).</dd>

  <h3>Fall 2006</h3>
    <dt><a href="">OR 641 - Stochastic Models in Operations Research I</a> by <a href="">Vidyadhar G. Kulkarni</a></dt>
    <dd>This course was an introduction to stochastic models.  We reviewed probability and covered discrete and continuous time Markov chains and Poisson processes.  The course was taught by the author of a well-known stochastic models textbook and the chairman of the OR department at UNC.</dd>

  <h3>Spring 2006</h3>
    <dt><a href="">COMP 241 - Internet Architecture and Performance</a> by <a href="">F. Donelson Smith</a></dt>
    <dd>This was one of the most useful and informative courses I've taken at UNC.  We started out learning about long-range-dependence in network traffic straight from the research literature, and continued on to hot topics such as active queue management, high-speed TCP, equation-based congestion control, and differentiated services.  I did my project on the use of <a href="">Felix Hernandez-Campos</a>'s tmix workload generator for the generation of anomaly-free TCP traffic.  <a href="tmix_analysis.doc">My report</a> is available, if you're interested.</dd>
    <dt><a href="">COMP 290 - Topics in Data Mining</a> by <a href="">Wei Wang</a></dt>
    <dd>The first half of this course was an introduction to data mining techniques.  We covered association rules and the a priori algorithm, clustering, classification, and a few other things.  In the second half of the semester, the students gave talks on a related paper.  Lastly, there was a project component.  I researched how to use clustering techniques to find invariant or stable behaviors in TCP connections, and you can <a href="comp290-dm-report.doc">read my report</a> (in Word format).</dd>
    <dt><a href="">COMP 290 - Topics in Agile Software Methods</a> by <a href="">David Stotts</a></dt>
    <dd>In this course, we learned about some of the more lightweight methodologies of software engineering and how they work, such as extreme programming, unit testing, refactoring, and aspect-oriented programming.  There was a project component to this course, in which pairs of programmers (either co-located and sharing a single workstation or working together via VNC and a headset) wrote a distributed <a href="">Mancala</a> GUI application in Java.  I worked with <a href="">Sasa Junuzovic</a> on the project, and a copy of the class webpage, including the final presentation and our code, is <a href="comp290-xp-project/">here</a>.</dd>

  <h3>Fall 2005</h3>
    <dt><a href="">COMP 234 - Computer Networking</a> by <a href="">Jasleen Kaur</a></dt>
    <dd>This course was a fairly standard networking course.  For my project, I worked with 2 other students, Mike Henson and Brian Begnoche, to evaluate how sampling and other variables affected PCA-based intrusion detection methods.  You can read <a href="comp234-final-report.doc">our final report</a> (in Word format).</dd>
    <dt>COMP 291 - Technical Writing by <a href="">John H. Halton</a></dt>
    <dd>The essence of this course was clear and concise writing, using <a href=";n=283155">Strunk and White's &quot;The Elements of Style&quot;</a> as a model.</dd>
    <dt><a href="">MATH 191 - Numerical Analysis</a> by <a href="">Sorin Mitran</a></dt>
    <dd>This course included classical numerical analysis topics such as interpolation, numerical integration and differentiation, linear systems, and differential equations.  It was a challenging but very worthwhile course.</dd>

  <h3>Spring 2005</h3>
    <dt><a href="">COMP 247 - Parallel and Distributed Algorithms</a> by <a href="">James Anderson</a></dt>
    <dd>In this course, I learned about topics such as reasoning about threaded/distributed programs, distributed mutual exclusion, and fault tolerance.  You can view my <a href="comp247-p2p-survey.doc">survey paper on peer-to-peer systems</a> (in Word format).</dd>
    <dt><a href="">COMP 249 - Multimedia Networking</a> by <a href="">Ketan Mayer-Patel</a></dt>
    <dd>This course started out with a survey of networking and multimedia representation and compression, and then covered the intersection of the two areas.  I learned about jitter, congestion control, multicast, distributed hash tables, forward error correction, pyramid broadcasting, and patching and batching.  My final project was to work with another student, Rohit Saboo, to implement a TFRC sender and receiver in Java.</dd>
    <dt><a href="">COMP 290 - Topics in Intrusion Detection</a> by <a href="">Kevin Jeffay</a></dt>
    <dd>This course was a seminar-style one.  An overview of network security and attacks was the first thing covered, and then the students presented on a more specific area of intrusion detection.  I presented my research, and I also used my research for the final project.</dd>

  <h3>Fall 2004</h3>
    <dt><a href="">COMP 181 - Theory of Computation and Languages</a> by <a href="">James Anderson</a></dt>
    <dd>A classic course, this started out with finite automata and regular languages and ended up with Turing machines and NP-completeness.</dd>
    <dt>COMP 235 - Images, Graphics, and Vision by <a href="">Stephen M. Pizer</a></dt>
    <dd>This course covered introductory topics in the field.  I think the most useful things I got out of the course were a decent understanding of the frequency domain and of Principal Components Analysis/Singular Value Decomposition.</dd>
    <dt><a href="">COMP 243 - Distributed Systems</a> by <a href="">F. Donelson Smith</a></dt>
    <dd>Ranging from the domain name service to distributed hash tables to weak and strong consistency, this course surveyed many distributed systems and distributed techniques.  I also implemented a threaded HTTP proxy server and (with Jeff Schoner) DRIS, the Distributed Robust Installation System.  We also used the word &quot;distributed&quot; a lot in this course.</dd>

<?php include("../footer.php"); ?>
viewsource.php: Last Modified: 08/13/07@20:34:26 | Size: 2780 bytes | View Source