CS373 Spring 2021 Final Blog: Regina Chen

Regina Chen
3 min readMay 9, 2021



  • 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 think Downing did a great job teaching us these takeaways with both his lectures and the semester-year long project. The daily quizzes also made sure that we understood the purpose and functionality of many python and SQL tools mentioned in the takeaways listed above.

Were there any other particular takeaways for you?

I think some thing I really learned from this class was the importance of communication, and the idea of being a team. In this class, I was paired with strangers that I’ve never met, and had to learn to work with everyone. Things happen at times, and it is ok, but just remember to talk to your teammates and keep them updated, especially if you are about to miss something and/or need help. Your teammates and you are all trying your bests and share a similar goal; to do well on the projects. They are here to help and support you, just like how you should help and support your teammates as well!

How did you feel about cold calling?

Honestly, I was pretty nervous about cold calling, especially since I tend to be silent for classes. However, I think the cold calling made me make sure to be prepared and attentive for class. From my own experience and from seeing others being called, I realized that the cold calling was more for Downing to be able to interact with students, and to be aware of anything that we may not understand on a topic. He only cares about his students trying their best, and the cold calling is honestly very low pressure.

How did you feel about office hours?
I did not attend office hours, but appreciate how there are many hours available to accommodate for everyone.

How did you feel about lab sessions?

I feel like lab sessions are very welcoming and helpful! The TAs are all very knowledgable and friendly. Sometimes, other students in the lab sessions also have similar questions as well and it is nice to see/hear about other’s issues in case you may run into something similar.

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

I have used GitHub, but not GitLab before. My team and I used GitLab for our project, and I found it to be very useful to keep track of everything that is going on with our project. I like how we can make labels and keep track of issues.

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

My team and I used Visual Studio Live Share to share and collaborate on our project. Since everything is virtual and we cannot work together in real life, I found this tool to be the closest to be like if we were all working together on the same machine. Although it was not required, I found the live sharing to make pair programming a lot easier and more efficient.

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

Having to self-learn so much made me realize how many resources there are outside in the internet. I found Google and YouTube to be one of my best friend during this class. I also learned to not be afraid of asking other people such as my teammates, and the TAs for help.

Give me your suggestions for improving the course.

I wish the answer files to the Hackerranks were updated to the actual answers after we’ve done the exercises in class. It seems like a lot of the files are just the original files without changes. At times after class, we would go through the answers, but sometimes we do not have the time and it would be nice to have a fast and clear way to check and go through the answers.