CS371p Fall 2020 Week 3: Darshan Bhatta

Darshan Bhatta
2 min readSep 14, 2020


What did you do this past week?

This past week was pretty productive. I finished up the optimization portion in the Collatz lab and finishing brushing up on C++. Also in my other classes as well I felt like I am getting more done in a shorter amount of time.

What’s in your way?

Nothing is really in my way currently.

What will you do next week?

Being done with the lab, I will be waiting for the next lab and working on it! I will also be practicing more C++ and try to get even better with it.

What was your experience of Collatz, the starter code, the makefile, its optimizations, and exceptions? (this question will vary, week to week)

The starter code was pretty straightforward and easy to dive right into. I was only a bit confused at first in the test file due to not being familiar with the unit testing framework, but once I understood how it was working, it was not hard to add additional test case files. Makefiles are essential to any project that requires many different modules that need to be compiled and linked and in this project, it was no different. All the function calls in the Makefile were useful and saved a lot of time such as the docker function to quickly get into the docker shell and committing code. Optimizing the code was interesting as I had to decide how I want to optimize and be able to pass the class’s test cases as well as the HackerRank. I ended up deciding on using meta cache and lazy cache and it seems to work pretty well. There was not much error checking in this lab, but the precondition that asserts the input given was pretty important.

What made you happy this week?

I was happy to finally finish this Project as well as in OS my partner and I finally were able to pass all the test cases after pulling our hairs for hours.

What’s your pick-of-the-week or tip-of-the-week?

My pick-of-the-week is Github Code Spaces, I got beta access recently and was trying it out and it works pretty well. It is a cloud containerized VS Code environment, so it allows anyone to code on anything regardless of what machine you are using in the browser. I think going forward in the future, will be the way to go because it will anyone have a centralized complex software development environment on any device. While working on the Collatz lab, I was thinking that the docker shell we were working from is very similar to this concept except the docker container is on the cloud.