Live data from Hacker News

Khan Academy: Computer Science

khanacademy.org

101–110 of 188 posts

Re: Khan Academy: Computer Science

#101
post #85

Earlier quoted context omitted.

I think there is a world of difference in the "average total beginner" high school students taking a class to meet a district mandate, and the "average total beginner" self-motivated learners actually interested in computer science.

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 ?

Re: Khan Academy: Computer Science

#102
post #91
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…

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.

Re: Khan Academy: Computer Science

#103
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…

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.

Re: Khan Academy: Computer Science

#104
post #51

Earlier quoted context omitted.

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

Yeah that's slightly disconcerting. I'm not a compsci expert, I know enough scripting to get by as a full-time web developer, but javascript seems like it has a lot of hard-to-grasp idioms that would be hell for a beginner. I've read The Good Parts and I still don't totally understand the intricacies of prototypal inheritance. :p I'd say stick with something a bit simpler, especially given that it's Khan Academy, not…

Prototypal inheritance isn't inherently more complicated than what we're used to. Familiarity is not the same as simplicity.

In fact, it may be what holds us back from genuinely better paradigms.

Re: Khan Academy: Computer Science

#105
post #104
post #51

Earlier quoted context omitted.

Yeah that's slightly disconcerting. I'm not a compsci expert, I know enough scripting to get by as a full-time web developer, but javascript seems like it has a lot of hard-to-grasp idioms that would be hell for a beginner. I've read The Good Parts and I still don't totally understand the intricacies of prototypal inheritance. :p I'd say stick with something a bit simpler, especially given that it's Khan Academy, not…

Prototypal inheritance isn't inherently more complicated than what we're used to. Familiarity is not the same as simplicity. In fact, it may be what holds us back from genuinely better paradigms.

Indeed. I find it a bit odd that prototypal inheritance (in some more powerful form than JS's) isn't the normal way of doing OO in scripting languages.

Re: Khan Academy: Computer Science

#106
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.

Assignment isn't idiomatic in functional programming.

Re: Khan Academy: Computer Science

#107
post #91
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…

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/...

My nine-year-old son learned Scratch last year. Oh, if only I had that when I was nine....

Re: Khan Academy: Computer Science

#108
where are lectures about classes/OO programming? just gave the link a quick glance and it seems good (i understand khan academy is for "gentle" introductions), but doesn't look like it goes into OO programming at all (which is kind of the point of python), no?

Re: Khan Academy: Computer Science

#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 much more readily than students learning Python (which was, after all, originally designed as a language for teaching OO concepts).

Of course, the College Board, in its infinite wisdom, has decreed that the AP Computer Science tests be given in Java. I suppose we should be grateful that they no longer do it in C++.

Re: Khan Academy: Computer Science

#110

where are lectures about classes/OO programming? just gave the link a quick glance and it seems good (i understand khan academy is for "gentle" introductions), but doesn't look like it goes into OO programming at all (which is kind of the point of python), no?

Do you think that object oriented programming is really necessary for absolute beginners? There's always this problem of coming up with examples with OOP when being introduced to beginners, and you can end up with horrific "Cat inherits from Animal" examples. GUI programming might be the best place to introduce OO since it's a decent fit, however a lot of newbie GUI programming would just be using a library, not building object hierarchies yourself.

Even the MIT "intro to programming and computer science" class (which uses Python) doesn't touch OOP until lecture 14, after dynamic programming, divide and conquer, bit of runtime complexity, recursion and more...

Post reply on HN