CS371p Fall 2022: Austin Nguyen

Austin Nguyen
3 min readSep 4, 2022

--

  • What did you do this past week?

This week I was able to gain some experience in using HackerRank for the exercise we did in class pertaining to the isPrime problem. I created a GitLab account connected through my GitHub and got to looking through the Collatz problem that is due next week. I also finished Paper #2 and was able to glean some important information from the makefile.

  • What’s in your way?

So, this summer during my internship, I was exposed to the unit testing environment. I am familiar with how to test and how to use assertions in the correct places in order to create efficient tests, but unfortunately, I am not familiar with the Google Test process. I plan on reading up on this method of unit testing in order to find success on this first project. I also would like to find a better way of reviewing for our daily quizzes. I have been able to successfully complete these quizzes, but I want to be more efficient about how I am studying.

  • What will you do next week?

This coming week, I would like to further my progress on the Collatz assignment. I would like to begin thinking about ways to make my algorithm more efficient and to start writing some high-quality tests that will get me to full coverage.

  • What did you think of Paper #1: Syllabus?

I think that the syllabus clearly outlines the expectations of this class and also the requirements for getting a good grade. It details exactly how many assignments of each category we must perform well on in order to obtain a certain desired grade. Additionally, something described in the syllabus that I have not yet been chosen for is cold calling. Luckily, Professor Downing makes these perhaps frightening moments less so by making these 1 on 1 moments much more conversational. Also, I remember using perusall in Mike Scott’s class and I think it is a great idea to do the same in this one. Perusall offers us students the opportunity to essentially collaborate with other students to understand the weekly assigned document.

  • What was your experience of assertions, unit tests, and coverage? (this question will vary, week to week)

I used many assertions in my past experiences with unit testing. However, it was really helpful to hear from Professor Downing that we need to be careful using assertions within the body of our actual code. These assertions can be good to evaluate post conditions and some non-user input-related preconditions but are not appropriate when testing. We must have a unit test framework from which we can test our functions thoroughly. If assertions fail in the code, then the tests we write may not be complete. As for the topic of coverage, we were introduced a bit to the tool GCOV. This tool basically allows us to see how much of our code has been tested, making sure that each conditional path has been evaluated at least once and making sure that no line goes untouched.

  • What made you happy this week?

I was really excited that I was able to learn a lot more in class and apply it to the daily quizzes! Learning about the Collatz algorithm, in particular, was very interesting to me and I am ready to apply my knowledge to the project.

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

My tip of the week is to use the following website: https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html. It has some really good documentation detailing how to use git in the command line. Since a lot of are SSH-ing into lab machines and working remotely to push and pull from repositories, this is a great resource to have on hand.

--

--