Udacity’s Web Development course gives students a great introduction to the huge world of internet applications. Everything is taught in Python with a little bit of SQL and applications are built using Google’s App Engine. The primary project is developing a blog that support users and posts.
This was one of my favorite Udacity classes so far. The primary instructor is Steve Huffman (of Reddit and Hipmunk) and he does a great job of making engaging content. Web development is obviously his passion and he makes this clear in the videos. He also does a great job of relating course content to the real world. Almost every unit has an accompanying story or explanation of how the technology was used at Reddit. This makes it very easy to think about applying what you learned in your own application.
Udacity’s method of using short videos with quizzes works great for internet learning and this class is no different. Most pieces of knowledge are quickly tested and each unit ends in a larger project-based “homework” to add a new feature to the blog. My only complaint for this class is the grading utility for the homeworks. You get almost no feedback if something goes wrong while grading an assignment. This can be very frustrating to troubleshoot because of the potential number of fail points in the web application. It’s essentially tracking down an application failure with no stack trace.
Udacity suggests that students take their Intro to Programming class first (or have comparable knowledge), but I actually suggest some more practice with programming before tackling web development. There are enough new concepts in this course that you don’t want to still be struggling with basic programming concepts.