CS373 Final Entry, Spring 2021

Saumyaa Krishnan
3 min readMay 9, 2021

How well do you think the course conveyed the takeaways?

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

I believe that this course did very well in emphasizing all these takeaways. Especially, in terms of testing and refactoring code. Professor Downing always encouraged us to produce the best possible code, and to test as we go. Additionally, the lectures really drove home the point of the first two takeaways, as the exercises and the cold calling helped us learn these concepts very well.

Were there any other particular takaways for you?

The biggest takeaway I got from this course was through the group projects. Through the group projects, I learned that proper teamwork was the key to producing a good project. I also learned about the importance of teamwork, and how important it is to communicate effectively with your team and make sure you were delivering tasks on time.

How did you feel about cold calling?

I believe cold calling was a great way for me to make sure I was staying focused in class, as it kept me on my toes and made me review the materials of the course in advance. Even though it was quite intimidating at first, it was a great way to facilitate learning.

How did you feel about office hours?

I believe the office hours were a great resource when you needed help with something. I went to office hours a couple of times for this class, and my issues were solved every time.

How did you feel about lab sessions?

Similar to office hours, lab sessions were a great resources for me to receive help when needed, and I am glad that they were offered.

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

Selenium and Javascript tests. Through the process of doing this project, I learned how to write these tests, and I am sure that they will help me in the future!

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

The most useful my group and I used were the various packages offered by React. They really helped us with a lot of components that we created, and helped us create some of our visualizations, our splash page, and more.

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

I felt that this was a very useful skill to gain. In the industry, a lot of things will eventually have to be self-taught, so it is good that we gained familiarity with how to do that for this class. In addition, self-teaching helped me understand how exactly learning these skills work, and due to this, I believe it was a very good structure.

Give me your suggestions for improving the course.

I believe one thing that could be improved in terms of this class is to give us a few more resources on what to use for our projects and some more resources on how to learn front-end development. In addition to this, I believe that Phase 2 of the project should have been allocated more time, and Phases 3 and 4 could have been given less time, as Phase 2 was the most grueling phase of the project. Other than that, I think this was a very fun and helpful course!

--

--