Courses Taught {#courses}

A full list of courses I have taught is below. Many of these courses have had different course numbers, including the CS 451 and 4501 numbering for special topics; only the current course numberings are listed here.

  • CS 1110: Introduction to Computing (5 semesters: spring '05 through spring '07)
  • CS 1111: Introduction to Computing, advanced section (1 semester: fall '04)
  • CS 2102: Discrete Math (3 semesters: fall '04, spring '05, spring '07)
  • CS 2150: Program and Data Representation (29 semesters: fall '07 through spring '17, fall '18 through fall '22)
  • CS 3710: Introduction to Cybersecurity (9 semesters: fall '18, spring '19, fall '19, summer '20, summer '21, summer '22, spring '23, summer '23, fall '23)
  • CS 4102: Algorithms (2 semesters: fall '10, spring '11)
  • CS 4240: Object Oriented Design (3 semesters: spring '06, spring '08, fall '09)
  • CS 4501: Advanced Algorithms and Implementations (1 semester: fall '11)
  • CS 4501: Cryptocurrency (4 semesters: spring '22 through fall '23; scheduled for spring '24)
  • CS 4610: Programming Languages (1 semester: fall '05)
  • CS 4630: Dark Arts (8 semesters: spring '09, summer '10, summer '11, spring '12, summer '12, summer '16, summer '17, fall '17)
  • CS 4730: Computer Game Design (3 semesters: fall '08, spring '10, fall '11)
  • CS 4760: Network Security (scheduled for spring '24)
  • CS 4810: Computer Graphics (3 semesters: fall '06, fall '07, summer '09)
  • CS 4970: Capstone Practicum I, a.k.a. Service Learning Practicum (7 semesters: spring '12, and each fall semester from 2012 to 2017)
  • CS 4971: Capstone Practicum II, a.k.a. Service Learning Practicum (5 semesters: each spring semester from 2013 to 2017)
  • ENGR 3580: The Science Of Beer Brewing (3 semesters: spring '08, spring '09, spring '10)
  • ENGR 3580: Wine Engineering (2 semesters: fall '07, fall '08)

Advising {#advising}

I used to maintain the Computing undergraduate handbook, which contains all of the requirements for the three computing degrees: BS CS, BA CS, and BS CpE, as well as the minor. I also maintain ugrads.cs.virginia.edu.

Teaching Portfolio {#portfolio}

In the spring of 2005, I took part in a Teaching Resource Center workshop that focused on the creation of a teaching portfolio. The result is here. The course materials have generally not been updated since then, though.

Teaching Awards {#awards}

I've won one or two. I have the list here somewhere...

Teaching Evaluations {#evals}

I believe that who fills out a teaching evaluations should be kept anonymous, and then the entire evaluation made public, and I do so with mine. I aim to include all of my course evaluations, not just a few selected "good" ones. Occasionally, however, some students submitted comments that were not appropriate for public viewing (due to inappropriate language, or mentioning themselves or somebody else, evaluating a teaching assistant, etc.). These parts of the comments have been redacted, and clearly labeled as such. Any responses that are not about me are also redacted -- this is particularly true when, in my CS 2150 courses, I ask them to comment on the teaching assistants; all of those answers have been redacted. Some of my evaluations are awaiting redaction (I just haven't gotten around to it yet), which is why they are not available. They will be there eventually...

Course evaluations from fall 2009 and earlier can be found on my teaching portfolio page.