Udacity CS253 Web Application Engineering

Udacity CS253: Web Application Engineering – A Dropout’s Review


This week thousands(?) of online students will be finishing Udacity’s CS253 Web Application Engineering course by building a wiki for the blog they have created. Unfortunately I will not be one of them. The course was run by Reddit co-founder Steve Huffman and involved coding a blog in Python using Google App Engine. I was hesitant about signing up because of the amount of time I had needed each week to complete CS101: Building A Search Engine. Udacity however, changed their homework grading policy from one with hard deadlines to a system where you can make as many submissions as it takes to get it right (even after the solution video is posted). This policy change was what prompted me to try another course.

There were a couple of other choices in subjects: CS212 Design of Computer Programs and CS262 Programming Languages but Web Application Engineering looked the most interesting because I wanted to learn how a website interacted with it’s database. All three courses had the same prerequisite: ‘previous programming experience, comparable to what is covered by the Udacity CS101 course’. So I thought I would be fine.

I was wrong.

I survived the first couple of weeks homework assignments since they just involved installing Google App Engine and coding a web form. The following weeks homework assignment however, was this:

Unit 2 Homework: Build a blog. Front page that lists entries, Form to submit new entries, Permalink page for entries.

The first instuctor comment for this homework was, “There are a few things I didn’t cover in the lecture that will be helpful for this homework. Links to this material can be found here.” This was a huge jump from CS101 which often provided code to build upon in homework questions – not a blank slate like this – and the lectures always covered everything needed to complete the homework assignments. This prompted me to search the forums to see if anyone else was feeling in over their head. I found this thread where students discussed what the real prerequisites were for the course. What I concluded was that I would have to do a lot of my own learning of Python in order to complete the homework assignments each week. Even a relaxed homework grading policy wasn’t going to help me with the amount of time I would have to dedicate to keep up.

This realisation forced me to consider my programming goals. With four kids under 12, I have limited time to study! I need to make sure the time I do spend studying is in line with what I’d like to achieve which is: learning javascript to improve my web design skills and learning iPhone development. So instead of spending hours going over the Python documentation, I bought an e-book, “Objective-C Programming: The Big Nerd Ranch Guide“. In the last three weeks I’ve managed to work through over 1/2 of the book. I miss the video tutorials and the weekly ‘deadlines’ and am frustrated by the fact that the book provides a ‘Challenge Question’ at the end of each chapter without a solution, but at least I’m spending my small amount of study time working towards my end goal.


  • Michle John

    Thanks, these web application detail is  useful and also appreciate you.

  • Pingback: Gamification with Coursera: A Review ~ debbie teakle()

  • Alessandro Martin

    The course is excellent, I managed to complete it and yes, Homework 3 was kinda bumpy since some of the requirements hadn’t been discussed thoroughly, but overall I learned A LOT about GAE, Python and programming (web and non web) in general.

    • Debbie Teakle

      Congratulations Alessandro! I’m glad to hear you finished the course. Did you have any prior programming experience other than CS101? Do you think if I had stuck with it I could have finished the course or would I have needed more programming experience?

      • Alessandro Martin

        Hi there and sorry for the delay. I am an amateur and I don’t have much practical experience, but I read many books on CS and programming (Java, Csharp, C++, Python, etc) so most of the stuff on CS101 I already knew it but I took it anyway because I liked the hands-on approach. The actual programming in CS253 is fairly easy IMO, the difficulty was mostly learning about the web framework. Personally I think it’s worth trying to finish it even if you are limited to just CS101 in knowledge, so I suggest you to give it another shot.

  • Pingback: Review: Udacity CS253 (Web development) | bitstrategist :: thoughts about 1s and 0sbitstrategist :: thoughts about 1s and 0s()