CS373 Spring 2021: Final Entry
Long-term takeaways from this class:
- 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?
The course conveyed the takeaways mainly through the lectures, in-class exercises, and the readings. I think I will be comfortable to use the tools when necessary in my future projects.
Were there any other particular takeaways for you?
Through the projects, I learned how to host a website on AWS.
How did you feel about cold calling?
I felt stressed the first time I heard about it. But after we actually did this in class, it was not bad at all. I feel no pressure if I don’t know the answer of a question because professor would never embarrass us and would always lead us to get the correct answer.
How did you feel about office hours?
I always get my questions answered. I also learned a lot from others’ questions.
How did you feel about lab sessions?
The TAs were very nice and patient. They walked me through all the steps and figured out the issue.
What required tool did you not know and now find very useful?
The most useful tool I learned is definitely Docker. Previously when I work on a group project, different machines can cause many trouble for us. However, Docker saved a lot of trouble for my group even if we are on different machines running on different systems.
What’s the most useful Web dev tool that your group used that was not required?
We used Algolio to implement our search feature. The tool is very straightforward to implement and is very powerful.
How did you feel about your group having to self-teach many, many technologies?
I had some experience with web development, so I was already familiar with most of the technologies, and the rest was easy for me to pick up. I also enjoyed sharing my experience with the rest of my group.
Suggestions for improving the course:
Overall, the course is exellent! It would be better if we can also cover some Javascript in class, expecially those questions we might encouter in an interview.