Over the course of the past few months, my friend Dan (<a href="http://news.ycombinator.com/user?id=theli0nheart" rel="nofollow">http://news.ycombinator.com/user?id=theli0nheart</a>) and I have been talking about launching a website that would help aspiring programmers learn how to code. There are a ton of resources out there already, but it’s so confusing to a newbie that it’s almost impossible to make a solid start without someone walking you through the process.<p>Dan's an experienced hacker. I'm not, and during the process of my first startup, I realized how much more valuable I'd be if I knew how to program - even if my focus was biz-dev and marketing.<p>We came up with the idea to build a website where he'd post videos and notes that would teach me to code from scratch. Along the way, I'd blog about my experiences so new programmers could follow along. The big goal is to foster a community for people who are interested in learning how to hack, share resources, and meet each other.<p>It will be a fun project and we're excited to see where it takes us. Hopefully you'll all join in and make it better than just we could all by ourselves. We have a landing page set up and would love you to check it out and leave your email.<p>Feedback and advice are really appreciated! Here's the link again - <a href="http://howtoprogram.tv" rel="nofollow">http://howtoprogram.tv</a>.
Learn Python the Hard Way is highly recommended. It forces you "through the moves" of what a programmer does in as plain and basic a way as I've seen. (Edit-Test-Debug cycle.)
Great idea! I'd love to see the "interactive" side of your idea. For me the coolest thing about starting to learn coding was writing a line, running the app and seeing something output to the screen.<p>Also what helped me learn was having a mentor who would answer questions and push me to keep learning. I learned a lot mostly from books and working on things I wanted to build. However I recently went through Rails for Zombies and really enjoyed the interactivity of it.<p>Just thought of a silly but perhaps useful feature... (And assuming this is all done on the website) At the end of each tutorial ask them to write out a commit command. Get them used to version control (Git would be great).<p>Good luck!
I think a website to teach people to program could be very useful. However, I do not think videos are the best way to do this. People would want to see your examples in text on the screen so they can copy it, or just take their time reading and understanding it at their own pace.<p>Also, if the lessons are laid out in text, you will receive much more search engine traffic from people who are trying to figure out how to do something.
Two quick options - either to try or just use to inspire you.<p>You should look into BlueJ. It was developed specifically for the purpose of making learning object oriented techniques easier (with Java): <a href="http://www.bluej.org/" rel="nofollow">http://www.bluej.org/</a><p>Another option, is to think of Rails. Rails is known for getting programmers productive with very little setup - and there are videos online showing you how to build a blogging engine in 5 minutes. And there are a lot of similar series by the Rails guys that discuss various aspects. Try them out. You might make a lot of progress.
Why not just go buy a copy of "How To Design Programs", or use the free second edition at <a href="http://www.ccs.neu.edu/home/matthias/HtDP2e/" rel="nofollow">http://www.ccs.neu.edu/home/matthias/HtDP2e/</a> ?<p>(Personally, I learned from a copy of IBM's BASIC Reference, circa 1985, and later a copy of Microsoft's "C for Yourself". But that was a different era.)
I registered and came out from lurking to comment.<p>As someone who, professionally, works worth only VBA and a form of LISP to do numerical analysis, this sounds great. I've been itching to expand my coding horizons for a while now and this seems very interesting.<p>I entered my email address and look forward to launch.
jaretmanuel.com/hackerville The further you can dig in on the technical side the better advantage and more value you will be to your endeavour. Good luck.