background preloader

Programming

Facebook Twitter

Learn to Program With Code Academy. Did you ever want to be a huge nerd your whole life, but didn’t know where to start? Don’t have the shelf space for the O’Reilly books, or found the various "in a nutshell" books too dry? I think Codecademy has an offer you can’t refuse. It’s an interactive site you start off simply with some naming conventions and math equations inside an interactive "terminal" window. It saves your progress if you make an account, and you gain Foursquare style "badges" for completing lessons that you can share on your favorite social media site.

The depth of the lessons look excellent, and the site is advertising a teacher beta once you log in, so if you want to contribute to the learning experience, you should absolutely get in touch with them. What about you? As an old coder, however, the interface and interaction this site provides looks pretty invaluable. Are you still here? [Update Oct 4, 2011: It's "Codecademy", not "Code Academy". Holding a Program in One's Head. August 2007 A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on.

Mathematicians don't answer questions by working them out on paper the way schoolchildren are taught to. They do more in their heads: they try to understand a problem space well enough that they can walk around it the way you can walk around the memory of the house you grew up in. At its best programming is the same. You hold the whole program in your head, and you can manipulate it at will. That's particularly valuable at the start of a project, because initially the most important thing is to be able to change what you're doing.

Your code is your understanding of the problem you're exploring. It's not easy to get a program into your head. Even the best programmers don't always have the whole program they're working on loaded into their heads. Avoid distractions. Create a web page. S Journal | Go Parallel | Parallel Programming & Parallel Computing Information and Resources.