Two and a half years ago, I started doing every computer science and web development tutorial I could find. If I were starting again today, knowing what I now know, I’d do it something like this.
Start with the basics of computer science and programming.
- Introduction to Computer Science I, David Malan, Harvard Extension School
- Understanding Computers and the Internet, David Malan, Harvard Extension School
- Introduction to Computer Science and Programming, John Guttag, MIT
- Introduction to Electrical Engineering and Computer Science I, various instructors, MIT
- Introduction to Computer Science (CS101), Building a Search Engine, David Evans, Udacity
Understand the fundamental interaction between your computer and the internet.
- Building Dynamic Websites, David Malan, Harvard Extension School
- cURL project
- Charles or Live HTTP Headers
Run through HTML and CSS tutorials with quackit and w3schools. Play with more advanced front-end development at CSS-TRICKS and TheCodePlayer.
Learn about databases and how to search them with SQL.
- Introduction to Databases, Jennifer Widom, Stanford
- SQLZOO
Start on Ruby with RubyLearning’s Core Ruby Programming and move on to their Programming for the Web with Ruby course.
Learn the basics of Rails with RailsGuides. And, then get deeper with Ruby on Rails Tutorial: Learn Web Development with Rails, Michael Hartl. Watch Railscasts for detailed lessons on implementing Rails.
Add Javascript and jQuery.
- JavaScript: The Good Parts, Douglas Crockford
- Eloquent JavaScript, A Modern Introduction to Programming, Marijn Haverbeke
- jQuery tutorials
And some other fun stuff.
- Rubular for playing with regular expressions
- Linux Command Shell
- Unix Power Tools
- Google tutorials
That’s the plan. I wouldn’t stick to it strictly. That’s what makes it so much more fun to learn with less structure. I’d bounce around as I find things I’m interested in. I’d fast forward through the less interesting parts. And, I’d build stuff whenever I could. While I’m doing all this, I’d be reading Hacker News, searching Google and stackoverflow for answers to questions that arise, and checking the documentation of whatever I’m learning.
These are some of the tutorials and resources I’ve found most useful. The options are growing fast with resources such as Udacity and Coursera. If you have other good ones, please tell me.
I hope this is helpful for someone.
One thought on “Learn the Basics of Computer Science and Web Development”