How do you pronounce your name, Dr. Nievergelt? (Neevergelt)
– Let me see if I understand your teaching approach. You develop
passive systems that students can explore in order to learn
important computer science concepts like finite state automata and
synchronization. Your role as a teacher, then, is to create and
update these tools, come up with exercises that draw out ideas,
guide students’ discussion of solutions, and help them synthesize
general principles. Did I miss anything?
Lecture also an animation device.
– How did you get started with this approach? It seems very different
from the way most teachers teach computer science – that is, a
lecture on general principles and then assigned problems from the
book to practice application.
Very positive feedback. Examples have a clear connection to
applications. For finite state machines, control of traffic lights,
how would you synchronize the traffic lights… automatically, if you
do it systematically, you start by specifying the total state space.
What are the states of these many lights that can occur. Make the map
of the state space, and this is a state that you don’t want to get
into, so that state has to be outside, and you begin to relate the
states to each other. So a static specification of all the possible
states that a system can be in is the first stem, and only later the
Not faithful reflection. Simplify, simplify, and then hope that the
simplified version still shows some aspects.
– I collect exercises for my students, but sometimes I have a hard
time thinking up ideas and examples. When I talk to other students,
it seems that most teachers use passive lectures. What do you do to
think of these things?
Dream up examples for exams. Sometimes run into them in books or if
you hear them. Collection of transparencies. Systematically collect
them. Just collect them on transparencies. Select them as appropriate.
Lots of work.
– What other alternative approaches are used by teachers at schools
you’ve been to?
Not noticed much because is personal style. (Also, doesn’t seem to
have swapped exercises with others…)
– How long have you been teaching? Any advice for someone starting out?
Suggests getting MS first.
Thank you very much for your time. I’ve learned about another way to
approach computer science education research – developing systems to
support student learning by making an environment they can explore. I
firmly believe tat concrete examples help students learn, and I hope
to collect many examples and exercises for the introductory courses –
to help students learn principles and to challenge them to do well. I
agree that too much emphasis has been placed on applications, and I’d
like to help train college and high school teachers to teach computing
concepts, not just how to use applications. I don’t know much about
computational science, but I know that Dr. Rodrigo and Dr. Dayrit are
working on that. Again, thank you very much for your time. =)
Intimidation factor is well known. No general recommendation, every
teacher has to deal with that. Darwinistic approach. No entrance exam.
They have an attrition rate of 40% at ETH. Can take an elitist
Concrete, specific examples. UNderstand the intuitive examples first
and then find the general principles. Algorithms and data structures
but with examples. Like things that are intellectually challenging.
Two-finger typist! <impish grin>