Coursera "Introduction to Systematic Program Design - Part 1" looks good.
https://class.coursera.org/programdesign-001/lecture/index

It uses http://www.programbydesign.org/ .

I feel that this is a much needed course - to complement basic memorization of a programming language rules (which is absolutely not sufficient for learning programming).

I'll look more into it, but I am posting now because the course (8 weeks) has already started (2 weeks ago).

There is an option to take this officially (with certificate upon successful completion) - $39.

ETA

The course uses Racket programming language (Lisp family) - a simple language specifically designed for learning programming.

Racket is a 'functional' language, as opposed to 'imperative' (or 'procedural') language. The most widely currently used languages (C++,...) are 'procedural'. It is good to be exposed to 'functional programming' too. https://en.wikipedia.org/wiki/Functional_programming .

Last edited by arlen1; 06/18/13 08:40 AM.