CS 373 Spring 2022 — Week 14 Blog, Joseph Muffoletto
What did you do this past week?
This past week, I spent the majority of my time on campus trying to make progress on my various projects. Since each of my courses is based on a semester-long project, I have been trying my best to balance my efforts between them. Aside from my academics, I met with my autonomous systems research advisors, met with the other leads in Longhorn Racing Combustion, and had various meetings with my fraternity.
What’s in your way?
The main thing in my way is myself. I need to be more disciplined so I can close out this semester. I also need to figure out my registration. As part of the integrated BS/MS, we are required to take courses outside of the CS department. I spent quite a bit of time the past few weeks emailing engineering professors for approval, largely to no avail. It is a frustrating process and the uncertainty of my fall schedule is weighing on me. I hope to get this resolved soon, but I suspect that I will have to wait after the engineering graduate students have registered (late June).
What will you do next week?
Next week, I will keep making progress on my projects. I will also try and figure out my registration, although this seems a bit unlikely.
What did you think of Paper #14: The New Methodology?
I found it fairly interesting. We have little exposure to these methodologies in our coursework, so it is a bit difficult to apply these findings to our academics. Nevertheless, it is interesting to see the role that engineering philosophies play in the software development process.
What was your experience of refactoring.? (this question will vary, week to week)
I really enjoyed the lectures on refactoring. While there are many different ways to refactor that we have not covered, the intuition behind the examples we went over is helpful and applies universally. Object-Oriented Programming is quite a difficult paradigm to get right, so I do appreciate this knowledge.
What made you happy this week?
I spent some quality time with my new member class. We resolved some internal issues and then had a nice time afterward. It is moments like these that make me appreciate the community I have found myself in.
What’s your pick-of-the-week or tip-of-the-week?
TLA+ is a “formal specification language”. It allows you to design a system and then verify that it meets certain specifications. It is essentially a more verbose language of unit tests and assertions, and I have found it useful when designing concurrent and/or distributed programs. It's completely free, has a plethora of documentation, and has been used in the development of large software projects (e.g. Amazon Web Services S3).