CS373 Spring 2021 Final Entry: Andrew Li

How well do you think the course conveyed the following 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 think that the course conveyed these takeaways very well, especially considering the papers that we read over the course of the semester. I think that this course helped a decent amount in improving my coding habits.

Were there any other particular takaways for you?

How did you feel about cold calling?

At first, I didn’t like the idea of cold calling, where the professor calls on people randomly during class to ask questions about the material, but after the first time, I actually quite like it. The professor doesn’t make you feel bad about not knowing the answer, and talks through every step of the code with you, and I think the cold calling actually helps a lot in learning.

How did you feel about office hours?

I personally never went to office hours, but I did get help from the TA’s outside of office hours, and they were very helpful. I’m sure that no matter what questions you have, the TA’s will be more than happy to answer them during office hours.

How did you feel about lab sessions?

Again, I never went in during the lab sessions, but the TA’s were always kind in helping me with my problems.

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

Technically, Docker was not required, but it was highly suggested. It made development very easy, as it had all of the tools I needed easy to access.

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

The VS Code Live Share extension was extremely useful to our group. Live share allows multiple members of the group to simultaneously work on the same file on a single machine, which made collaborating on different parts of the project much, much easier.

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

This part was tough, and we definitely had some issues when we started off, including almost using up all of our free credits on Google Cloud Platform in the first week, but we essentially banged our heads on a wall until we found solutions to all of our problems. Again, while much of what you do in this class will be self-taught, don’t be afraid to ask for help either from TA’s, or fellow students on Piazza.

Give me your suggestions for improving the course.

Like I mentioned above, the first few weeks were really tough for us, as getting started with all of the new software and technologies was very frustrating, and the actual coding of the project was not as bad in comparison. It would be nice if we had maybe a few days or a week in class to teach us about a few of these technologies.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store