CS 373 Spring 2021 Week 2: Joseph Graham
- What did you do this past week?
This past week I got Docker set up for the first project, read the makefile, and reviewed some of the past lectures to get more familiar with the environment we will be working in for the rest of the semester.
2. What’s in your way?
I am currently enrolled in two other computer science courses, Computer Networks, and Network Security and Privacy. I’m working on the first project in Computer Networks which involves creating a UDP protocol, and both classes have required a lot of reading. I want to start as early as I can on the Collatz project for this class, but won’t be able to direct all my attention to it next week because of my Computer Networks project.
I am not very familiar with Python and Docker, so learning these will be a bit of a challenge. Python so far seems structurally familiar to other programming languages but can have some wildly different syntax. I can’t wait to learn more!
As this semester continues, I will need to figure out how to best balance the work between all these three classes. The semester is still just starting out, so hopefully, as schedules and assignments become more regulatory I can get into a groove that I am most productive at!
3. What will you do next week?
Next week I plan on working towards completing the first project, Collatz. I will first need to review the last lecture on Friday to get a better understanding of how to get the workflow started. Once I understand the workflow on GitLab/docker, I will get started on the project itself, and hopefully, come up with relevant test cases along the way.
4. If you read it, what did you think of the makefile?
The makefile seems very convenient and a way to help make things a bit more automated. In previous courses, it was always something that I just accepted as a file that you needed to run, but reading through it and listening to Professor Downing’s explanations has helped me further my understanding of its purpose.
5. What was your experience of Docker?
I am brand new to using Docker, so it has been a little confusing at first. I downloaded Docker, pulled Professor Downing’s image, then tried running make docker in my local repository that I forked for the project. I kept getting an error about the repository not being lowercase, which confused me because the name was definitely lowercase. I ended up finding out that it wasn’t the repository that needed to be lowercase, but the entire file path that needed to be lowercase. I had a parent folder for the project called “Software Engineering”, and upon changing it to “software-engineering”, my issue was solved. Just a weird requirement from Docker I guess.
6. What was your experience of assertions?
Most of the assertions I’ve been familiar with were just for debugging C code in previous classes. I was unaware of how they can work with unit tests in python. It makes perfect sense to use them in the case of preconditions and postconditions for catching bugs.
7. What was your experience of unit tests?
The lecture going over unit tests was great because I wrote many many many unit tests this summer as a part of my SWE internship. So I was familiar with how to write tests and what coverage is. Unit tests can be kind of a hassle to write, but as I’ve learned, they are integral for testing your code for bugs before deploying a final product.
8. What made you happy this week?
What made me happy was going over material that has connected with my SWE internship last summer. Although it would have definitely helped to know this information before last summer, it’s a nice feeling coming into a class not completely clueless and familiar with some of the structure.
9. What’s your pick-of-the-week or tip-of-the-week?
My tip-of-the-week is for all those dark mode lovers out there. I recently discovered this chrome extension called Dark Reader that tries to automatically convert any bright white websites into a dark mode. It works pretty well, and you can manually whitelist (pun not intended) any website that doesn’t work well with it enabled. This extension really helps for late-night Googling for help on projects so that Google doesn’t blind your eyes.
Here’s a link: https://chrome.google.com/webstore/detail/dark-reader/eimadpbcbfnmbkopoojfekhnkhdbieeh