U. Maryland -- Department of Computer Science

August 2006 - May 2008

UMD Computer Science ImageFor four semesters at the University of Maryland, I served as a Teaching Assistant (TA) for a variety of undergraduate CS courses. This was my favorite job (so far!), as it combined CS, math, problem solving, social interaction, teaching, and constant learning.

For my first two semesters, I TA'd for Larry Herman's CMSC212 - Introduction to Low-Level Programming and CMSC330 - Programming Languages courses.

  • CMSC212 serves as the undergraduate student's first course in C, which (as the C programmers among you know) leads to some quirky memory management-based bugs. As the majority of my time spent TAing was in office hours, this course served to strengthen my C debugging skills while clarifying many of the obscure rules of the language brought up by newbie programmers lost in a world without garbage collection.
  • CMSC330 is an introductory upper-level computer science course usually taken at the end of a student's sophomore year as a CS major. It is a survey course tasked with covering the theory behind different kinds of programming languages. The course also includes six or seven projects in languages like Haskell, OCaml, Lisp, Ruby, Python, and (multi-threaded) Java. My favorite part about TAing for this course was seeing some students have trouble with imperative languages while excelling at functional programming and vice versa. It's fun to see how people think.

After TAing twice for Larry, a position opened up in one of my favorite courses taught by one of my favorite lecturers. CMSC311, taught by Dr. Michelle Hugue, is (in my opinion) the student's first experience with true low-level programming. Projects heavily involve ASM and interacting directly with the kernel. Although I do not think I'd enjoy a career in MOVL, MULD, and BNZing, I really enjoy the purity inherent in writing direct machine code. Being a part of teaching students exactly what's going on in a personal computer from power-up to power-down was great.

Point of contact: Dr. Michelle Hugue <meesh AT cs DOT umd DOT edu>