CS 373 Spring 2021 Final Entry: Pranay Kalagara

Professor Downing’s 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?

I think the course converyed all these takeaways very well. From the way the projects are designed to how Professor Downing goes about explaining key concepts in lecture, you end up learning a lot about each one and get better as an overall software engineer. Even though they may not be specific tools, they are skills that make you become a better programmer for the future.

Were there any other particular takeaways for you?

I think one particular takeaway for me was just how nice it was to go over SQL in class. I had known basic SQL but I’d never really had the chance to sit and actually learn the nuances of the language. I thought the excercises were good for that as well.

How did you feel about cold calling?

Initially I was nervous about it but I found that it kept me attentive during class. Towards the end I was glad it was a thing because without it I probably would have zoned out a lot more.

How did you feel about office hours?

N/A, I did not attend office hours.

How did you feel about lab sessions?

The lab sessions were nice and the TAs helped a lot with issues we were having.

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

I thought learning about Postman was pretty interesting. I had never used it before and at first I didn’t think its application was necessary but I came to appreciate how much it helped with documentation and such.

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

I’d say the most useful was Material-UI. It really helped a lot in building and filtering the tables we had because it basically does it all for you.

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

I found it to be kind of annoying because it can definelty be a lot but I think it was good preparation for the future since you may very well be asked to do the same once you start working. I’d say the harder of part of the course is just learning how to use the tools rather than the actual coding or algorithims you have to implement.

Give me your suggestions for improving the course.

I think going over at least some basic front-end or web development during lecture would be nice. Especially for people such as myself who have had no experience with it. I remember being pretty confused and overwhelmed at the start of the project so I believe that having some sort of intro would be very helpful.




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

“ Unexpected Question“

100 Days of Code — Day 1.

web development code image

TryHackMe Intro To Windows Write-ups

Active Record Associations

REST API Guideline Essentials

How to Build an Animated Survey Using the HTML Drag and Drop API (1)

A gif of a poll asking users to rank their ice cream preference

The World of Internet

5 Ways to Make Your CI/CD Pipeline More Efficient

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pranay R Kalagara

Pranay R Kalagara

More from Medium

CS373 Spring 2022: Daniel Fernandez

CS373 Spring 2022 Week 3: Tingyin Changchien

7 Minute Challenge — Plot twists

CS373 Spring 2022: Dani Amir