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 dynamics.
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 approach.
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>