Not too easy. Not too difficult.
This course teaches you how to properly read existing software and write new software with emphasis on future usability. I learned a lot about design patterns for object oriented programming that I find incredibly useful to this day.
The highlights were the abstract nature of the course. I enjoyed that the paper tests actually made sense in a CS course. Usually I don't like this but it made sense in this class.
Hours per week:
Advice for students:
Create practice software that you think matches the design pattern you are learning about. it makes much more sense when you can see these patterns applied