Live data from Hacker News

Khan Academy: Computer Science

khanacademy.org

111–120 of 188 posts

Re: Khan Academy: Computer Science

#111

For the record, Khan Academy is going to eventually scrap all the Python videos. John Resig, creator of jQuery, is going to redo all the videos narrated by him and with the code written in JavaScript.

Have they mentioned it somewhere?

Re: Khan Academy: Computer Science

#112
post #83

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),…

How to use a compiler. Basic shell of a Java program. That statements occur in a sequence. Practice with getting details right. Mathematical expressions. What variables are, and how assignments to expressions differ from formulas (in Excel, say). If statements and conditions. The concept of "incrementing" a variable or accumulators in general. Loops in general. See for yourself: http://cs.leanderisd.org/current/cs1/a…

Initially, I thought this sounded ridiculous. But when I look carefully at what you've done, I'm impressed by your thoroughness. I think you have an excellent course for weak-to-average students.

I do wonder if your most able students might appreciate more opportunity to "play" and be creative, but in all honesty, they just need to stick with it into the Project Euler stuff at the end.

Is this a whole-year course?

Re: Khan Academy: Computer Science

#114
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,…

If I may ask, what is your credential in? There seems to be quite a mess in regards to how to get in to the field since there doesn't seem to be a computer science credential, and coming in with a math credential will almost certainly get you assigned to teaching math classes and math teachers are always in demand.

Re: Khan Academy: Computer Science

#115

Earlier quoted context omitted.

C or C++ are definitely not a good idea. The beginners' brains will be too occupied with curly brackets and semi-colon. There's also the brain-dead notation for types (see function pointers). The poor souls already have a hard time differentiating assignment and comparison, just because of counter-intuitive notation (compared to high school). As experts, syntax doesn't annoy us. We see past the curly brackets (or the…

Yeah, but I still advocate the use of C++ over Python. Just because of the fact that I can now appreciate what goes on under the hood instead of groaning that why should I learn it when the "language takes care of it". Many classmates of mine really enjoy Java because of they had learned C++ first. It's a harder learning curve, but I think it's worth it.

I disagree. I don't have any data to base this on, but I think it would be easier for a new programmer to learn logic first and then worry about what goes on under the hood. There are plenty of reasons to learn C aside from just to know what goes on at a lower level.

Re: Khan Academy: Computer Science

#116
post #83

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),…

How to use a compiler. Basic shell of a Java program. That statements occur in a sequence. Practice with getting details right. Mathematical expressions. What variables are, and how assignments to expressions differ from formulas (in Excel, say). If statements and conditions. The concept of "incrementing" a variable or accumulators in general. Loops in general. See for yourself: http://cs.leanderisd.org/current/cs1/a…

We learn to read before we learn to write well. Why do we start out writing programs?

I've always thought programming classes should start with reading and understanding a program that has some loops, assignments, etc. Maybe a program that draws some shapes or parses/prints some strings. Then have students modify it some. Then afterward, start writing your own stuff from scratch.

Re: Khan Academy: Computer Science

#118
This is hardly computer science, it's only programming. Calling this computer science is similar to saying that a course in grammar and spelling is a course in literature. Programming, while vital to most forms of computer science, and the most marketable skill of a computer scientist nowadays, is just a tool.

Re: Khan Academy: Computer Science

#119
post #116
post #83

Earlier quoted context omitted.

How to use a compiler. Basic shell of a Java program. That statements occur in a sequence. Practice with getting details right. Mathematical expressions. What variables are, and how assignments to expressions differ from formulas (in Excel, say). If statements and conditions. The concept of "incrementing" a variable or accumulators in general. Loops in general. See for yourself: http://cs.leanderisd.org/current/cs1/a…

We learn to read before we learn to write well. Why do we start out writing programs? I've always thought programming classes should start with reading and understanding a program that has some loops, assignments, etc. Maybe a program that draws some shapes or parses/prints some strings. Then have students modify it some. Then afterward, start writing your own stuff from scratch.

It's an interesting idea, but I disagree:

I think you remember things much easier if you write them out (and have to make them compile/execute) yourself. If I read some code in a language I haven't encountered before, I find I don't absorb any of the little details of syntax.

Moreover, I think it makes sense to expose learners to the fun of programming early. And to me that means seeing something that you wrote running.

Re: Khan Academy: Computer Science

#120
post #14

I've never used a Khan Academy video but that's out of pure negligence on my part, not skepticism. That said, I have always wondered how effective video is as a teaching tool for programming? I guess when I think about it, it's the same delivery tool as an in-person lecture, but in some ways, more effective since you can pause, rewind, etc. See the comments on this article about how to do a Fibonacci recursive exampl…

Kahn makes a big mistake in pronouncing the assignment operator as "equals" in the first video. The assignment operator should be pronounced as "gets".

'x equals 5'. or something like 'the value inside x is now 5', an important view for me, when was learning c++'s pointers.
Post reply on HN