Live data from Hacker News

Khan Academy: Computer Science

khanacademy.org

131–140 of 188 posts

Re: Khan Academy: Computer Science

#132
post #75

Earlier quoted context omitted.

JS doesn't sound like a wise choice to me.

It has a very low barrier to entry, and it's not a bad first language. Also, while this has nothing to do with JavaScript per se , I'm reluctant to bet against John Resig.

Come on, it's the Basic of this decade.

Re: Khan Academy: Computer Science

#133
post #86

Earlier quoted context omitted.

My students, on the other hand, complete literally 80 assignments before beginning for loops. 80 assignments? What are these assignments? Are you teaching them how to use recursion before looping in Java? I get that Java has some ceremony, but not 70 assignments worth. The first day I learned to program (with BASIC) I learned looping. I didn't know the details of it (like there was an index variable I could access),…

SICP doesn't introduce assignment until two hundred pages in.

And, if I remember correctly, it never introduces loops.

On the other hand, you learn about laziness, higher-order functions, deterministic and logic programming and how to implement the aforementioned, on top of a bunch of stuff you would learn in a Java class like recursion, OOP and networking. All this in the first four chapters; the fifth one introduces a low-level register based language but my class never got to it :( It is pretty cool.

Ultimately, SICP just has drastically different (and I think better) priorities and topics than any course taught in Java or Python. I also suspect that a good SICP course moves even faster than the material here, simply because of the sheer density of big ideas in the book and the simplicity of Scheme.

Re: Khan Academy: Computer Science

#134
post #109
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,…

I’ve been programming professionally for over ten years, and when I have to look at Java code that other professionals have written, I am constantly irritated by how the actual point of the code is buried in… mquader’s “OO ceremony” label elsethread is an apt phrase, although “Java ceremony” might be more fair. It wouldn’t surprise me at all if high-school students learning Java as their first language got confused m…

I think that just starting out with the assumption that OOP is the "one true way"--AP CS really comes across that way--is flawed. A languages like Scheme would be a much better choice for an intro CS class.

Re: Khan Academy: Computer Science

#135

Earlier quoted context omitted.

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 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 programming in the first place, so I'm probably biased ;)

Re: Khan Academy: Computer Science

#136
post #77
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,…

I guess that I taught myself programming from a book makes me a kind of super genius? Or maybe frontal teaching simply is not the right way to teach programming?

I taught myself programming from outdated JavaScript tutorials. What does that make me? (Probably a little crazy.)

Re: Khan Academy: Computer Science

#137

Interesting that he uses Python to teach the examples. Python is what I learned first. Does anyone have an opinion on whether Ruby or another language is better suited for teaching basic programming concepts?

I think Scheme is a much better option than Python for complete beginners, in the context of a class.

However, if I was just hacking around on my own, I'd probably go with JavaScript just because of how easy it is to make something cool and show it off.

Re: Khan Academy: Computer Science

#138
post #109
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,…

I’ve been programming professionally for over ten years, and when I have to look at Java code that other professionals have written, I am constantly irritated by how the actual point of the code is buried in… mquader’s “OO ceremony” label elsethread is an apt phrase, although “Java ceremony” might be more fair. It wouldn’t surprise me at all if high-school students learning Java as their first language got confused m…

>>... Python (which was, after all, originally designed as a language for teaching OO concepts).

This isn't quite right. The teaching language was ABC, a different project that Guido worked on. Python was his own language, created for the Amoeba project (an OS research project), inspired and influenced by, but not the same as, ABC, which was not object oriented. Guido says that the purpose of python for the Amoeba project was to: "bridge the gap between C and the shell"

http://en.wikipedia.org/wiki/ABC_%28programming_language%29

http://python-history.blogspot.com/2009/01/personal-history-...

However, if you have additional information, I'd love to hear about it. I've heard the "Python was originally a teaching language" several times, but as far as I can tell, that's not actually true.

Re: Khan Academy: Computer Science

#139
post #109
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,…

I’ve been programming professionally for over ten years, and when I have to look at Java code that other professionals have written, I am constantly irritated by how the actual point of the code is buried in… mquader’s “OO ceremony” label elsethread is an apt phrase, although “Java ceremony” might be more fair. It wouldn’t surprise me at all if high-school students learning Java as their first language got confused m…

You actually write very little code for AP Computer Science. If I recall correctly, the test tries to bring OO abstractions into the standards using Java's classes and wrappers, which should be a pretty good filter for dumb unpatterns like 'Car inherits from Garage'. So there are questions like 'How do you design this class hierarchy?' or 'Trace this code, what are the values of x...'

I don't think there was ever any of the boilerplate required to make a Java program actually run. When I took the exam, I'd never compiled a single line of Java in my life (yep, there are far better ways to get things done).

Re: Khan Academy: Computer Science

#140

Earlier quoted context omitted.

You could do that in Java if you just imported a turtle graphics library. A quick search brings up one such library, http://www.bfoit.org/itp/JavaTurtleGraphics.html . I agree that Java is a hard language to learn with, but its faults are not related to being unable to use turtle graphics as examples.

No, you couldn't. Did you look at that link? You have to wrap all this OO ceremony around it. I don't think it's optimal to make someone type class Cross extends TurtleGraphicsWindow { public void myTurtleCmds() ... at the start of every program when they don't yet have the background to understand what a single one of those words are for. It instills a habit of doing crazy shit mindlessly to try to satisfy the myste…

I remember learning Java for the first time. I literally thought of "public static void main(String[] args)" as an incantation I just had to know. It took some practice to memorize it. It took far longer to actually learn what it meant.
Post reply on HN