TeachScheme, ReachJava

A silent revolution has changed the way computer science is understood and taught. The modern curriculum no longer focuses on the constructs of a language and the state changes in the machine. Instead, programming is taught as a problem-solving process that starts from a thorough understanding of classes of data and objects. The TeachScheme! Project has been at the vanguard of this revolution; the new series is its natural extension to cover a seamless transition to object-oriented design using Java.

Teaching is hard, and getting people to change how they teach is even harder. TeachScheme! (read Teach Scheme, NOT!)

wants to turn Computing and Programming into an indispensable part of the liberal arts curriculum.

There are truly world class folks involved in this effort whom I trust. Though I do not yet understand the depth of this project, I find it fascinating, and inspiring.

Why Computer Science Doesn’t Matter

Why Computer Science Doesn’t Matter is an essay about the lack of computer science in the educational curriculum today, and what can be done about it. They’ve come up with an interesting, and successful, approach.

[I want] to place computing where it belongs: in the hearts and minds of every single student.

Here here!

On Functional Programming in Education

Regarding my last post, you should definitely read all of the comments. It is pretty interesting to get everyone’s perspective on the topic (even if it is simply something to the effect of “Sounds like a great idea!”). Take, for example, Dan Friedman‘s comment:

Since I have been teaching functional programming in my undergraduate programming languages course since 1967, I am thrilled that at long last I might be teaching the sanctioned material.

Functional Programming in Education

On May 28-29, 2008 SIGPLan held a workshop on Programming Languages in the Curriculum at Harvard.

to discuss the role of Functional Programming in Education. The results of their efforts are here.
Please have a look, and, per Matthias’ comment, please consider posting your comments (under the “Programming Languages” section)!

Writing a Brainf*** compiler and interpreter

Brainf*** is a Turing complete programming language, known for its esoteric “minimalist nature”, that has gained quite a bit of popularity over the years.
While you most certainly wouldn’t want to write much code in this language, it might be fun to write a compiler for this language, and even an interpreter to test our your compiler!