Excellent summary of the realities of teaching a subject like mathematics or physics, with some tips on how to overcome the hurdles. Equally applies to CS.
A detailed discussion of issues around "time" in Java. I think this helps shows students the focus of computer science, as contrasted with programming.
Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Initially developed to serve as a software sketchbook and to teach fundamentals of computer programming within a visual context, Processing also has evolved into a tool for generating finished professional work. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.
» Free to download and open source
» Interactive programs using 2D, 3D or PDF output
» OpenGL integration for accelerated 3D
» For GNU/Linux, Mac OS X, and Windows
» Projects run online or as double-clickable applications
» Over 100 libraries extend the software into sound, video, computer vision, and more...
» Well documented, with many books available