Teaching

H212: Introduction to Software Systems, Honors

Spring 2011 – Associate Instructor

A second, in-depth, introduction to programming which follows the first introductory course, C211. Advanced programming concepts and practices are covered including use and design of interfaces and libraries, types and type-checking, run-time systems, programming environments, and the programming development cycle. The second half of the course is devoted to working with a team on a long-term project. The class is taught in Java.

H211: Introduction to Computer Science, Honors

Fall 2010 – Associate Instructor

A first course in computer science for those intending to take advanced computer science courses. Introduction to programming and to algorithm design and analysis. Using the Scheme programming language, the course covers several programming paradigms.

C343/A594: Data Structures

Spring 2010 Fall 2009 – Associate Instructor

The class is a systematic study of:

  • common data structures encountered in computer science,
  • their structure, representation, and memory layout, and
  • techniques for operating on them.

I taught all the discussion sections. The class is taught in C.

CSCI C212/A592: Introduction to Software Systems

Spring 2009 – Associate Instructor

This is typically a student’s second computer science course. The focus is on object-oriented programming and building and maintaining large projects. The second half of the semester is devoted to a long-term project. I taught two labs. The class is taught in Java.

See Also