Live data from Hacker News

What We've Learned About Teaching Code

codecademy.com

31–40 of 45 posts

Re: What We've Learned About Teaching Code

#31
post #22

Earlier quoted context omitted.

Essentially you are saying something is better than nothing . I wholeheartedly agree. As a person whose purpose in life is more and more "Free information in order to Free Education", all I'm saying is I think we can do better; a lot better. Rote memorization certainly works. But I don't think anyone anywhere, has ever proved that it's an efficient or even particular good way to learn something. And yet modern civili…

At the risk of being pedantic, it's worth noting that some things benefit from memorisation (e.g. the alphabet) and some things benefit from "higher" learning (e.g. understanding the concepts of programming). I don't think patio11 is necessarily saying "something is better than nothing"; sometimes it is _better_ to teach someone 'if you see the shape O, you say "oh"'.

touché =)

I understand that very clearly when you put it that way. I remember my dad beating the alphabet into my head. It was the only way that he could eventually teach me how to read.

Thanks for that.

Re: What We've Learned About Teaching Code

#32

Earlier quoted context omitted.

Richard Feynman answering the question "How do magnets work" in an informal pick-your-brain type interview: "I can't explain that attraction in terms of anything else that's familiar to you. For example, if we said the magnets attract like rubber bands, I would be cheating you. Because they're not connected by rubber bands. I'd soon be in trouble. And secondly, if you were curious enough, you'd ask me why rubber band…

From the 1983 BBC "Fun to Imagine" series. Video for reference: http://www.youtube.com/watch?v=wMFPe-DwULM

this is one of the funniest videos I've ever seen. I love HN!

Re: What We've Learned About Teaching Code

#33
post #23
post #6

I've had a couple dozen students working through many of the CodeCademy programs this semester as an experiment. And most of the Javascript lessons currently on the site are just barely above mediocre.

Hi teach - would love to hear your feedback after working through it for a semester. Feel free to shoot us an email!

The core problem is what you've identified in your blog. You assignments don't explain many core concepts that students struggle with, they move WAY too quickly through concepts, and there's no coherent sequence. For example, in the middle of the "Conditionals in JavaScript" assignment/tutorial, you throw in arrays and loops. Both are MUCH harder than conditionals.

Zed Shaw, on the other hand, does a marvelous job of not covering concepts until the prerequisite knowledge is already in place.

Re: What We've Learned About Teaching Code

#34
post #6

I've had a couple dozen students working through many of the CodeCademy programs this semester as an experiment. And most of the Javascript lessons currently on the site are just barely above mediocre.

What makes you say that?

I have students that have been programming (in Java) for two years and have coded simple arcade games from scratch. These same students will spend more than five minutes unsuccessfully trying to get a single CodeCademy exercise to work. (I don't mean lesson or section: I mean a single page.) Some of the "tutorials" are so poorly written that it's just completely unclear what the author wants the student to do. I can't imagine that a student with no programming experience and no mentor is having a fun experience.

Re: What We've Learned About Teaching Code

#35
post #19
post #13

Since I know the codecademy team is always listening, I'll share my feedback through supporting my two friends through codecademy: Firstly they love it. The game mechanics and the reward cycle is a great motivation for them. I think nobody can argue that you've found a great way to get TONS of people to enjoy "learning to program". The second part is a bit tricky... are they really learning to program? IMO the proble…

That's not the worst thing in the world, since most pedagogy that works is of the basic format "You should know X. What should you know? Class repeats X. Good, because you should know X. Timmy, if I say Y, what do you say? Timmy repeats X. Good job Timmy, because you should know X. Susan, if I say Y, what do you say? Susan repeats X. Good job Susan, because you should know X. You should also know that if Y', X'. What…

You bring up an interesting point about whether outcome-based education is effective in learning programming.

On the one hand, as apsurd points out, programming is probably not something that can be done without understanding what you're doing. It's one thing to program HTML, CSS, simple Javascript where you're getting instant visual feedback [1], another to write C, Python, Java, etc. where the feedback is not so instant or visual and requires you to keep a constantly updating mental model of what's going on.

On the other hand, learning something new involves doing it enough that your neural pathways rewire to become more proficient at it. As you pass the stages of constantly thinking about what you're doing to how and why, leaps or breakthroughs in understanding become more likely and frequent - jumping from plateau to plateau so to speak.

Question is, what's the best way, and can it be abstracted to web-based tutorials? I don't know what current state of the art Cogsci research says about this, though it's on the todo list [2].

1. http://news.ycombinator.com/item?id=3948737

2. http://www.reddit.com/r/cogsci/search?q=education&restri...

Re: What We've Learned About Teaching Code

#36
post #33
post #23

Earlier quoted context omitted.

Hi teach - would love to hear your feedback after working through it for a semester. Feel free to shoot us an email!

The core problem is what you've identified in your blog. You assignments don't explain many core concepts that students struggle with, they move WAY too quickly through concepts, and there's no coherent sequence. For example, in the middle of the "Conditionals in JavaScript" assignment/tutorial, you throw in arrays and loops. Both are MUCH harder than conditionals. Zed Shaw, on the other hand, does a marvelous job of…

Mostly I agree, except for his introduction of %r very early on in python the hard way. What %r does in the context of the lesson is clear, but many students ask why and what it's for, and the complete answer is much more difficult.

Frequently, I just settle for "it adds quotes around strings" because the truth is a bit much to handle at that point.

Re: What We've Learned About Teaching Code

#37
post #22

Earlier quoted context omitted.

Essentially you are saying something is better than nothing . I wholeheartedly agree. As a person whose purpose in life is more and more "Free information in order to Free Education", all I'm saying is I think we can do better; a lot better. Rote memorization certainly works. But I don't think anyone anywhere, has ever proved that it's an efficient or even particular good way to learn something. And yet modern civili…

At the risk of being pedantic, it's worth noting that some things benefit from memorisation (e.g. the alphabet) and some things benefit from "higher" learning (e.g. understanding the concepts of programming). I don't think patio11 is necessarily saying "something is better than nothing"; sometimes it is _better_ to teach someone 'if you see the shape O, you say "oh"'.

i agree too - the foundation stuff should be memorized so well that you know it like you would know the back of your hand.

This way, the instant recall of information can then help the higher level learning that goes on.

Think maths - if you can't add/subtract/multiply/divide fast, you will have a hard time doing algebra and calculus.

Re: What We've Learned About Teaching Code

#38
post #25
post #13

Since I know the codecademy team is always listening, I'll share my feedback through supporting my two friends through codecademy: Firstly they love it. The game mechanics and the reward cycle is a great motivation for them. I think nobody can argue that you've found a great way to get TONS of people to enjoy "learning to program". The second part is a bit tricky... are they really learning to program? IMO the proble…

Thanks for this nuanced and thoughtful feedback. Our tool is a new way to present information, and the course creator community is figuring out how best to take advantage of the format. You wouldn't write documentation in the same way that you present to a crowd of 2,000 people, and you won't write a Codecademy lesson the same way you write a textbook. It will take some time to use the platform to its full advantage.…

Hey Sasha, As mentioned elsewhere on this thread, I'm aggressively working through the courses and have found it immensely helpful. A couple of suggestions:

1) It would be great to highlight on the site some success stories as these develop. I'm learning a lot but my concern is how translatable my learnings will ultimately be to developing real products. It would be great to see the outputs created by people that have worked their way through the courses.

