Final Entry for CS 373 Summer 2019: Vaishali Jayaraman

Final Entry

  • What did you like the least about the class?

I felt like the project requirements for the class were sometimes a little misleading. A lot of the “requirements” listed were recommendations. Additionally, I did not realize that we also had a rubric listed, in addition to the project requirements. For example, we only found out about the rubric after we received our phase II project grades. The rubric was located at the bottom of the requirements phase at the end of the requirements for each phase, so we did not know that we had one since we did not look that far down on the page for the first few phases. Consequently, we lost points for things listed on the rubric that was not reflected on the phase requirements itself, such as technical documentation specifications.

  • What did you like the most about the class?

I enjoyed the in-class discussions and lectures. I appreciate how Professor Downing explains what happens under the hood of a lot of fundamental data structures. I also enjoyed working with my group.

I also really enjoyed working with my team. While I was quite skeptical about using a random group assignment tool such as CATME, I am very pleased with how it tuned out. I thoroughly enjoyed working with my group this summer!

  • What’s the most significant thing you learned?

I think the most significant thing I learned was how the various components of a web application work together and how to approach building one from scratch. I have also learned how to better estimate the time it takes for me to implement different aspects of this development.

  • How many hours a week did you spend coding/debugging/testing for this class?

On average, I have spent about 40–50 hours a week coding/debugging/testing for this class. Most of this summer, I just spent my days working on this project for about 10 hours straight. It has been quite time-consuming, but I have become a lot more comfortable with frontend development and got to experience working with a lot of new tools.

  • How many hours a week did you spend reading/studying for this class?

I spent most of my time this summer working on the projects with the rest of my group. Therefore, I do not think I spent a lot of time reading or studying for class. I only spent about an hour a week reading/studying for this class during the weeks without tests. During exam weeks, I spent about 6 hours preparing.

  • How many lines of code do you think you wrote?

I think I have written about 4,000 lines of code. I focussed rather heavily on front-end and a lot of my contribution involved the components that were rendered on our web pages.

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

I think I learned a lot of different tools during the course of the past seven weeks in this class. In particular, I learnt more about Docker, GitLab CI, and JSON. The required tool that I found the most useful was Docker-GitLab CI. While I was aware of these two tools separately, I never linked them together and found it to be very useful to set up a continuous integration pipeline.

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

Our group used a lot of web dev tools that were not required. We used Material UI to render different user interface components in React. It was very easy to use and helped us implement our frontend much more quickly than coding from scratch. We also used a lot of React libraries and tools, such as react paginate. React paginate helped us implement pagination on our website with just about 20 lines of code. It was well documented and really served the purpose.

  • How did you feel about the cold calling, in the end?

I think it was fine. I was not that concerned about it from the beginning. On hindsight, I think it helped me stay more focussed in class. Professor Downing communicates very quickly and also cold calls everyone in class, so the interactions are not too long.

  • If you could change one thing about the course, what would it be?

As I mentioned earlier, my teammates and I only learned that most of the “requirements” were actually just suggestions or recommendations and that we could have used other tools instead of the ones listed on the website. Additionally, the rubric was listed in multiple places and was not consistent throughout. This made it difficult to understand what was expected from our application and verify if we met all the criteria before submission.

Therefore, if there was one thing I could change about the course, it would be how the rubric/project requirement documentation is worded and structured. I think it would be more intelligible if all the requirements were listed in one place.