CS371p Spring 2021: Final Entry

Sonali Bhat
3 min readMay 8, 2021

--

Sonali Bhat

How well do you think the course conveyed those takeaways?

I think I learned a lot taking this course. Specifically, the workflow involving writing unit tests before writing code is something I hope to take with me. I also found our discussions on weak/strong iterators really enlightening. I had never previously thought too much on these categories, but I feel like I now know better when to use a certain type. I also feel like I learned a lot about the importance of good code design and refactoring code.

Were there any other particular takeaways for you?

I thought our discussion and the papers on why we shouldn’t use getters and setters in our code were really interesting. So far, I had never been told to avoid them, and was actively encouraged to use them during my summer internship. Reading the papers helped me understand how, in most cases, code can be designed in such a way to avoid unnecessary flows of information and why it could be dangerous to not.

How did you feel about cold calling?

It definitely forces you to pay attention! It wasn’t too bad though! I appreciated how Prof. Downing is always very casual and doesn’t put anyone on the spot if they don’t know the answer.

How did you feel about office hours?

I didn’t attend any office hours.

How did you feel about lab sessions?

I didn’t attend any lab sessions.

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

I had not previously used Google Test, which is a C++ unit testing framework. It was made writing unit tests for our projects simple!

You should have read five papers that describe SOLID design : Single responsibility, Open-closed principle, Liskov substitution, Interface segregation, Dependency inversion. What insights have they given you?

These papers really helped me understand good object oriented code design. They discussed when it makes sense to separate code into individual classes and the consequences of not doing so.

You should have read two papers that advised minimizing getters and setters. What insights have they given you?

The papers on minimizing getters and setters were really enlightening. I had never considered it before, but it makes sense on why we would want to reduce unnecessary flows of information. I think allowing classes to handle work themselves rather than requesting information to do the work in a different class helps all the classes have a more complete functionality involving their own data. I had also never considered the possible problems that could be involved with using getters/setters such as a change in data type of the stored variable.

Give me your suggestions for improving the course.

I think this course has been great! I cannot think of anything to improve the course. I feel like I have learned a lot about C++ and how to create well designed object oriented code. I think the workload was manageable. The blogs were a good way to self reflect on how we were doing throughout the semester. Reading and annotating papers was really insightful. I liked how the in class group exercises gave us a chance to try out the concepts that we discussed in class. I really appreciate how Prof. Downing always welcomes questions and never makes any question seem trivial. Overall, I think it was a well structured course and I learned a lot!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Sonali Bhat
Sonali Bhat

Written by Sonali Bhat

0 Followers

Student currently pursuing a BS in Computer Science

No responses yet

Write a response