Below you will find some candid remarks on the courses I have taught in the past few years. You can read more about my teaching philosophy and methodology in my Teaching Statement.

Teaching at Cornell University

This Fall, I am teaching Math 213 and Math 231. Here are the standard blurbs from the course catalog. Stay tuned for more information and comments.

Math 213 - Calculus III

Designed for students who wish to master the basic techniques of multivariable calculus, but whose major will not require a substantial amount of mathematics. Topics include vectors and vector-valued functions; multivariable and vector calculus including multiple and line integrals; first- and second-order differential equations with applications; systems of differential equations; and elementary partial differential equations. The course may emphasize different topics in the syllabus in different semesters.

Math 231 - Linear Algebra with Applications

Introduction to linear algebra for students who wish to focus on the practical applications of the subject. A wide range of applications are discussed and computer software may be used. The main topics are systems of linear equations, matrices, determinants, vector spaces, orthogonality, and eigenvalues. Typical applications are population models, input/output models, least squares, and difference equations.

Teaching at Dartmouth College

As a graduate student at Dartmouth College, I had the opportunity to teach four courses:

Math 3
Introduction to Calculus (Fall 2006)
Math 14
Honors Multivariate Calculus (Winter 2006)
Math 87
Model Theory of Linear Orderings (Fall 2006)
Math 109
Graduate Computability Theory (Spring 2005)

Here are my thoughts and comments on these courses.

Math 3 - Introduction to Calculus

This was an introductory course on calculus. The syllabus and other course information can be found here.

In order to maintain small class sizes, the course was divided into 8 sections for the first time that year. This was my first time teaching with so many colleagues. All instructors were graduate students and the course supervisor was very hands off. There was no natural decision hierarchy; all decisions were made by committee. Such a situation can often lead to disaster, but we were all well behaved and managed to avoid serious problems. Overall, I had a pleasant experience with this course. I learned a great deal.

Before the course started, an order came from above that all sections of the course should be in lock step. So there was little room for experiments. I was still able to implement small original ideas that I probably wouldn't have considered under different circumstances. Since I couldn't touch the course content, I focused on student interaction.

There is very little mathematics in today's popular culture; there is very little popular culture in mathematics. I haven't figured out what to do about the former, but I managed to do introduce a little more popular culture in Math 3. Every other Friday, after the weekly quiz, I would ask students to volunteer to read short skits. These skits were loosely based on popular movies or television shows and included topics covered in the previous classes.

The Playtime! skits were very popular with students and the effect on class participation was very noticeable. Sadly, I had a lot of things on my plate that quarter and I had to cut out Playtime! before the end of the course. I apologized to my students and they were very understanding. I tried to get them to write skits, but they had a lot on their plates too...

Math 87 - Model Theory of Linear Orderings

This was an independent project on the model theory of linear orderings designed for Tom Kern, a very talented Dartmouth undergraduate student. One of the goals of the course was to investigate the number of distinguishable linear orderings under Ehrenfeucht-Fraïssé games of fixed finite length. We are currently writing our findings for publication.

Math 14 - Honors Multivariable Calculus

This was a honors course in vector calculus. The syllabus and other course information can be found here.

With only four students, this was the smallest class I ever taught. The basic model for each class was the following:

  1. A question period where students could ask questions about the assigned reading.
  2. A short introduction to the upcoming topics and how they relate to previous ones.
  3. A group problem session where each student participates in solving highly challenging problems.

Sometimes, we deviated from this plan to cover extra topics. I used some class periods to give sneak previews of topics in higher mathematics such as basic homotopy, knot theory, and DeRham cohomology!

Since the students were very talented, we spent most of our time solving problems. To encourage the students to work together and develop their problem solving skills, I designed four roles for each student to play:

Planner:
Outline a plan of attack
Worker:
Carry out the plan
Cynic:
Determine whether the plan was successful
Reporter:
Formalize and summarize the solution

The students would rotate the roles from class to class. Although not perfect, this model was very successful as each student showed improvement in their problem solving skills at the end of the course.

Math 109 - Graduate Computability Theory

This was a beginning graduate course on computability theory. It is unusual for a graduate student to teach a graduate course. I was initially assigned to teach Math 29, an undergraduate course on computability theory. There was great interest among graduate students for a course in computability theory, but the undergraduate enrollment for Math 29 was extremely low. Math 29 was cancelled and I was assigned to teach Math 109 instead!

The first part of the course dealt with basic computability theory. Instead of the traditional approach via Turing machines or recursive functions, I used the structure HF of hereditarily finite sets as the background for the theory. Computable and computably enumerable sets were then introduced via the Lévy hierarchy as Δ1- and Σ1-definable sets.

The second part of the course dealt with more advanced theory: the priority method and the structure of Turing degrees. For this part, I used Soare's textbook as a basic reference. (Which means I had to move away from HF somewhat to conform with Soare's approach.) I emphasized the connection with forcing as much as possible using ideas from Lerman's monograph.

One of the key advantages of using HF is that coding becomes much more intuitive. Indeed, the usual (set-theoretic) ordered pairs, finite sequences, finite ordinals are all natural objects in HF so there is no need for special coding devices. This approach also leads directly into admissible sets à la Barwise. However, the dynamic aspects of computability theory (which are key to understanding priority constructions) are much less apparent with this approach.