CS 373 Spring 2021 Final Entry: Rahul Ramaswamy

Rahul Ramaswamy
3 min readMay 10, 2021

Long Term 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

How well do you think the course conveyed those takeaways?

I think that this course thoroughly conveyed these takeaways. I learned a lot by taking CS373 with Professor Downing, in terms of writing clean and efficient code, as well as proper software engineering practices.

Were there any other particular takaways for you?

I also learned some interesting python mechanisms that I now use in my work for other projects.

How did you feel about cold calling?

Cold calling was not an issue for me. I think the fact that I never knew when I would be called on forced me to stay attentive and not zone out during lectures. Even if I was called on, and didn’t know the answer, Professor Downing was very helpful in guiding me to it and I did not feel nervous or stressed about getting an answer wrong.

How did you feel about office hours?

I probably didn’t take advantage of office hours as much as I should have, but the few times I went were really helpful. The TAs were able to help in a relatively one-on-one setting, so I was directly getting help with the issues I had.

How did you feel about lab sessions?

Pretty much the same as office hours.

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

I did not really use docker before this class, but now I see its value and will probably continue to use it to create containers for other projects as well.

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

Algolia was a really cool tool that made implementing searching on our website really easily.

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

I didn’t mind this aspect of the class. Most of my classes these days expect us to self-teach the material through reading the textbook, so learning through these projects was at least a more fun and engaging way of learning the material.

Give me your suggestions for improving the course.

I think that the initial CATME survey to gauge initial experience and create groups could have taken into account prior experience a little more because I found that most of my group didn’t know any React, so it was pretty much left up to one member to be a mentor and teach the rest of us, which probably put a lot of pressure on him.

--

--