CS373 Spring 2021 Final Entry: Vincent Huynh
Long-term takeaways from CS 373:
· 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
1. How well do you think the course conveyed those takeaways?
I think the lectures conveyed these takeaways very well. We had opportunities to discuss in class through cold calling and asking questions, test our knowledge with quizzes at the start of each class, and apply the concepts with coding exercises. This made learning these takeaways a more well-rounded experience.
2. Were there any other particular takeaways for you?
I would read all the weekly papers, even if you don’t annotate all 15. They contain a lot of useful information and were selected very well.
3. How did you feel about cold calling?
Its not as bad as you think it is- in fact, its not bad at all. Being called on will only clarify your understanding of the topic, if anything.
4. How did you feel about office hours?
I haven’t attended any office hours for CS 373 this semester, but I’m sure they were helpful for students that did attend.
5. How did you feel about lab sessions?
I haven’t attended any lab sessions for CS 373 this semester, but I’m sure they were helpful for students that did attend.
6. What required tool did you not know and now find very useful?
Postman was extremely useful for testing and documenting our API, as well as GitLab CI/CD for using a testing pipeline.
7. What’s the most useful Web dev tool that your group used that was not required?
Recharts was definitely very useful for making data visualizations in React and is a great extension of D3.
8. How did you feel about your group having to self-teach many, many technologies?
Its definitely more difficult than having organized material directly taught because of the time spent searching the internet for sources of information. However, it did make me feel like we had more control over our project, as we were able to select technologies that were most relevant.
9. Give me your suggestions for improving the course.
This course is very well organized and flexible. It would be nice to have the work a bit more evenly distributed over the phases, but I understand that the phases are grouped by main features that need to be implemented.