CS 373 Spring 2023: Week 6

Gerardo Rafael Bote
4 min readFeb 20, 2023

--

Hello everyone! My name is Gerardo, and you are about to read my fifth weekly blog post for CS 373: Software Engineering, a class that I took during the Spring 2023 semester at The University of Texas at Austin.

What did you do this past week?

For this past week, I was heavily invested in making sure that Project 2 had met the necessary requirements for submission. As team lead for this project, I was in charge of making sure that everyone on the team was consistent with their jobs. I also implored them to ask questions to their teammates, TAs, or the Professor just in case something got in their way. Other than completing the work I had for Software Engineering and other STEM classes, I also focused on making sure that the logistics and events were properly planned for Engineer’s Week, a friendly competition between engineering organizations under the Cockrell school.

What’s in your way?

I was really annoyed when our website could not be deployed under different circumstances. For example, for some reason, our website works with the prefix www but sometimes without it. I also found that when we asked most of the TAs and the professor for help, they led us down paths of “Keep asking again” or “Ask somebody else”, delaying our progress in finishing the project on time. On the other hand, I was busy with extracurricular activities, as the responsibilities posed to me for Engineer’s Week is a lot for one person to process quickly.

What will you do next week?

For Project 3, I will 1) designate tasks for people in our team to tackle for our SWE project and 2) pass on my leadership to another member of the team. I also want to make sure that the dance that I practiced for is perfect for an upcoming performance. Also, since Engineer’s Week is happening, I think it may be best to see what other events the other engineering organizations have for us students so that we can all have fun! Lastly, I will also maintain a healthy schedule by going to the gym more often for the sake of dance.

What did you think of Paper #6: The Open-Closed Principle?

I thought the paper was very important because the Open-Closed Principle reduces the impact of changes in the software system. By designing software components to be open for extension, new functionality can be added without modifying the existing code, reducing the risk of introducing bugs or unintended consequences. Additionally, as I read more and more of the paper, I can tell that the OCP promotes better software design by encouraging developers to think about the future and the possibility of change. It encourages the use of abstractions and interfaces to define the behavior of software components, making it easier to modify or extend them in the future.

What was your experience of operators, iterators, and the ethics presentation?

I was really curious to learn more about operators again; as a topic that was briefly mentioned in my internship last year, I found it interesting that certain iterables like tuples and strings do not support item assignment. Also, this lecture was good for me, as it reinforced my ideas that the iskeyword in Python checks for reference equality while the ==symbol checks for value equality. Lastly, as for the ethics presentation, I found it really interesting because the guest speakers taught in a very unique way; instead of teaching ethics straightforwardly, they used a lot of interesting (and non-STEM examples) to get their points across.

What made you happy this week?

To be honest, as we approach the halfway mark of the semester, I’m glad that we are almost done with the school year. Each day of completing an assignment gives me hope and joy that we are almost on a new journey of new things to do and activities to experience during the summer (especially during a time when I get to explore more SWE principles in my internship).

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

I found this really good article called How to Build a Great Software Engineering Team because the author emphasizes the importance of hiring the right people, establishing a clear vision and mission, creating a positive and inclusive culture, and fostering collaboration and communication among team members to create the best software products out there. The author also provides specific tips and strategies for achieving each of these goals, such as developing a rigorous hiring process, providing regular feedback and coaching, and promoting cross-functional team collaboration.

--

--