2) How about a demo day for 'grads' who produce companies / products (a la incubator programs)? Seems like this would be a great opportunity for exposure and publicity (Just keep me in mind please so that I can get in on this once I turn my learning into a tangible product :))

Re: What We've Learned About Teaching Code

#39
I really enjoy codecademy (I am currently at 930 points and 47 badges). I find its a great way to learn and practice new concepts with a much smaller barrier to entry and instant feedback. It is by no means perfect. There are a few issues that come to mind: 1. Because of the way the code validations are written there tends to be only one or two ways to pass a lesson. This can lead to frustration when a student writes a piece of code that performs the task correctly but because it doesn't validate correctly he/she doesn't pass. 2. I found (for me) that the pace is actually to slow. I have cruised through all the lessons and have participated in beta testing some of the more advanced javascript modules (i.e. introduction to JSON). It would be nice if there was more advanced content to move on to but this should be corrected as time goes by and more content is created. 3. General spell check and editing could be better 4. Currently there is no content that talks about the full stack of technologies in a web application. This leaves the student studying small siloed pieces such javascript/html/css on their own without a view of the bigger picture. How does a web server fit in? How do I communicate with a database? Why is there no talk of MVC or REST? Basic coding skills are great but without a comprehensive picture of an application they are pretty useless.

Even with these issues codecademy has been a fantastic resource for me. I have learned a ton and have gone on to start teaching myself more advanced topics and have been learning different libraries such as backbone.js, node.js and d3.js. Without codecademy I would not have been able to get through the documentation on these libraries. One of the most valuable things that codecademy has taught me is to not be intimidated by technology. From the outside the programming world can seem like a pretty intimidating place. Codecademy makes that first step a little easier...

Re: What We've Learned About Teaching Code

#40
post #25

Earlier quoted context omitted.

Thanks for this nuanced and thoughtful feedback. Our tool is a new way to present information, and the course creator community is figuring out how best to take advantage of the format. You wouldn't write documentation in the same way that you present to a crowd of 2,000 people, and you won't write a Codecademy lesson the same way you write a textbook. It will take some time to use the platform to its full advantage.…

Hey Sasha, As mentioned elsewhere on this thread, I'm aggressively working through the courses and have found it immensely helpful. A couple of suggestions: 1) It would be great to highlight on the site some success stories as these develop. I'm learning a lot but my concern is how translatable my learnings will ultimately be to developing real products. It would be great to see the outputs created by people that hav…

These are excellent ideas! We certainly want users to be able to use what they have learned into real products.

Send me an email—would love to hear about what you're building. sasha at codecademy.com

Post reply on HN