Hacker News new | ask | show | jobs
by TreesCanCode 5337 days ago
I think there is a world of difference in the "average total beginner" high school students taking a class to meet a district mandate, and the "average total beginner" self-motivated learners actually interested in computer science.
1 comments

My class is an honors elective, fulfills no state requirements, and there's a waiting list to get in. My kids are already pretty motivated.

You really, really have no idea how difficult precise logical thinking is for an average person.

What other languages have you used? Im starting to teach an intro cs course n highschool next semester and would love to hear some real experiences on this.

have you looked at: etoys scratch starlogo alice or scheme ?

I'm doing scratch with some middle school students (grade (6-8). Most of them got looping within a class or two. Hell, we had kids doing chase games in the first hour and a half of messing with it. Oe of the kids now is working on space invaders, and star ting to get where scratch falls down on maintainability and repeating onesself. and the royal pita it is when you can't type in things, and have to rely on shaky mouse movement.

At some point soon, I'm planning on moving to something where they can distribute what they're doing, either as JavaScript, or pygame, or something. I'm hoping to be able to literally translate a scratch program to the n+1 environment so that they can see the equivalence of the looping constructs and the event handlers and everything else.

I think JavaScript would be a great option here: you could have them show off what they've written online, the language makes drawing pretty pictures and the like relatively easy and JavaScript is simply a nice language overall.

I can't imagine anything that would have pleased me more than being able to show off my own web site when I was that age. Of course, making silly web sites for myself is how I got into programming in the first place, so I'm probably biased ;)

Right now, The plusses on javascript are:

* Runs everywhere. It's the BASIC of this age * It's not that bad. * They can do stuff their friends can see

I'd rather do python, since it's that much cleaner, less curly braces and semicolons and better loops. But, the results aren't as public, and it's a harder environment to set up. And given that I have to work with the school's IT, I think I'm going to be lucky that we can load chrome on the system.

So, clarity for teaching, or ubiquity. Still deciding.

The other high schools in my district do a more breadth-oriented first-year course using Scratch, Jeroo, Alice and Python, and that works pretty well for them.

I will say that Stacy Armstrong's "A+ Computer Science" curriculum is quite good and well worth the money.

I've taught Pascal and C++ before, and dabbled in Scheme, too. In my opinion, Scheme is lower-friction than Java, but precise logical thinking is hard in any language, and precise logical recursive thinking is even harder for the average student, which negates any syntax-related benefits.

My kids are very successful in Java, and so I'll stick with what's working until the College Board changes the language of the AP exam on me.