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.
Khan Academy: Computer Science
111–120 of 188 posts
Re: Khan Academy: Computer Science
#112Earlier 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…
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
#113I wish he went more to the math/conceptual side. I can sense he giving a great O(n) explanation...
Re: Khan Academy: Computer Science
#114High 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,…
Re: Khan Academy: Computer Science
#115Earlier 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.
Re: Khan Academy: Computer Science
#116Earlier 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…
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
#117Re: Khan Academy: Computer Science
#118Re: Khan Academy: Computer Science
#119Earlier 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.
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
#120I'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".