CS373 Spring 2021: Shaharyar Lakhani — Week 2

Hello and welcome to my second blog post for CS 373: Software Engineering!

What did you do this past week?

This week, I learned a lot more about the tools used when writing code in a professional setting. I learned the importance of unit testing and different ways of ensuring that your unit tests are actually testing all aspects of your code. I also improved my skills in Python.

What’s in your way?

I’m having trouble with some of the new tools used in class; I think it will just take some time to wrap my head around how to use them and get a better idea of the big picture. As a result, it is hard for me to focus during class because I haven’t mastered the earlier concepts yet, so I often have to rewatch lecture and pause to make sure that I am understanding.

What will you do next week?

Next week, I will try to make progress and hopefully finish the first assignment, Collatz. My goal is to finish it by next weekend so that I don’t have to scramble last minute. I also wish to do a practice coding question with python everyday for no more than 10–15 minutes so I can get more accustomed to the language.

If you read it, what did you think of the makefile?

I thought it was pretty complex, but after reading some of the comments on Perusall and doing some independent research, I was able to get a better understanding of what it was doing. I figured that based on the name, makefiles are used to build files needed for running a program so that a user doesn’t have to run these files separately, but I learned more about what types of commands are involved in makefiles.

What was your experience of Docker?

I am unfamiliar with Docker, but I think the big picture is clear from the lectures; basically, we are able to create and make specifications for virtual machines! It sounds really interesting, and I plan on downloading and playing around with it very soon.

What was your experience of assertions?

I haven’t used assertions much in the past, but I realize how useful they can be to ensure that your code is working the way you want it to. I learned that they are not good to use in every situation, but for debugging purposes, they are extremely helpful.

What was your experience of unit tests?

In the past, I haven’t liked creating tests for my code. The coding always seems like the fun part. However, with the coverage tool, unit testing also seems pretty fun. I find it fascinating how this tool is able to check what percentage of your code is actually tested; It made me realize how much I don’t know and how much more there is to learn.

What made you happy this week?

I really like how neat python looks. My first coding language (and the language I’m most comfortable with) is Java, but I like the look and syntax of Python a lot more. I want to become comfortable with it so that I can use it in technical interviews and for side projects.

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

I think a good way to get used to Python is just to practice. I would recommend trying problems periodically on Leet-code. This is not only helpful, but pretty fun as well!