|
These thoughts were inspired by Ben Vandiver's thoughts on
the 6.001 course. My hope is that this document will help
future TAs in teaching this course. Ben's thoughts can be found
here.
Respect the students. They are the best of the best and
should be treated that way. If there is a misunderstanding,
then most often the problem lies in the explanation, not the
student.
Demonstrate your passion for the subject. This goes
extremely far and will be appreciated by the students. You can
have a pretty crappy day explanation-wise, but if you seem to be
having fun doing it, the students will live with that.
Optimally, your explanations should be as good as possible, but
you may be out of it once in a while.
For long and complicated examples, create a handout. This
saves lots of time and makes board management easier (especially
since the tutorial offices have tiny boards).
Demand perfection from day one, project zero/one. The harder
you are on your students on day one, the easier it will be to
grade later on when the projects get tricky. Be harsh,
especially when it comes to coding style (comments, test cases,
sloppy code, pretty printing, etc.).
When grading projects, scribble all over their code and make
comments where their mistakes are. Then, put the score on top
of the project in fractional form with the numerator being their
score and the denominator the point total of the project. Do
NOT write down what each mistake was worth. This way, the
student will take seriously each comment that you write down in
their code and remember it for future projects. Think of it
like grading term papers for a literature class. Of course,
keep a private rubric in case one of your students calls you
out.
If the students feel that you are grading too harshly, remind
them that the project scores from the TAs are shifted and
normalized at the end of the semester. I try to get a 25/30
average and rarely give perfect scores.
Solicit feedback sometime after the fifth week in the
semester, preferably when the course is somewhat slow. Ask for
constructive criticism regarding your tutorial style (what are
the good and bad things in your tutorial) and also how they are
feeling in the course (you might get feedback regarding the
recitation/head instructor or the course in general). I usually
say that my goal is to get everybody excited about course 6, so
if I am failing in way they should let me know. The
solicitation for feedback lets the students know that you care
about their wellbeing in the course and allows you to make
corrections DURING the semester, not AFTER the semester is over.
Always start tutorials on time and end on time (or early).
Anything covered after the session will not be learned and is
wasting your time (use any extra time to answer questions).
Abstraction violation rubber stamp...make the students fear
it!
After each tutorial, grade each student on a scale of 0 to
5. The students should be coming to tutorials prepared, so this
is a good way to keep the students on top. Also, it allows you
to cover more interesting examples that build on top of the
material.
In this vain, make the tutorials highly interactive. Since
there are only 4-6 students, each student should be called on at
least 8 times in a one hour session. Gauge your questions and
give the more challenging ones to the top students. Try to
treat your questions as a way of probing how much each student
knows.
Steal material from anywhere you can find it! A good source
is the textbook since it is not used much by the students. I
hear that the teaching supplement to the text is also excellent.
You should try to make at least one new problem for each
tutorial so that the students (and you) have something fresh to
think about. The best ones are based on everyday examples (such
as a fantasy football/NCAA hoops league) and on your research
(if that is possible). If you use a research example, make sure
that it is easy to understand and relevant. The students will
really appreciate these.
Be available. Respond to e-mail as soon as possible. Try to
set up regular office hours in the 6.001 lab. I do not hold
office hours in my office as I prefer keeping my teaching
and research somewhat separate.
Stay on top of the projects. The worst feeling is having a
student ask a question and you have no idea what is going on. A
good idea is to work on the projects before they are released
and help debug/clarify them.
I usually post reminders of all of the upcoming deadlines for
a given week on the chalkboard or on the tutorial handout. The
students appreciate this since there are so many components in
the course.
Unfortunately, cheating does occur at MIT. If you have a
case for cheating, immediately notify the head professor. Ask
how you should handle it. I tend to be harsher than others
regarding cheating because of my undergraduate background (you
are kicked out for any violation of the honor code).
A nice thing to do during the first tutorial is to
bring a digital camera in (if you have access to one)
and take pictures of the students in your tutorials
holding a sign with their name on it. It is a nice
icebreaker and will help in you learning their names. I
find that the class roster pictures are not very helpful
(some of the pictures are blue!). You will earn extra
brownie points if you study their names before the
second tutorial and actually remember them.
All comments are welcome. I will happily post
new thoughts/suggestions from other TAs. Please follow
the "Home" link below to find my current e-mail address.
Home |