How well do you think the course conveyed these takeaways?

  • test first, test during, test after, test, test, test
  • when designing algorithms, demand the weakest iterators (e.g. bidirectional vs. random access)
  • when designing containers, provide the strongest iterators (e.g. random access vs bidirectional)
  • build adapters on top of containers, iterators, and functions
  • always look for reuse and symmetry in your code
  • collaboration is essential to the quality of your code and to your well-being in producing it
  • refactor, refactor, refactor
  • make your code beautiful

I think this course did an excellent job highlighting the takeaways. Dr. Downing also repeated these takeaways several times throughout the semester which made them very easy to retain.

2. Were there any other particular takeaways for you?

One of the takeaways that I found especially beneficial was writing a lot of tests and testing throughout the development process and not just at the end. Learning this has already helped me with eliminating bugs in some of my other projects.

3. How did you feel about two-stage quizzes and tests?

I quite liked the two-stage quizzes and tests, having taken another class with Dr. Downing prior to this one that also used them I have come to really enjoy being able to try working on the problem on my own first and then work collaboratively with others afterwards. I found even if I had gotten the questions right, others in the group would raise questions that I had never thought about which was always very beneficial.

4. How did you feel about cold calling?

I am used to cold calling from Software Engineering though I am still kind of on the fence about it, it’s a good way to get engagement from everyone in the class though admittedly I still found it to be a bit forced, though all things considered it wasn’t bad.

5. How did you feel about office hours?

I found office hours to be very useful both for getting my own questions answered and for being able to hear what questions other people were having.

--

--