• How well do you think the course conveyed those takeaways?

I thought the course conveyed those takeaways well, though some more than others. For example, I didn’t end up collaborating a whole lot directly since I worked by myself on all the coding projects. However, my understanding of iterators, containers, constructors, and efficient object oriented design have all been positively shaped by the course material and the assignments.

  • Were there any other particular takeaways for you?

I started becoming a lot more comfortable programming in C++ which was my goal coming into the class.

  • How did you feel about cold calling?

It forced me to pay attention to class much more than I have in any of my other online courses. It wasn’t high pressure and as much as the idea of getting cold called sounds annoying, there weren’t any stakes so I didn’t mind it.

  • How did you feel about office hours?

I didn’t attend any of the office hours but it seems that the TAs offered very frequent office hours for anyone who would need it.

  • How did you feel about lab sessions?

Similarly to the office hours, I did not attend so I don’t have any useful feedback for them. Its nice to know they were available at the very least.

  • What required tool did you not know and now find very useful?

I’ve never used GTEST before this class and I’ve gained at least a slightly more advanced knowledge of how makefiles work. Same goes for astyle, doxygen, cppcheck, etc.

  • You should have read five papers that describe SOLID design : Single responsibility, Open-closed principle, Liskov substitution, Interface segregation, Dependency inversion. What insights have they given you?

Writing code that is infinitely extendible is the ultimate goal and careful structuring of object relationships can make it very clean and prevent coupled dependencies.

  • You should have read two papers that advised minimizing getters and setters. What insights have they given you?

It had never occurred to me that using getters/setters arbitrarily to expose class members was bad object oriented design since its what we learned in 314.

  • Give me your suggestions for improving the course.

This is maybe beyond the possible scope of the class, but I feel like we should at least mention some common design patterns. Additionally, I didn’t get much out of the blogs and papers.