CS373 Spring 2022: Nicholas Ehlers: Final Entry

Nicholas Ehlers
CS373 Spring 2022: Nicholas Ehlers
3 min readMay 9, 2022

How well do you think the course conveyed the takeaways?

This course seems to emphasize a lot of the key ideas that promote success in software engineering. My older friends who are currently in the industry echo the key concepts that are taught in the course, and the course accomplishes its goals very well.

Were there any other particular takeaways for you?

One of the primary takeaways that I learned from the course was to start projects early. No matter how confident someone is feeling in the material, they should begin their project as soon as possible because problems almost always occur.

How did you feel about cold calling?

The cold calling in the course was something I had to get used to, especially since I had not experienced it in any other course I have taken at UT. It did make me pay more attention in class so that I would not look like I did not know what was going on. After getting called on the first couple of times, I got used to it and was not phased.

How did you feel about specifications grading?

The specifications grading was an interesting concept. I actually liked the grading system because it seems like you can do well as long as you give your best effort to every assignment. However, if you do not complete assignments, your grade gets punished relatively harshly.

How did you feel about help sessions and office hours?

Overall they were helpful to my group. I did not use them as much as I should have.

How did you feel about the support from the TAs?

My group’s TA was extremely helpful in clarifying requirements as well as giving us tips on the design process, how early our group should get started, and other logistical details for the project.

You should have read five papers that describe SOLID design: Single Responsibility, Open-Closed Principle, Liskov Substitution, Interface Segregation, and Dependency Inversion. What insights have they given you?

The papers really made me think about fully designing my projects with regard to objects first before actually writing any code. The papers also emphasized designing objects to perform all of the internal tasks themselves in order to avoid code-breaking behaviors upon extension or adaptation.

You should have read two papers that advised minimizing getters and setters. What insights have they given you?

Getter and setter methods only promote potentially thousands of changes that need to be made to code if the object changes in any way in the future.

What required tool did you not know and now find very useful?

I had not had any experience with AWS hosting or many of the tools that AWS offers. The AWS platform seems to be an all-encompassing tool system for supporting a web application and incorporating some very cool features.

What’s the most helpful Web dev tool that your group used that was not required?

MaterialUI was a very helpful React library. It added a lot of functionality and allowed us to create a nice user interface for our project.

How did you feel about your group having to self-teach many, many technologies?

This process was fairly difficult in the beginning, but normally a person on my team would learn one tool and share the knowledge with the rest of the group. We divided and conquered a lot of the topics that had to be learned.

In the end, how much did you learn relative to other UT CS classes?

I found that I learned a lot more when compared to my other CS classes. This topic was not one that I was familiar with, so there was a lot of material to learn, and it was all new to me.

--

--