CS373 Spring 2021: Final Entry
- 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 lectures did a great job of giving examples about the takeaways. Also, the group project allowed me to develop my skills and some of these helpful habits.
Were there any other particular takeaways for you?
A separate takeaway I had this semester was working on a big team. Most of my group projects were one to two other partners. It made the scale of the project seem a lot more manageable with all the support from my teammates.
How did you feel about cold calling?
Cold calling helped me pay attention during lecture by making me be ready during any moment of class. Also, working through the problems with the professor was very beneficial.
How did you feel about office hours?
I found the office hours to be the extra help I needed or my teammates needed.
How did you feel about lab sessions?
The lab sessions were helpful as well. The TAs were a great resource all semester for tips and advice.
What required tool did you not know and now find very useful?
The Postman API documentation was very impressive and useful to learn. It made the planning of our API a great deal easier.
What’s the most useful Web dev tool that your group used that was not required?
Our group made use of a lot of React libraries to develop our front-end UI. They gave our UI the attractive look it has, displayed videos, and developed our charts for our visualizations
How did you feel about your group having to self-teach many, many technologies?
Most of the tools and libraries we used had a lot of useful documentation behind them which made the self-teaching fairly simple.
Give me your suggestions for improving the course.
I would suggest revising the SQL exercises a little. Either more time or maybe breaking each statement into its own submission. It was tough because we did not know how we were doing until the end which can be annoying.
I would suggest making it a requirement for members of a group to change roles after each phase. If one person worked on the front-end one phase, then the next phase they would have to implement something on the back-end. I think it would help make sure everyone at least branched out a little.
Though, overall I had a fun time this semester and I’m happy I took this course. It gave me a lot of useful knowledge that I intend to use after I graduate!