CS373 Fall 2020: Final Entry

Michael Chan
2 min readDec 7, 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?

I thought the course conveyed those takeaways very well.

Were there any other particular takaways for you?

I would say that learning how to work with a team and figuring out how to divide work was a big takeaway from this course. This class definitely felt more like a “group project” class than OS.

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

I thought the two-stage quizzes and tests were great. I liked how having quizzes and tests be two parts allowed you to correct any mistakes you initially made, and I also liked how it allowed you to talk to your group in case you had any misunderstandings/confusion over anything.

How did you feel about cold calling?

The cold calling sometimes made me nervous, but I thought it was a good way to make people pay attention. Even if you don’t know the answer to something, Professor Downing will make sure you fully understand how to get to the answer.

How did you feel about office hours?

I did not go to any office hours.

How did you feel about lab sessions?

I did not go to any lab sessions.

Give me your suggestions for improving the course.

I think the course would have benefitted from having some lectures on JavaScript/React topics. The problem with a lot of the Python lectures is that the Python used for the website backend didn’t require a lot of the topics we were learning. Meanwhile, other than one lecture that very broadly talked about React, frontend development was never talked about again. I feel that JavaScript has enough idiosyncrasies and weird features that deserve to be mentioned and expounded upon.

--

--