HtDP Languages and Math

A comment by Matthais on the nature of the first three HtDP languages:

HtDP’s first three teaching languages are basically mathematics, ignoring the parentheses. We use
— arithmetic, for many different forms of data
— algebra, for (potentially conditional) function definitions
— pre-calculus, for induction and recursion (these things converge, like series)

A Visual Interpreter for Students Learning Scheme

Students who know procedural and object-oriented languages frequently have difficulty learning the functional paradigm. The purpose of this work is to facilitate this transition by designing and implementing a set of visual tools that help students understand how Scheme, a functional language, programs work. To achieve our goals we worked on the implementation of a Scheme interpreter and a set of visual tools for different key aspects of functional programming languages. Pilo Visualization Tools for Scheme (PVTS) emphasizes on the functional programming language paradigm and its visual representations. PVTS can be used by teachers as a teaching tool as well as by students as a learning tool.

A Prodigious Error Message

For my BarCampMadison2 presentation this year, I prepared a DVD “gift bag” with a lot of material on Functional Programming (FP) and specific FP languages like Scheme and Haskell, and also included DrScheme binaries for Mac and Windows and source for UNIX.
Yesterday I received an email from one of the attendees. He was copying the contents of the DVD to a directory on his UNIX system. In the course of doing so, he got an error message. If you are even superficially familiar with Monads and Haskell (as I am), you will surely find this error message prodigious!

/mnt/cdrom$ cp -R library ~/lisp-library
cp: cannot access `library/Haskell/Monads': Input/output error

How to Design Worlds

Via PLT:

As some of you know, we have been working on a new way of writing interactive applications, such as games, using just pure functional programming. We call this the World style, and it is embodied in the world.ss Teachpack included in the DrScheme distribution.
In response to demand, we are creating extended materials on this style of programming:
http://world.cs.brown.edu/

Addendum: 26 October 2008
Some folks might find HTDW a little more interesting in that it is purely functional programming.

Teaching Programming Languages in a Post-Linnaean Age

Programming language “paradigms” are a moribund and tedious legacy of a bygone age. Modern language designers pay them no respect, so why do our courses slavishly adhere to them? This paper argues that we should abandon this method of teaching languages, offers an alternative, reconciles an important split in programming language education, and describes a textbook that explores these matters.

This is a nice paper explaining the author’s rationale for his approach.
(via PLT)