News for hackers. Stuff that matters.
Re:Show HN: LearnStreet - The Best Place to Learn How to Code by jfarmer on Thursday October 11, 2012 @04:32PM (#4642634)
Disclaimer: I'm a teacher at Dev Bootcamp (http://devbootcamp.com). Everything I say comes from love -- if I didn't care about this deeply I wouldn't bother to remark in the first place. :)

Very nice! We can always use more absolute-beginner tutorials in the world.

Just started the Ruby tutorial:

"Great! So what just happened here? To begin with, let's define what you typed 2 + 2 as instructions. The ruby console reads your typed instructions, interprets it, and then acts on the instructions the way you gave it. This step is called evaluation. Instruction when complete are called an expression. If the instructions you have typed are incomplete (for example, if you typed 2 + and hit enter), this console will show an error message. The instruction you typed, 2 + 2 is an expression. It is important to remember that evaluation of an expression always returns a value. This value is what is shown as result on the console. In this case, 4 was the result of the evaluation."

If someone honestly knows nothing about coding, you've probably just lost them right there. Questions a beginner would ask:

* What is a "ruby console?"

* What instructions? I typed "2+2."

* What does "interprets" mean?

* How can instructions be complete? Were they ever incomplete? How do I know when they're complete?

* "Returns?" "Value?" "Result?"

In a few sentences, with jargon highlighted:

I type instructions into a console which turn into expressions when they're complete. The console evaluates the expression and returns a value, which is shown as a result on the console.

A beginning programmer won't have the mental models necessary to make sense any of that. It's context-free. Most of those words have no prior associations, and those that do will lead them astray. Metaphor is your friend.

For reading, I recommend Bret Victor's essay on Learnable Programming: (http://worrydream.com/LearnableProgramming/) and Mindstorms by Seymour Papert (http://www.amazon.com/Mindstorms-Children-Computers-Powerful...).

Re:Show HN: LearnStreet - The Best Place to Learn How to Code by teamls on Thursday October 11, 2012 @04:53PM (#4642737)
Thanks for the feedback! We're always iterating on our course content, so we'll keep this in mind.
Re:Show HN: LearnStreet - The Best Place to Learn How to Code by bromang on Thursday October 11, 2012 @05:17PM (#4642845)
please stop using "iterating" in this way
Re:Show HN: LearnStreet - The Best Place to Learn How to Code by jfarmer on Thursday October 11, 2012 @05:24PM (#4642876)
Read Mindstorms before you do. :)
Re:Show HN: LearnStreet - The Best Place to Learn How to Code by keeptrying on Thursday October 11, 2012 @05:33PM (#4642916)
I second this. For anyone trying to teach computers (and anything else), this will save you from repeating all the mistakes that all the other computer programming education startups are making/will make in the future.

Again, just to be clear, this book is really really really really important.

Hope that landed. :)

Re:Show HN: LearnStreet - The Best Place to Learn How to Code by jamesbritt on Friday October 12, 2012 @12:54AM (#4643867)
Mindstorms? I did a quick google and there are assorted books with that title (after you filer out "lego"). None seemed to be relevant to this discussion.

Who wrote it? What year?

Re:Show HN: LearnStreet - The Best Place to Learn How to Code by jfarmer on Friday October 12, 2012 @01:23AM (#4643916)
I linked to it at the end of my comment, where I also mentioned who wrote it.

Here it is, again: http://www.amazon.com/Mindstorms-Children-Computers-Powerful...

Lego Mindstorms are named after it.