CS Teaching Techniques notes
How to be an Outstanding GSI
No Matter what our attempts to inform, it is our ability to inspire
that will turn the tides.
-- Syracuse Cultural Workers
This is an online version of notes for a mini-lecture given in
EECS 301, a
course in Teaching Techniques given for CS graduate students taught by
This document can also be titled as Dan waxes
didactic for 45 minutes.
Background - who am I
Dan Garcia, 16-time TA (since '92), voted Outstanding Graduate Student Instructor my first and last time teaching. I work in Computer Graphics with a sub-field of scientific visualization of the cornea of the eye for the OPTICAL research project.
Why I knew I was destined to be a teacher
http://www.cs.berkeley.edu/~ddgarcia/teaching/firsttimeta.html for the full story, but the short of it was my first discussion section ever ran for two extra hours and at the ends the students didn't want to leave. This leads me to my first point:
Love what you do
If you're fortunate to have been given a GSI position in your field, make sure
you convey to the student the love for the material that you have. If you
are teaching a lower-level course or one not in your field, remind yourself
why you enjoy CS and generate internal self-enthusiasm for the material.
Handouts, handouts, handouts
Providing a handout summarizing every lecture you give is critical.
It takes time, but it also keeps you organized, and students will love
you for it. If you are lucky enough to be able to teach a course in
306 or 405 Soda (or another AV-equipped room), put the notes on the
web page and use the screen for online notes.
for a strong argument why I think handouts are a good idea.
Share the load
Rather than having your own section, share sections with the other TAs. You teach all the sections this week, they teach all the sections next week, etc. That way every student gets an exactly equal education and you work less, big wins for everyone! Also you get to give the same lecture several times in rapid succession which shows you how a lecture evolves and also helps you to perfect it.
Have students meet each other, develop a community
Have the first couple of assignments be done in pairs. Make them
switch partners for the first 3 or 4 assignemnts. You should also
take pictures of them and put it on the class homepage. Here's a good
example of a nice class homepage:
Maintain a class homepage
Try to achieve the ideal of a paperless class, except when you have to print discussion section handouts because you don't teach in an AV-equipped room.
TA more than one time, even if you aren't planning to go into academia
The second/third/etc. time teaching a course is much much easier than
the first, and you can see how your teaching techniques improve.
Maintain a teaching porfolio and regular self-evaluations
The GSI resource center has information and talks about this.
It puts everyone at ease. But don't use put-down humor that may insult and
alienate one or an entire group of students.
Public speaking is powerful dessicant!
Department of redundancy department
When teaching a section, "Tell them what you're going to tell them, tell them, and
then tell them what you told them".
Work at the self-paced center
You'll learn a lot of UNIX (teach yourself 9e - very useful!)
and see one-on-one teaching, which is a useful teaching experience if you
have never tutured someone to get a sense of what it's like.
Differences between teaching upper- and lower-division students
As you might have guessed, lower-division students require you to have more
patience, hold their hands more, but not be a snob. Especially early on when
they are learning lots of new systems for the first time. Even logging in
can cause lots of people trouble for the first time - be very explicit (almost
annoyingly so) when writing up instructions.
When you get confused at the board
Don't panic! Try to take a second to see if the situation is salvagable or
if you can figure it out. If not, make a point to tell the student that you'll
work on it in the meantime (then DO work on it after class) and post the
answer to the newsgroup/homepage/etc.
Handling majors / non-majors
A CS course can be an indimidating thing for a non-major. When possible,
try to find out who the non-majors are by asking Jay-Leno-esque
demography questions on the first day. (e.g. How many people here are
non-majors? What are you? (then show interest and validate what they say)
Encourage them to find projects (when there is flexibility) which cross
"Knows when students are having difficulty"...1 (out of 5)
Anonymous feedback cards help here.
- This course. Not every grad student at every institution gets to have an entire course devoted to being a better GSI!
You don't win the Diane S. McEntyre Award for sticking your finger in your ear.
- The Graduate Student Instructor Teaching and Resource Center (301 Sproul 9am-noon,1pm-4pm, (510) 642-4456, email@example.com) sends out a flyer every once in a while, called "Teaching Perspectives", which contains several excellent essays. The resource center also holds mini-lectures which are almost always worthwhile.
- Here are some good books on the topic
- Tools for Teaching by Barbara Gross Davis, assistant vice chancellor, educational development, at Berkeley!
- Becoming a Critically Reflective Teacher by Steven D. Brookfield
- Improving College Teaching by Maryellen Weimer
- Multiple Intelligences by Howard Gardner
- Teaching and the Case Method by C. Roland Christensen
- The Art and Craft of Teaching by Margaret Morganroth Gullette
- Teaching Tips by Wilbert McKeache
- Paulo Friere : A critical encounter by Peter McLaen
- What Good Teachers Say About Teaching (83 essays written by recipients of the Distinguished Teaching Award) available in 403 Sproul Hall
- Your own teachers. Take ideas from them. Keep a teaching notebook and whenever a good idea hits, jot it down!
My personal strengths
Enthusiasm, Love of the material, Interest in puzzles (following up on a question until it's solved), love of attention, secret desire to be a stand-up comedian.
My personal weaknesses
Enunciation, biting off more than I can chew (and sometimes not following up), Allowing myself to let teaching absorb every spare second of my time.
Pedagogical philosophy questions
- Do you single out students with questions during class?
- Do you teach to the low, middle or high end of the bell curve?
- Do you grade on a curve or on an absolute scale?
- What do you think about grades at all? Do you think rewarding students fosters grade mongering and undermines intrinsic motivation to learn? Or is a necessary construction to push them to learn and focus on what you've deemed important (measured by what is covered on exams)?
- Do you believe students should have knowledge of their grades (and rank) at all points during the semester? At what level of detail?
- What do you do with students whom you discover have cheated? Does the level of cheating (homework / project / test) matter, and if so, what do you do in each case?
- Have you ever felt burned out? Explain. How did you get yourself revitalized? How could someone avoid it in the first place?
- How do you strike a balance and not allow teaching to absorb every second of your free time? I.e. How do you manage your time (hours/week) and what do you delegate or just skip entirely:
- Answering student email
- Reading and answering the newsgroup
- Office Hours
- Quality of your preparation
- Quality of your online notes
- Quality of your handouts
- Quality of your homework (more / less re-use of old questions)
- Quality of your exams (more / less re-use of old questions)
- Attending TA discussion sections
- Group staff meetings
- Giving / grading mini-quizzes
- To which method of teaching do you subscribe vis-a-vis handouts?
- Teach directly out of the book, write almost nothing on the board / overhead transparency, have the students bring their books to class to follow along, no handouts.
- Teach from the book and/or personal notes, but write copious notes on the board / overhead transparency which students copy, no handouts.
- Teach from the book and/or personal notes, but write copious notes on the board / overhead transparency which students copy, handout an outline.
- Teach from the book and/or personal notes, but write copious notes on the board / overhead transparency which students copy, handout exactly what you've written on the board / overhead transparency.
- Teach from the book and/or personal notes, but write copious notes on the board / overhead transparency which students copy, handout exactly what you've written on the board / overhead transparency with much greater detail and examples you may have not covered.
- Teach from powerpoint-ish slides (or web notes), no handouts whatsoever, nothing online.
- Teach from powerpoint-ish slides (or web notes), no handouts because they're online.
- Teach from powerpoint-ish slides (or web notes), handouts are your slides / web page.
- Teach from powerpoint-ish slides (or web notes), handouts are the original, detailed notes you used to create your slides / page.
- If you were given twice the staff for the same amount of students, what would you do with them? (Said another way, What are you not doing in your class due to lack of time/resources that you would do in the ideal case?) E.g., Weekly quizzes, more lab staffing, etc.
- What are some examples of innovative technology (hardware / software) that have the potential of significantly improving the amount students learn in your couse? [Question thanks to Mike Clancy and CS302]
- What are 5 key elements to being a great teacher?
WWW Maven: Dan Garcia (firstname.lastname@example.org) Send me feedback