CodeRunner

CodeRunner is a Mac app that lets you:

Edit and run code in AppleScript, C, C++, Java, JavaScript (Node.js), Objective-C, Perl, PHP, Python, Ruby, Shell or any other language you might have installed on your system.

This could be really useful for programming teachers — one of the big headaches we always have in the first lesson was making sure things were set up properly. There was a time we tried teaching C++, and found out that the computers’ permission settings disallowed running of _any_ shell programs, so we sang songs and dreamed of correcting missing semi-colons. Ah, fun times.

Codecademy

Codecademy teaches JavaScript programming through the browser: follow instructions, type in code, move on to the next step. This is similar to the (slightly more amusing) [Rails for Zombies](http://railsforzombies.com/).

Browser-based code classes look promising for classroom teachers: there’s no need to install compilers or even text editors, making this environment much easier to set up in a lab. Students can also continue their work easily at home, with (some level of) instant feedback from the built-in help system.

The associated [Hacker News post](http://news.ycombinator.com/item?id=2901156) has some interesting suggestions, and the comments from non-programmers about the course’s difficulty can be quite enlightening to anyone trying to teach a programming course.

Learning programming: the deep end of the pool

Computer Science Prof Zack Kurmas writes about the challenge of teaching introductory programming:

> I believe that expecting a student to learn to program well enough to study Computer Science in a single 15-week course is almost as absurd as expecting a student with no instrumental musical experience to be ready to join the university orchestra after 15 weeks. There are, of course, musical prodigies that can handle this challenge. Likewise, there are many “natural born programmers” who learn how to program with very little apparent effort.

Kurmas makes some very good points: that almost every other college programme has some basis of preparation in a standard high school curriculum, hence creating a much steeper learning curve for CS; that CS education could be better modelled after a foreign language learning framework; and finally, that he might just not be very well-suited to teaching intro CS, as a “natural-born” programmer.

This post was linked from Steve Losh’s [response](http://stevelosh.com/blog/2011/05/on-learning-and-teaching/), which is also a good read for CS students and educators. Losh provides an interesting analogy about the difficulty of learning programming and dancing:

> The first plateau of programming is the syntax and the first plateau of dancing is footwork. The bad part about this is that dancing when you only know footwork or programming when you only know syntax isn’t much fun. You can’t do all of the most interesting things that make these skills so rewarding.

Escalating enrolment in Computer Science

Prof Eric Roberts on how the intro CS courses at Stanford have surpassed even pre-tech bubble numbers. He notes that the students coming in seem different this time round:

> The students who are now inflating the ranks of CS106A are, it seems, deciding to take a computer science course as a way of bolstering their credentials before they emerge into a weak economy. Most have majors in other areas but recognize, probably correctly, that having programming skills will likely increase their chances of gaining employment in their own field. A surprising number of those students, however, once they get into our introductory courses fall completely in love with the material and continue on to double the size of the downstream courses in the curriculum.

I didn’t take many CS courses back in the day, but I have great memories of being part of the CS106 course assistant team. After having planned and taught my own intro programming curricula, I’m now even more impressed by how effective CS106 was, with its engaging assignments, well-planned structure and overall strong pedagogy. I’m glad more students are giving this course, and computer science, a shot.

The courses are available [online](http://see.stanford.edu/see/courses.aspx) for free, if anyone’s curious.

End of term

Term ends in a week and a half. This Friday, I meet my classes for the last time for “reflection and review” (comically abbreviated as “R & R” on the timetable), and then I just need to go for some closing dinners, write some reports, supervise a camp, attend some meetings and hand things over to my unlucky successors… and then I’ll be done here.

Holy shit. That’s way too soon. I need to thwack a few more misbehaving students on the head with my large plastic file, or else I’ll leave here with a severe sense of underachievement. 

I’ll probably do some “R & R” of my own on my brief teaching stint here at some point (summary: I don’t think I could have had a better first posting), but for now, I need to find me some students to thwack.

Elite Education

The American Scholar – The Disadvantages of an Elite Education – By William Deresiewicz

So when students get to college, they hear a couple of speeches telling them to ask the big questions, and when they graduate, they hear a couple more speeches telling them to ask the big questions. And in between, they spend four years taking courses that train them to ask the little questions — specialized courses, taught by specialized professors, aimed at specialized students. […] We are slouching, even at elite schools, toward a glorified form of vocational training.

What does it mean to go to school at a place where you’re never alone? Well, one of them said, I do feel uncomfortable sitting in my room by myself. Even when I have to write a paper, I do it at a friend’s. That same day, as it happened, another student gave a presentation on Emerson’s essay on friendship. Emerson says, he reported, that one of the purposes of friendship is to equip you for solitude. As I was asking my students what they thought that meant, one of them interrupted to say, wait a second, why do you need solitude in the first place? What can you do by yourself that you can’t do with a friend?

Once Upon A School

Dave Eggers, TED Prize 2008 winner, on making a difference in the classroom. Very inspirational.

You can do and use the skills that you have. The schools need you. The teachers need you. Students and parents need you. They need your actual person. Your physical personhood and your open minds and open ears and boundless compassion. Sitting next to them, listening and nodding and asking questions for hours at a time. Some of these kids just don’t plain know how good they are. How smart and how much they have to say. You can tell them. You can shine that light on them one human interaction at a time.

I’m moving on to a new posting in January, and I have strong suspicions these next few months will be my final times as a professional teacher. Even so, I’m not quite sure I’m done teaching yet, so I’m just making a mental note here to revisit this video a year down the road.

Once Upon A School, Mr. Egger’s challenge for adults to support their local schools, is here.

YouTubed

Just got back from an interview at the mothership, and wondered if I should check what nonsense is associated with my name on Google. This one is new to me:

This and last week’s “demo lessons” in Changchun actually make me miss teaching Physics a little… I just had a lot more room for self-expression, instead of struggling to design a coherent lesson package.