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.
Khan Academy: Computer Science
181–188 of 188 posts
Re: Khan Academy: Computer Science
#182Earlier quoted context omitted.
In my head, I reserve the word "let" for immutable bindings. Or at least local bindings that people probably aren't going to mutate. I read it as "x equals five". So, between three of us, we saw that simple line of code in three different ways. I wonder what other people see in more complicated code.
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 agree with your main point, though, that failure to understand assignment is one of the biggest failure points for beginners. What programmers need to be able to do is trace through the execution of a program in their head, thinking "once this statement executes, the state will change in so-and-such way."
If I had to teach introductory programming again, I would focus more on having people fiddle around with variables in a REPL, just to get a feel for that sort of thing.
Re: Khan Academy: Computer Science
#183I'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…
>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. It's a lot better than some of in-person lectures I've taken, but maybe that's just me. I've been encouraging my peers to use online videos as a source to learn stuff they have a hard ti…
I've read way too many people online suggest Project Euler as a way to "teach yourself programming". This is almost a sadistic suggestion. Project Euler is way too hard to teach yourself programming.
Evidence: nearly 180,000 people have solved problem #1. Only 76,000 have solved problem #10. Losing 60% of your audience by problem #10 is pretty bad question design for learning.
Anecdote: I've been programming for over 25 years. I was near the top of my class in a top-10 computer science university program. And I've solved 30 Project Euler problems in the last 3-1/2 years. But I still can't solve problem # 18. I've worked on it off and on since December 2007. Only recently, quite by accident I learned that it is probably a "dynamic programming" question, which is something I've never done before.
Never lose confidence in your coding ability because Project Euler stumps you now and again.
Re: Khan Academy: Computer Science
#184Earlier quoted context omitted.
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
#185Earlier quoted context omitted.
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…
Re: Khan Academy: Computer Science
#186Earlier quoted context omitted.
http://www.python.org/download/
Right, but do you understand how unintelligible that page is for most people? My dad is smart enough that I'm sure he could learn how to program, but I'm almost certain that he wouldn't know what to do on that page. Also, I think last time I encouraged a non-compsci friend to install python, they had issues with the PATH not being set right, and quickly lost interest. Compare that to the Firefox download page, where…
The old cruel IRC days of RTFM made me a better, more independent problem solver.
Re: Khan Academy: Computer Science
#187High 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
#188Earlier quoted context omitted.
Interesting schedule. My school's AP Comp Sci A class (also teaches Java) is designed for people who are completely new to programming, but we are introduced to loops fairly early. After first being introduced to the different variable types, mathematical expressions, and how to read user input, the students jump directly into boolean, if, switch, and then the for/while/do-while loops.
How many kids take the class? How many do well? I have 75 kids in three sections, and I'd have 100 kids in four sections if they'd open up a fourth section. And all of my students except maybe the bottom 5-10% are moving confidently through the material at their own pace. I'll bet your school either has 1) a lot fewer students 2) a much more hand-picked set of kids, or 3) is leaving a much higher percentage of kids b…
My school is a small (~130 per grade), but renowned international school in Shanghai, China. Your first two guesses are very much spot-on, but I'd have to disagree with the third. Those of us that are ahead help out with the one's who are struggling and in the end, I'd like to think that it all works out well.
With that in mind, however, your numbers are indeed more impressive. Because our class size is so small, we're constantly involved in face-to-face interaction with our instructor and with our peers. I doubt our pace would translate into the same success in your school. Is your course designed for the AP exam?