The First Year in Computer Science
Monday, June 2, 2008, 4:40 p.m. to 6:00 p.m.
Location: Hoffman Hall Rm 109
My team and I have developed an alternative approach to the first-year courses on programming and computing. Unlike conventional approaches, ours focuses on designing programs in a systematic manner. The syntax of the chosen programming languages (both Java and Scheme) is only discussed as needed to support design principles. Field tests with over 500 high schools and a dozen colleges have shown that the approach produces better students than conventional approaches that use a single language. In several controlled studies, we could also show that students find our curriculum more appealing than the AP curriculum.
In my talk, I will provide an overview of the project, especially its intellectual premises and principles. My goal is to encourage you to think about the first year in a different way. The old ones are of questionable value. If we want our beautiful discipline to survive, we must find a good way of teaching it.
Matthias Felleisen is a Professor in the College of Computer science at Northeastern University. The primary goal of his research is to discover how to design programs, components, and programming systems and to write this down in a manner that is accessible to undergraduate students:
How to Design Programs is the first book in this series. It covers the systematic design of individual stand-alone programs, mostly in the spirit of functions that consume inputs and produce outputs. These functions are either launched via a batch process, as scripts in reaction to events, or as callbacks to GUI events. The book appeared with MIT Press in 2001; the full text is available gratis on the Internet.
At Northeastern University, co-op employers find that second and third year undergraduates are much stronger technically than MS students after one year. As a consequnec, the college has asked Felleisen to adapt the first year curriculum into a "boot camp" course for MS students.