Final Entry CS373p Spring 2021: Shan Rizvi

Shan Rizvi
2 min readMay 9, 2021

How well do you think the course conveyed these 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 felt the course did a great job conveying the takeaways as they are stressed throughout the semester by Professor Downing. He goes over examples of how to do specific things well (refactoring, use of containers, etc.) so that we can apply them well in our projects.

Were there any other particular takeaways for you?

Refactoring is a really important aspect of software engineering. If your code is difficult to read or maintain it is pretty much useless long term.

How did you feel about cold calling?

I had gone through cold calling in OOP so I knew what to aspect, and was less anxious about it. Cold calling is a great way to keep you focused throughout class and I would recommend to anyone new to the class to not worry about it since Professor Downing is pretty chill about them and doesn’t expect you to know everything.

How did you feel about office hours?

Office hours were a great way for us to get help when my group was stuck on some part of our project and would definitely recommend going to them instead of trying to figure out one problem for an entire weekend.

How did you feel about lab sessions?

I wasn’t able to attend lab sessions but I’m sure they were useful for anyone who attended them.

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

I didn’t know how to use docker much before this semester but now I find that it is incredibly useful for containers.

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

We used Algolia for the search engine which made searching much easier than we expected.

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

I think that it was a really good way to learn how to self-teach technologies as that is how we will have to learn as we go into the real world.

Give me your suggestions for improving the course

I think the overall course experience was great, if I’d recommend anything it’s that we have less requirements on what to use and how the website is laid out so that we can be more creative.

--

--