Two insights on teaching computer programming

Matthias Felleisen matthias at
Mon Jan 2 17:11:43 EST 2006

On Jan 2, 2006, at 4:54 AM, Peter Van Roy wrote:

> Henderson Peter wrote:
> BTW, I have the feeling that we don't disagree so much on the core.

I have pointed out several commonalities before :-) .

> After teaching programming in the second and third years for some time
> now, I am now starting to get interested in the first year course.  I 
> realized
> very early on that the first year is quite different from the second 
> year.

Brutally different. Until you stand in the classroom you won't know

> Andres Becerra and I are looking carefully at the first year.  Your 
> work on
> the first year is one of the most thorough that has been done.  But 
> some of
> our basic principles are different,

I'll wait for this but I am extremely interested. Keep in mind that we
spent 8 years exploring and rewriting: from 1992 to 2000. In addition to
spending many days hanging out in Rice's lab, I also visited local high
school teachers, watching them teach C++ and Scheme (and even Java).

The supportive software -- it is NOT enough to choose a subset; it is
critical to support it! -- was revised MANY times.

The book was rewritten twice. I threw away three times as many pages
as I published.

We tested the package at five colleges and close to 100 high schools.

In short, we didn't sit down, fix some principles, and finish it up
in a couple of years. How to Design Programs (HtDP) is eight years of
experience and experimentation. And HtDCH isn't far behind in that.

> so maybe we will come up with a somewhat different first year course.

Just keep in mind that we went thru a lot and discarded a lot --
for good reason. Otherwise I will wait and see.

Well, I will express my personal opinion:

1. The principles in HtDP scale extremely well, both to pure OOP,
to large-scale programming (my junior course), and to Principles of
PL programming (my first-year PhD course).

2. I would love to see a paradigm course, perhaps such as yours,
in addition to a non-monoculturalist Java/Eclipse first year. Shriam
is working on something similar, PLAI, and his course book is on line:

> A Happy New Year to you and all the people on the math-thinking list.

Happy New Year to you and everyone else who had the patience to
dig thru a scientific public dialog.

-- Matthias

More information about the Math-thinking-l mailing list