CS373 Fall 2020: Final Entry

Jordan Wang
2 min readDec 6, 2020

Long term takeaways

  • test first, test during, test after, test, test, test
  • when designing algorithms, demand the weakest capabilities (e.g. iterable vs. indexable)
  • when designing containers, provide the strongest capabilities (e.g. indexable vs iterable)
  • build decorators on top of containers, iterators, and functions
  • utilize the benefits of being lazy (i.e. yield)
  • 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

How well do you think the course conveyed those takeaways?

Looking back on these takeaways, I feel like I learned a lot throughout this course, as the course conveyed these takeaways very well. Approaching the end of the semester, I now realize how important these concepts are in terms of designing and writing code.

Were there any other particular takeaways for you?

The main takeaway for me this semester was the importance of reusability, readability, and flexibility in code. I feel like throughout this semester, we read and learned a lot about how and why this is important. From writing tests for your code to actually implementing it, I learned a lot about the principles of software engineering.

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

I felt that the two-stage quizzes and tests were nice in that there was an aspect of collaboration. During this time, you can ask questions and try to understand concepts or questions that you were puzzled about. The individual portion was nice in that you had the opportunity to demonstrate your individual learning, but the collaborative portion was also a nice backup.

How did you feel about cold calling?

I was definitely kind of nervous about cold calling at first, but as the semester went on, it ended up not being that bad. I feel like Professor Downing walks you through whats going on most of the time, so you don’t feel stressed out or nervous of being called on.

How did you feel about office hours?

Office hours are always a nice place to go to when you have questions. The TAs are very helpful in answering any questions that you may have. I recommend going whenever you need to.

How did you feel about lab sessions?

Lab sessions are also a very nice if you need any help on your project or just any question in general. The TAs are there to help you and are very helpful.

Suggestions for improving the course.

I really enjoyed this course. Although on some of the HackerRank tests, I felt it kind of difficult to understand the question and what we were supposed to accomplish.

--

--