CS 373 Spring 2021: Kent Hansen Final Entry

Kent Hansen
3 min readMay 9, 2021

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

1. How well do you think the course conveyed the takeaways?

I felt like the course did a great job of conveying these takeaways as we spent a good deal of time on each and used examples that showed how they function and why using them is better than any alternatives.

2. Were there any other particular takeaways for you?

In addition to these takeaways, I also learned that writing clean and straightforward code is always good because it is more readable, easier for you and others to understand and interpret, and more beautiful.

3. How did you feel about cold calling?

I felt like cold calling was a really good way to ensure that anyone in the class could understand the content because it requires everyone to be able to follow along and answer questions rather than those who know already chiming in.

4. How did you feel about office hours?

I didn’t personally make use of office hours but I know people in my project group did and found them very helpful.

5. How did you feel about lab sessions?

I also didn’t have a chance to attend the lab sessions but I appreciated having the opportunity in case I ran into issues that I needed to debug with the TAs.

6. What required tool did you not know and now find very useful?

I did not have any knowledge of SQL before this class and learning it more in detail and making use of an SQL database as part of the project was very helpful as I will almost certainly encounter it in my career.

7. What’s the most useful Web dev tool that your group used that was not required?

The most useful web dev tool that my group used that was not required was axios, a Javascript library used for making http requests from the frontend. It even provided react hooks that could be easily used to fetch data for a page in a single line.

8. How did you feel about your group having to self-teach many, many technologies?

I feel like this requirement was difficult at times, especially with tools such as AWS that are very complex, but overall I think that it was very rewarding because the end result was that we became familiar with lots of very useful tools.

9. Give me your suggestions for improving the course.

My only suggestions for improving the course would be to provide slightly more guidance about certain requirements for the project. I think it’s useful to have some freedom about what tools to use so I just mean in particular some specifics about what things should be on the site.

--

--