Member-only story

CS373 Spring 2021 Final Entry: William Wang

William Wang
3 min readMay 9, 2021

--

Key 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
  • refactor, refactor, refactor
  • make your code beautiful

How well do you think the course conveyed those takeaways?

I was very satisfied with Prof. Downing’s explanations of the key ideas in class. We generally started with an example of the pattern in question and look at its result when executed. Then, we dug into the example to really understand what was going on. Sometimes we would go through more examples to cover any edge cases and review everything the next day.

Were there any other particular takeaways for you?

--

--

William Wang
William Wang

No responses yet

Write a response