Speaker: Rich Pattis
Carnegie Mellon University
Monday, February 5, 2007
11:00 am - 12:00 pm
EBU3b 1202
ABSTRACT
I would like to talk about how CS-1 was taught, is taught and should be taught, focusing
on CS-1 as an introduction to programming course. I will discuss whether CS-1 should be
a programming course, for majors and non-majors, and if so what kind of programming should
be taught-beyond language issues. My perspective is that of someone who has spent a long
time in the trenches, and who periodically tries to up and get a fresh view of the
changing terrain.
Rich offers this about himself on his website: "While developing a manuscript for a textbook
on the Ada programming language in the late 1980s, I wrote a chapter on EBNF and began
teaching it on the "first" day of my CS-1 class: primarily as a microcosm of programming,
but also as a practical tool for later describing the syntax of Ada. These 21 pages (less
than 1/4 the size of the original Karel book) discuss the sequence, choice, option,
repetition, and recursion control structures (along with "procedural" abstraction via named
EBNF rules). They explore various methods of proving that tokens satisfy descriptions, that
descriptions are equivalent (and how to simplify them), and the difference between syntax
and semantics. I have continued to use this approach until this day in my CS-1 classes.
BIO
Richard Pattis received his BS in Mathematics
from Carnegie Mellon and MS in Computer Science from Stanford, where he frequently as a graduate
student and wrote "Karel the Robot." He worked as a lecturer first at the University of
Washington and now is back at Carnegie Mellon, advising freshmen and teaching. In 2006 he
received the SIGCSE Award for Outstanding Contribution to Computer Science Education.