CS371P Fall 2020 Final Entry: Grant Larson

KEY 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
  1. How well do you think the course conveyed those takeaways?
    I believe the class did a good job conveying these takeaways — especially the takeaways focusing on adapters and reuse/symmetry in code. These became quite clear as we approached the end of the course and began designing containers that utilized code previously written (such as writing stack using a deque).
  2. Were there any other particular takeaways for you?
    I feel that this class also made abundantly clear the goal of separating code such that it remained modular and independent of other portions of the code through the weekly papers we read and annotated.
  3. How did you feel about TWO-STAGE quizzes and tests?
    I found the two-stage quizzes and tests to be incredibly beneficial, as they helped to clear up any misunderstandings of the content covered in class, and helped to prove that collaboration can vastly improve the quality of code and decrease the amount of time necessary to create it.
  4. How did you feel about COLD CALLING?
    I felt that cold calling was an interesting way to encourage a greater degree of focus from the students, especially given our current remote learning environment.
  5. How did you feel about OFFICE HOURS?
    I do not believe I attended office hours for this course, but I appreciate the availability of the TAs to assist the students with questions regarding course content or project troubleshooting almost all the time.
  6. How did you feel about LAB SESSIONS?
    Similar to office hours, I am not sure if I attended any lab sessions, but I appreciate the flexibility of the TAs!
  7. Give me your suggestions for improving the course.
    I can’t think of any issues with this course’s lecture content, and I felt the projects were given reasonable due dates with just enough coverage in class to get started!
  8. To future students:
    I found this class quite enjoyable, and I believe I have a better understanding of some concepts key to object-oriented programming having taken this course!