Learning Journal
The process of teaching is also one of learning. This page is an
evolving journal where I keep track of the lessons learnt, ideas that
seem to work (at least for me), and articulate my philosophy on
teaching. Suggestions and comments are welcome. :-P
- Ben Leong
General
Belief that We Can Make a Difference. I believe that to be an
effective teacher, we first have to subscribe to the belief that we can actually
make a positive difference in the work that we do. If we don't believe in what
we do, how do we expect to be able to do it well? I used to believe that I make
a small difference as a teacher, and I still do, and the day I stop believing, I
will find myself a new job. :-)
Good Teaching Admin is Important. I believe that it is important to
ensure that the logistics and administration for a course is faultless. Labs
should be made available to students who don't have access to laptops;
appropriate software should be installed on all the lab machines; assignments
should be released on time and they should be checked and reviewed annually to
ensure that there are no weird issues. For programming assignments, changes do
happen because of the interpreter/software. I also believe that students should
have access to the lecture slides several days in advance (in case they want to
preview the material) and that solutions should be released for the assignments
in a timely manned. Finally, I believe that solutions should also be released
for all examinations, even the Final Exams - and this is something that I have
done since my second semester teaching at NUS. All in all, there is a
significant amount of administrative work that is completely separate from the
teaching of the content and some care and effort needs to be put into ensuring
that the attendant issues are dealt with. Good administration does not directly
improve the quality of teaching, but if the administration is lacklustre, we
will be inviting flak from the students. Also, it does not reflect well on our
professionalism.
Good Teaching Staff is Key. Some people may think that teaching is an
individual performance. Personally, I think differently. While it may be
possible for one person to teach relatively effectively, my view is that
teaching can be made much more effective if we have access to more manpower --
but it is not simply a matter of bodies. Not many people can teach and not many
people care about teaching. Having a good teaching staff can improve the
quality of teaching significantly because of many reasons: (i) students will
have access to more individualized attention; (ii) we have the resources to
review and update the teaching materials; and (iii) we can try new things (and
afford to fail). In general, I do attempt to recruit Tutors and Teaching
Assistants for the classes that I teach at least one semester in advance and I
care about not only smartness, but communication skills and passion. In summary,
a good teaching staff is a huge "force multiplier" for teaching effectiveness. I
have received relatively good feedback for my teaching in recent years and I
would like to acknowledge the sterling contributions of my former TAs and
tutors. Most of the credit should really go to them. :-)
Teaching Philosophy
Learning Should be Fun. I have found that the main problem that we
face today as teachers is that students actually don't care about learning. Many
students find themselves in university not so much because they are here to
learn, but because it's the "practical thing". Their parents tell them, society
tells them, God knows who tells them, "to get a good job is to get a degree".
With this backdrop, life is hard (for us teachers). Many students really aren't
in school to learn. Many are just going through motions; most want good grades -
but good grades do not guarantee that learning is happening either. So how? To
some extent, the answer is simple (and yet not so simple): the key challenge is
to convince students that they want to learn. The most straightforward thing is
to make learning fun - but talk is cheap. I really have no ready answers for how
to "make learning fun". It's just something we need to strive for - and it's
probably easier with some classes than others. I am fortunate in that I have
been teaching elective classes instead of core requirements since joining the
faculty. In elective classes, the students actually choose to take the class,
instead of being shafted there against their will. It makes the problem somewhat
easier I think. Of course, I have also had an experience where my elective was
one of two options, and my class was deemed the "lesser of two evils". There
too, I had a huge problem even persuading students to turn up for lectures.
Yeah, so teaching is tough. :-)
Learning How to Learn is Key, NOT Learning Content. A recent
survey concluded that half of workers in Singapore regret what they chose to
study back in school, polytechnic or university and anecdotal evidence indicates
that the majority of people DO NOT actually do what they were trained to do in
school after they graduate. In this light, I am of the opinion that it probably
doesn't matter what people learn in school as long as they learn something and
more importantly, learn how to learn independently. However,
it must also be said that we are obliged as a university to train our students
in their chosen profession well. While our CS undergraduates might not become
programmers, we should still ensure that we do our best in ensuring that they
learn how to program. Since I am one of the lecturers for the CS1101 series of
introductory programming modules, it is appropriate for me to highlight that the
teaching of the programming isn't about the programming. This is especially true
for me since I teach Scheme which is practically useless in the real world. The
whole point is to teach computational thinking, which trains
students how to look at problems, solve them and also manage complexity. But
back to how my personal teaching philosophy relates to this point about learning
to learn and not learning content. Basically, I don't try to make every student
who takes CS1101S with me elite programmers. There are those who are simply not
cut out to be programmer and/or don't want to program period. My goal is for
them is simply to help them appreciate what we do in programming and to
encourage them to learn. I have encouraged students to drop out of CS and to
pursue what they really care about - because the role of a teacher is not so to
train students to become something that we want, but to help students fulfill
the potentials and become who they want to be. It's not about us. It's about
them.
Learning by Doing. I teach Computer Science. In CS, we build cool
stuff that makes the world a better place. I am a strong proponent of "learning
by doing". I see little point in training students to answer examination
questions well. Exams do serve a purpose in the education system. The point is
that they are indispensible and they are but a tool to be used appropriately.
Some classes needs the exams, because they help. Other class don't - and for
them, I don't have that component. Overall, CS is trade and I believe that the
apprenticeship model works. I tell my students that I see myself
as Yoda and they as padawans - and to really learn CS, they need to "do
stuff". :-) I believe that there is a place for structured assignments in
the introductory classes, I believe that we should have more open-end
assignments at the higher levels. In CS3216, the Facebook class, the students
are allowed to do practically anything they want for their final projects.
Allowing the students to propose what they want to do also gives them more of an
incentive to do their projects and to do it well. The problem I feel with
structured assignments is that it limits the potential of the students when we
simply give them a set of specifications that they have to satisfy. Because an
assignment has to be calibrated for the median students, they will never
sufficiently stretch the stronger students.
Make Students Learn during Exams. The primary function of exams is to
allow us to assess whether our students have learnt what they learnt and also
how well they have learnt what they are supposed to have learnt. One of the
things that I have found is that exams can also be used to facilitate learning.
I experienced this first hand at MIT when I took the Advanced Networking class
with Prof Hari Balakrishnan (who is in my opinion a fantastic lecturer - and I
was really fortunate to have had the opportunity to serve as his TA for one
semester). It doesn't happen often and it's can quite uncanny to suddenly
realise after the exam that I learnt something we didn't know before we went to
the exam! To be more specific, we cannot really be teaching new material
exactly, but questions can be set in such a way that they can be answered by the
application of existing knowledge - yet, the process of answering those
questions illustrate certain principles. It is really quite difficult to set
such questions. I believe that I might have succeeded in some instances and I
will continue to do this as far as possible. To make this approach work, it is
also important to release the solutions for the exams with explanatory notes. I
always make it a point to do that. Do students actually bother to read? I'm
actually not entirely sure, but I am reasonable confident that at least some of
them will read and learn.
Teaching is Not a Popularity Contest. While it is important for us to
have a handle on our teaching feedback, I take consolation in the fact that we
really don't have to try to be popular. We just have to do our jobs. It turns
out that in the classes I teach I have a tendency to issue quite a lot of
homework to the students. If we have a competition for the lecturer who is most
sadistic about issuing homework, I think I have a good chance of winning! :-P
Perhaps this is a consequence of my own training at MIT. I tell my students
quite frankly the the workload I'm inflicting on them in CS1101S is probably no
more than 70% for the corresponding course at MIT. For the first offering of
CS3216, I must admit that I didn't have quite a good handle on the workload and
it was indeed somewhat excessive even by my own standards. If one will read the
only comments about the "excessive workload" in my teaching feedback, one might
conclude that my teaching ratings would be toast -- but it turns out be to on
the contrary. So we have somewhat of a contradiction - why do I get relatively
good ratings notwithstanding the complaints? My view: we just to do our jobs in
good faith. It turns out that while students like to complain and compare
workloads across their classes, they are not blind to the fact that I do not
inflict work on them because I'm sadistic. As long as we ensure that there is
teaching value in the homework that we set for the students and they actually do
learn something from doing it, it's actually fine -- even if there are the
inevitable complaints.
There is a moral hazard in the existing student feedback system. When
students complain, we are supposed to address those complaints - and if
students complain that there's too much work, it is quite easy to reduce the
workload in order to address those complaints. From the perspective of the
teaching staff, more homework actually means more work since there will be
more grading. So prima facie, the system has all the wrong incentives --
because reducing the workload to address the complaints might be the wrong
thing to do pedagogically. I am not suggesting at any point that we want to
load the students with more work. Too much work will also have adverse
consequences because if the students are too busy doing, they have a
tendency to end up going through motion to satisfy the requirements and not
really learning in the process. My suggestion is that the whole art of
setting homework assignments is an optimization problem and the quantity
that we want to optimize is learning value. We should set homework in such a
way as to help students learn appropriately and we shouldn't worry too much
about complaints as long as we are doing it in good faith. I
have come to terms with the fact that the students for CS1101S will complain
about the heavy workload, but the workload is not going to change because I
have taught the class enough times to know that the current workload is
somewhat optimal for maximizing learning value. The class has been taught
25+ years and the problem sets are really all quite brilliant and teach the
topics they are meant to teach so incredibly well that it would be
sacrilegious to drop them because of workload complaints.
New Stuff Every Semester. It is impossible to have a perfect
course and so even if we have taught a course multiple times, there is always
room for improvement. Every semester, I always try some new things. Sometimes
they work and sometimes they don't work so well. Of course once I figure out how
to teach a course reasonably well, the core part that works will be constant. We
don't change for the sake of changing - but I will always devote some of the
available teaching resources to try new things. If we find things that work, we
will incorporate them into the course; if we find that some things don't work,
we will document the lessons and try other things the next time round. When I
first taught CS1101S, I created a new picture language problem set, which
incorporated an optional contest for the students. When I first taught CS3243, I
introduced a new Tank Game final project, which culminated in a contest. It was
a lot of fun. More recently I am getting some of my Tutors to work out a new
stereogram generation problem set for CS1101S to replace my picture language
problem set! Maybe it's just me. I like change. :-P
Other Practical Pointers
Timely Feedback is Important. Every class is different. I believe that
it is important to have a good handle on how well the students are following the
lessons. One thing that I have done is to encourage students to post reflections
on the lessons in the IVLE Forum. I've found that this works very well for some
classes, i.e. CS1101S, but not quite so well for others. Nevertheless, I think
that this is something that is worth doing.
Next, I also conduct a survey after the midterm break in all my classes
to get a sense of how things are going and also to identify any problems.
While there is a course feedback at the end of every semester, it's much too
late by then. Having a survey in the middle of the semester is helpful
because we still have the opportunity to fix things if something is indeed
broken.
Listen to the Students - They have Good Ideas. Personally, I have
found that we should pay attention to what the students say because every
once in the while, they come up with good ideas. We are trying to help them
learn, but as lecturers our perspectives are often not the same. One success
story in this regard is the buddy mentorship scheme that we started for
CS1101S. This was suggested by one of the students after the midterm exam
last year. While the mentorship scheme doesn't work for every student, it
was found to be effective for the majority.
Another instance where I listened to the students and found it helpful
was in CS3216, where one student suggested that we organize a session where
the students would come together to pitch their ideas for the final projects
to each other. There were two main reasons to do so: (i) to recruit
like-minded members for their project teams; and (ii) to obtain feedback on
their ideas. This turned out to be a brilliant idea. As teachers, we really
don't have a monopoly on the good ideas.
Need to Engage Students. My view is that teaching is not a
very scalable activity and the reason is that to be effective, we have to
spend effort knowing the students as individuals. Every semester, I try to
know every single student by name by the midterm break. This is generally
doable for a class with around 50 students. If there are more than a hundred
students, it is hard. Another thing that I do is that I make the students
fill up a midterm survey and then spend time responding publicly to their
feedback. Students think differently from us and we are not expected to
agree with them. However, I think the students appreciate it if their
feedback is taken seriously and their concerns addressed.