CS 373 Spring 2021 Blog 15: Ian Trowbridge

How well do you think the course conveyed these 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 thought that the course conveyed the takeaways reasonably well. I do feel as if the lack of connection (for the most part) between the lectures and the main project made me sometimes forget to try and use these ideas in my website code. Often during the semester, I would get so caught up trying to get code to work that I would end up with an uncommented mess. I did feel that the takeaway of resuing code was very well conveyed as I did this many times throughout the project.

Were there any other particular takeaways for you?

Constant communication is the key to success in a team project.

How did you feel about cold calling?

I did not think the cold calling was too bad. It forced you to pay attention in case you were called.

How did you feel about office hours?

I only really went to a single office hour so I cannot comment on how well they were implemented.

How did you feel about lab sessions?

I only really went to a single lab session hour so I cannot comment on how well they were implemented.

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

I did not find TypeScript very useful. I started the website project while using TypeScript for the frontend, but soon after the first phase I essentially began using it the same way I used JavaScript. It was mainly a lack of personal discipline, but I did not really feel that the extra type-strictness contributed much to the language.

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

The Material UI package was the most useful Web dev tool our group used. It provided MUI Datatables that implemented sorting, searching, and filtering for us.

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

It was difficult at times, but a valuable experience for the future. We will not have any classes to teach us future technologies, so learning how to self-teach is invaluable.

Give me your suggestions for improving the course.

Linking some up-to-date tutorials for React JS would be nice. I saw that there were tutorials for the backend, but I felt it was rather difficult to get started initially on the project since I lacked any substantial experience with React.