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...
- Summer 2017: CS 4630 (Defense Against the Dark Arts)
- Spring 2017: CS 2150 lecture section 002 and labs 101, 102, 103, 104, 105, 106, and 107; CS 4971: SLP
- Fall 2016: CS 2150 lecture section 002 and labs 102, 103, 104, 105, 106, 107, and 108; CS 4970: SLP
- Summer 2017: CS 4630 (Defense Against the Dark Arts)
- Spring 2016: CS 2150 lecture section 001 and labs 101, 102, 103, 104, 105, and 106; CS 4971: SLP
- Fall 2015: CS 2150 lecture section 001 and labs 102, 103, 104, 105, 106, and 107; CS 4970: SLP
- Spring 2015: CS 2150 lecture section 001 and labs 101, 102, 103, 104, and 105; CS 4971: SLP
- Fall 2014: CS 2150 lecture section 001 and labs 102, 103, 104, 105; CS 4970: SLP
- Spring 2014: still to be redacted...
- Fall 2013: CS 2150 lecture section 001; CS 4970: SLP
- Spring 2013: still to be redacted...
- Fall 2012: CS 2150 lecture sections 001 and 002, and lab sections 101, 102, 103, & 104; CS 4501 (SLP)
- Spring 2012: still to be redacted...
- Fall 2011: still to be redacted...
- Summer 2011: CS 4630 (Defense Against the Dark Arts)
- Spring 2011: CS 2150 (Program and Data Representation) lecture sections 001 and 002, and lab sections 101, 102, 103, & 104; CS 4102 (Algorithms)
- Fall 2010: still to be redacted...
- Spring 2010: still to be redacted...
Course evaluations from fall 2009 and earlier can be found on my teaching portfolio page.