Live data from Hacker News

Khan Academy: Computer Science

khanacademy.org

171–180 of 188 posts

Re: Khan Academy: Computer Science

#171
post #85

Earlier quoted context omitted.

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 ?

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.

Re: Khan Academy: Computer Science

#172
post #69

High school CS teacher here. I really hate taking shots at Khan Academy, because I love what they do and his other videos have really helped a lot of my students in chemistry, economics, etc. However, he's moving through the material MUCH more quickly than I've ever been able to do as a teacher. And I get nearly 5 hours a week of face time with my students. For example, his third lecture is on for loops. My students,…

You seem to imply the speed at which the Kahn Academy teaches loops is a bad thing? I'm catching that vibe from your post. What if the Kahn Academy is teaching the concept in a more clear, concise way than you are? Maybe Java isn't the best language to teach these concepts? Maybe your lessons could be more effective? I don't know what your particular situation is, but I encourage you to play around with your lessons…

It's unlikely that Khan Academy's curriculum is better than mine. My curriculum has been relentlessly pivoted and iterated based on feedback from over a thousand real students for the past fifteen years.

I've taught literally one thousand teenagers to program, face to face. I'd be shocked if Salman Khan had taught even a couple dozen students face to face.

Edit: I accidentally submitted this too early, and then replied instead of editing. See my reply for the rest of this thought.

Re: Khan Academy: Computer Science

#173
post #130

Earlier quoted context omitted.

I think I'm going to steal this for my Python classes. I usually say "is" or "is now", but "gets" I think is a more adroit phrasing. Cheers.

Personally I prefer "becomes". "David Gries recalled a time when he was lecturing with Dijkstra in the audience when he read "x=a" as "x equals a". This is of course a short hand for "assign a to x" and not a statement that x really is logically equal to a. From the back of the room Dijkstra shouted "becomes" and the room fell silent. Gries thought about it for a moment and said, "Thank you Edsger, for correcting me.…

I also say "becomes".

Re: Khan Academy: Computer Science

#174
post #172

Earlier quoted context omitted.

You seem to imply the speed at which the Kahn Academy teaches loops is a bad thing? I'm catching that vibe from your post. What if the Kahn Academy is teaching the concept in a more clear, concise way than you are? Maybe Java isn't the best language to teach these concepts? Maybe your lessons could be more effective? I don't know what your particular situation is, but I encourage you to play around with your lessons…

It's unlikely that Khan Academy's curriculum is better than mine. My curriculum has been relentlessly pivoted and iterated based on feedback from over a thousand real students for the past fifteen years. I've taught literally one thousand teenagers to program, face to face. I'd be shocked if Salman Khan had taught even a couple dozen students face to face. Edit: I accidentally submitted this too early, and then repli…

So what I'm suggesting is: take 200 students, and have 100 go through Khan's material, and 100 go through mine. Khan's kids would finish faster.

Then, have all 200 kids attempt to code FizzBuzz on their own, with no assistance. I think probably 60-70% of my students could get it working. I suspect less than 20% of Khan's would have understood/retained enough to get it done.

You are in the 20%, so it's hard for you to see the difference. Salman Khan is in the 1%, and he hasn't been in the trenches long enough to see the difference.

That's what I'm saying.

Re: Khan Academy: Computer Science

#175

Earlier quoted context omitted.

You seem to imply the speed at which the Kahn Academy teaches loops is a bad thing? I'm catching that vibe from your post. What if the Kahn Academy is teaching the concept in a more clear, concise way than you are? Maybe Java isn't the best language to teach these concepts? Maybe your lessons could be more effective? I don't know what your particular situation is, but I encourage you to play around with your lessons…

He does say that java isn't his language of choice, but it's one he has to stick with. But if you've got a CS course as introductory to programming than his assignments go a long way to learning stuff. Bear in mind that this is not a class designed for elementary or high-school students, but for college, for people that really want to learn how to program, and how everything works.

My class is a high-school course. Not sure if you're suggesting that Khan Academy's material is pitched at college students, but I don't think that's true.

Re: Khan Academy: Computer Science

#176

Earlier quoted context omitted.

The point is that if you pronounce if(x=5) and if(x==5) both as "if x equals 5", then you are making things confusing for students. You as the teacher are saying the exact same words, but mean two completely different things. Kahn made this mistake and there are student comments showing the confusion. Not correctly understanding assignment is one of the biggest failure points for beginners learning programming. The '…

I note that the biggest mistake probably comes from C itself. If only it had chosen for assignment a syntax such as : x It would be more clear that "the shit on the right" goes to that garbage on the left. But no, they had to use the `=` sign, as if saving one character where more important than not changing the meaning of one of the most used sign of all mathematics. And now nearly all popular language is making the…

The only thing I liked about PL/SQL back in the day was its use of := for assignment and = for equivalence.

Re: Khan Academy: Computer Science

#177

Earlier quoted context omitted.

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 mo…

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 progra…

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.

Re: Khan Academy: Computer Science

#178

Earlier quoted context omitted.

Self-taught-programmer here. I've done a lot of pondering about how to teach programming because I tried to learn several times myself, both on my own and in classes. I bounced off each time, until finally sticking. I always wonder what made it different that last time, and if it applies to others. === Have you considered starting with something with less conceptual overhead than java-in-a-shell? There's so much you…

I think the online classes with ready-to-go coding insie the browser are something to be really excited about. They lower the barrier into programming by so many levels...

I agree. I LOVE the python-in-javascript REPLs, but so far NONE of them have console i/o. (Python's raw_input command isn't implemented, for example.) And that makes these a non-starter for my courses unless I completely rewrite all my assignments. And that's a HUGE time investment for an uncertain payoff.

Re: Khan Academy: Computer Science

#179
post #91

Earlier quoted context omitted.

Good point. That's why I am big fan of teaching "Computational Thinking" before any specific programming language. Personally used Scratch (from MIT) to teach my nephews and niece. It worked well to cement their core concepts. http://scratch.mit.edu/ http://info.scratch.mit.edu/sites/infoscratch.media.mit.edu/...

Do you know of a basic introductory course using Scratch so I don't have to ad-hoc it so much? We're supposed to be building a game but I need something, like KhanAcademy, that I can give my primary-aged son space to explore by himself without me hovering over him.

I'm pretty much winging it with the Middle Schoolers. Normally I throw a quick demo up on the big screen, talk about it for a couple of minutes pointing out what it does that they were struggling with in the last class.

Then they work on doing something interesting while I answer questions and ask "What happens if...".

Re: Khan Academy: Computer Science

#180

Earlier quoted context omitted.

Do you know of a basic introductory course using Scratch so I don't have to ad-hoc it so much? We're supposed to be building a game but I need something, like KhanAcademy, that I can give my primary-aged son space to explore by himself without me hovering over him.

I'm pretty much winging it with the Middle Schoolers. Normally I throw a quick demo up on the big screen, talk about it for a couple of minutes pointing out what it does that they were struggling with in the last class. Then they work on doing something interesting while I answer questions and ask "What happens if...".

In case you are interested, there is a curriculum that ScratchEd team has developed. http://scratched.media.mit.edu/resources/scratch-curriculum-... Personally, I also "wing it". I encourage them to come up with ideas for games, animations that implicitly requires them to cover all aspects of "computational thinking". It's implicitly because I don't want them to think of this as too academic; let them have fun while learning (for a change!)
Post reply on HN