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.