Vim adventures

An interactive web game to help you become familiar with Vim commands. Very nicely done!

I found it a little frustrating to get through because I know the basics, but the player is made to “unlock” commands such as w and b. Worse, the first “maze” you navigate with hjkl encourages you to mash those buttons (can’t put a number in front to repeat commands). That said, though, very fun and great production values. “YIPPEE”, as they say.

C’est la Z: Anyone can cook

Mike Zamansky on the recent spate of online programming education offerings, specifically the more “vocational” ones such as Codecademy:

‘The premise seems to be that anyone can code and that everyone should code. I’ve been thinking about this for a while and I keep coming back to the question, “what’s the endgame?”‘

This post articulates the fear I’ve been having about trying to make programming more accessible to everyone: to what end? For users, is there any value in this knowledge? (Conversely, though, what’s the value in learning basic science and humanities for “users”, i.e. people existing in the physical world and society?)

Drawings with Paper

Quite pleased with the app–much lighter than ArtStudio, with 1/5 as many tools and no layers, which means less time pondering _how to draw_ and more time _actually drawing_. I’m posting them to my [Tumblr](http://yjsoon.tumblr.com) account regularly, but I’ll bring show some over here every now and then:

Drawing

Drawing

Drawing

An argument for teaching Computer Science over basic Math

An interesting argument: that calculating devices are now ubiquitous, and math should focus on computational problem-solving instead of drilling and memorisation. An example the author cites:

Computer languages allow students to transform ideas into action. Here is a simple rule that a math teacher might describe to her students:
If the number is greater than 9, carry the 10’s place; otherwise add the number to the bottom row.

The solution for this can be expressed as an if/else statement:

if number > 9:
carry += number / 10
else:
bottom += number

There are, as expected, plenty of opposing views in the comments, but it’s good food for thought. Also noteworthy: the comments aren’t completely stupid. Not-completely-stupid comments! On the Internet! WHAT IS THIS WORLD WE’RE LIVING IN

Nobody Wants to Learn How to Program

From the blog behind the “Invent Your Own Computer Games with Python” book:

“[For] the casually interested or schoolchildren with several activities competing for their attention, programming concepts like variables and loops and data types aren’t interesting in themselves. They don’t want to learn how to program just for the sake of programming. They don’t want to learn about algorithm complexity or implicit casting. They want to make Super Mario or Twitter or Angry Birds.”

We’ve actually found that our students are usually quite happy to spend lots of time making silly console-output programs, like printing a pyramid of asterisks. However, the intro programming courses we’ve conducted have been for a fairly self-selected bunch.

The book is available [online](http://inventwithpython.com/chapters/) for free, and it certainly looks like a great instructional resource.