Teaching Portfolio

Teaching Portfolio
Sample Materials
SAMPLE SYLLABUS
Syllabus for CS 1109: Fundamental Programming Concepts: [pdf]
This is an annotated version of the syllabus that I designed and used for an introductory course on programming using Matlab that I taught at Cornell University in summer 2011. The class was composed of 31 pre-freshmen and high school students, most of whom had no prior experience with programming. The annotations describe the rationale behind the course design decisions and include my post-term reflections on the various aspects of the course.
SAMPLE LECTURES
Relational & Logical Operators: [pdf]
This is the lesson plan for my second lecture in CS 1109: Fundamental Programming Concepts from summer 2011. As was the case for the vast majority of lectures in this class, I used a blackboard as my presentation aid. I find that I enjoy using a blackboard since it forces me to slow down when I teach. While PowerPoint certainly has its place in the classroom, I find that not being chained to a set of slides allows me to be more fluid and dynamic in my presentation of material. This lecture also showcases how I incorporate active learning methods into my lessons.
These are the slides that formed the basis of my last class in a 3-module course on Game Theory that I taught at Spencer-Van Etten Middle School in Spencer, NY in May 2011. In the two class sessions prior to this meeting, we had explored topics such as the Minimax algorithm, Nash Equilibria, the Tragedy of the Commons, and the Iterated Prisoner’s Dilemma game. In this class, we explored games that are stochastic using the motivating example of the k-armed bandit problem: suppose you are in Vegas and want to play a set of slot machines, what is a good policy to decide what machine to play next based on the payoff history? Having three students role-play as slot machines (each was given a loaded deck of cards which they used to decide whether to pay out or not), while the rest of the class played the gambler, made this a tangible and engaging lesson for the students. By the end of the class, the students had gained an appreciation for the fundamental tension between exploration and exploitation in non-deterministic decision making tasks.
SAMPLE HOMEWORK ASSIGNMENTS
Creating an Image Editor: [pdf]
This is the final assignment that I created for CS 211: Object Oriented Programming and Data Structures in summer 2007. It required students to synthesize all of the major themes from the course to implement the “guts” of a basic image editor, including elements of the GUI and some basic filtering. In keeping with my philosophy of assigning students authentic tasks, another component of the project required students to implement an image segmentation algorithm from a well-known paper. Students were also encouraged to implement additional features for extra-credit - among the final submissions, we had students who had created edge-detection filters and mechanisms to preview the effects of a filter.
Cracking Substitution Ciphers: [pdf]
This is an assignment that I created for CS 1109: Fundamental Programming Concepts in summer 2011. Here, students were given an essay encrypted using a simple substitution cipher and were asked to write a program that would carry out frequency analysis to deduce the identities of the most commonly occurring symbols in the ciphertext. Over a third of the class opted to take on the bonus challenge of deciphering the entire text, revealing it to be George Orwell’s ‘Shooting an Elephant’.
SAMPLE LAB
Introduction to Arrays in Matlab: [pdf]
This is a lab activity that I designed for CS 1109: Fundamental Programming Concepts in summer 2011. This was the students‘ first exposure to the idea of an array and I felt that it would be easier for them to learn about the concept at their own pace in a hands-on manner, as opposed to in a lecture session. This approach worked well, for most students showed a strong understanding of this material in subsequent class meetings and in other assessments.
![]() |
![]() |
![]() |