Overall I really enjoyed this course.  The one bad thing is that a lot was opened ended.  This can be a good thing, however I things like have 2 deliverable dates throughout the semester so we know what we have to accomplish by these dates.  Also, making code reviews a requirement and having to turn in a list of goals to accomplish by the end of the code sprint instead of half way through the semester.

One thing I liked about this class was working with people in remote locations.  Being able to interact with people over the internet instead of in person is a huge difference and great experience.