 I teach courses in the Department of Computer Science at Virginia Tech.
|
|
CS 1705: Introduction to Object-oriented Development I |
|
CS 1705 is Virginia Tech's CS1 course, the first programming course for CS majors. We use an aggressive objects-first pedagogy to teach programming in Java. The CS 1705 course web site is located on our Moodle server. |
|
CS 2605: Designing Object-oriented Data Structures and Software |
|
This brand new course is the third course in our core curriculum sequence. It covers a blend of common data structures--singly- and doubly-linked chains, binary trees, binary search trees, heaps, and general trees--together with core OO design topics--identifying classes, designing methods, managing pointer ownership, templates, iterators, const-correctness, and a few design patterns. The CS 2605 course web site is located on our Moodle server. |
|
CS 3304: Comparative Languages |
|
This junior-level class exposes our undergraduates to the principal programming paradigms, to BNF, and to the common implementation techniques for typical programming language features. The CS 3304 course web site is located on our Moodle server. |
|
CS 5314: Programming Languages |
|
This class is the graduate program equivalent of our CS 3304 undergraduate course. In the graduate version of the course, students cover all the material from CS 3304 in about half of a semester, and spend the remaining time exploring the basic design issues raised by a number of alternative programming languages, as well as presenting and critically assessing current research papers from recent conferences or journals on programming languages. The CS 5314 course web site is located on our Moodle server. |
|