CS371g Summer 2021 #3: Matt Lang

Matthew G Lang
3 min readJun 20, 2021

What did you do this past week

The highlight of my week, school-wise, was finishing Collatz. Most of my work was geared towards figuring out how to properly use Gitlab and the several tools (astyle, cppcheck, doxygen, etc.) used in the project. I also spent some time reviewing the Google C++ Style Guide found on the Resources page of the class website. My goal is to find a consistent style to write these projects in.

What’s in your way?

Similar to last week, I do not think there is much to say here. However, my overall workload is increasing. As long as I keep things scheduled and start early, I do not anticipate any problems here.

What will you do next week?

Finishing project #2 and going to lecture! I do not anticipate things to be too difficult, but I plan on going to office hours for this class to ask for help for any confusion I may experience. Asking for help is not a well-formed habit I have, and I have a goal to change this.

If you read it, what did you think of the Paper #3: Pair Programming?

I find the arguments of Paper #3 to be increasingly true as I work on the second project with my partner. I almost forget about how often frequent little mistakes occur when working alone, as most of these are now squashed before compilation. Working when paired has also been much more enjoyable, which the paper argues.

What was your experience of value vs. pointer vs. reference, and Incr?

Knowledge of the types you pass and receive to functions is extremely important. In the past, I have dealt with performance issues due to passing large objects (i.e., vectors) by value to functions. I am glad Professor Downing is lecturing early on this topic, as the flavor of value cannot afford confusion.

What was your experience of Boost Serialization and RMSE?

I have done very little with the boost libraries, and am glad Professor Downing gave a brief introduction to these in Friday’s lecture. I found the RMSE exercise beneficial to verifying the function I wrote for the project prior.

What made you happy this week?

This class outside of lectures is extremely active. I am very happy that both Discord and Piazza are always full of people helping each other out. This hugely contrasts with the limited interaction of my other classes.

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

I strongly recommend reading on constraints and concepts which were added in C++20. While the lab machines may not currently support this version of C++, I found it particularly useful when visualizing and planning error handling for this project. For instance, there is an invariant associated with movie ratings, where values are constrained from 1 to 5 ([1, 5]). While I cannot include a constraint for this, I now have a rough idea of how to handle potential out-of-range errors.

--

--