Over the course of the past few months, my friend Dan (http://news.ycombinator.com/user?id=theli0nheart) 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.
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.
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.
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.
Feedback and advice are really appreciated! Here's the link again - http://howtoprogram.tv.
I really appreciate something like this. I have been looking to start learning programming, and seeing something like this makes me hopeful that it's not as painful as it looks.
I really don't want to start pulling you guys toward "feature-creep", but maybe you could run a couple of "code dojos." Different pathways to Nirvana, as it were. (I'll elaborate)
I started learning from scratch a couple of weeks ago. I'm using this book http://www.amazon.com/Sams-Teach-Yourself-Hours-ebook/dp/B00... to help me learn Java. I chose Java because at the outset, I'm going to be working in the Android universe. Maybe some people want to cut their teeth on some Python, PHP or Ruby.
I know that resources are limited, but it's an idea. Anyhoo - I think the best thing about this is the potential for community-building. Kind of a "kiddie-pool" version of Stack Overflow where a n00b can be a n00b.
I think we're targeting everyone who wants to learn!
If anything, I think that younger kids might have an easier time grasping some concepts than those who are older and might have to adjust their way of thinking. Kids have no baseline. All in all, my goal is to make these lessons as clear and easy to follow as possible for everybody.
Even if you don't ultimately become a programmer, just knowing enough to know how hard or easy something is will give you a large biz dev advantage. Lots and lots of tech execs (especially in silicon valley) are either former programmers or electrical engineers. It will also help your own due diligence efforts when evaluating partnerships or vendor technology.
Also, just knowing enough to fix problems in an emergency will make you look like a super hero to customers.
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.
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.
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).
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.
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.
We're going to do written tutorials and screencasts side by side. I think the goal of the videos in large part is to get people interested.
It doesn't take a lot of commitment to watch a video. On the other hand, a written tutorial takes a little bit more effort to see the end result. I think a healthy dose of each is what we're aiming for.
Two quick options - either to try or just use to inspire you.
You should look into BlueJ. It was developed specifically for the purpose of making learning object oriented techniques easier (with Java): http://www.bluej.org/
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.
(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.
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.
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.
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.
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.
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.
Feedback and advice are really appreciated! Here's the link again - http://howtoprogram.tv.