CS373 Spring 2022: Joshua Brown: Final Entry

Joshua Brown
3 min readMay 9, 2022


How well do you think the course conveyed those takeaways?
I thought that the course presented the takeaways in a clear, concise fashion with some repetition throughout adjacent lectures. However, I’m not sure if the takeaways stuck, as quizzes were generally content-based (such as on the intricacies of python for example), rather than on the takeaways themselves.

Were there any other particular takeaways for you?
While not directly about writing code, I learned the importance of communicating with my software development team throughout the semester. It was particularly important to communicate about blockers and what needed to get done to allow members to continue to work efficiently. Procrastinating on doing one item may stop another team member from being able to start their own item.

How did you feel about cold calling?
I thought that the cold calling was low stress, and an interesting mechanic. It was nice when the student being cold called asked questions and was attentive, however, it was sometimes frustrating when some concepts were overly repeated due to a student not paying attention. Sometimes, I felt as if the cold calling was slowing down the pace of the lecture, due to the slower nature of having more numerous conversations, rather than a traditional lecture with students asking the majority of the questions rather than the professor.

How did you feel about specifications grading?
Specifications grading was a new experience, but it made sense. However, the schema was a bit harsh in some regards, as missing an extra blog post could drop one’s A to a B, even if the student had done exemplary work in their project (which is arguably the most important part of the course). Virtual tokens helped ameliorate this, but some of the deadlines were a bit stringent, such as only having one day to resubmit a blog.

How did you feel about help sessions and office hours?
I didn’t go to help sessions nor office hours this semester, thus I do not have an opinion.

How did you feel about the support from the TAs?
The TAs were helpful in our weekly group meetings in providing an outline and tips for our software development projects. Additionally, it was always nice to be able to have our questions answered.

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?
Planning software for scalability is particularly important, especially as code is often added to rather than changed outright

You should have read two papers that advised minimizing getters and setters. What insights have they given you?
It was interesting to read the papers on getter and setters, as they had argued against practices previously taught early on in my computer science classes. However, separating responsibilities amongst relevant classes made sense to me, rather than arbitrarily divvying up work with less reasoning amongst a multitude of classes.

What required tool did you not know and now find very useful?
I previously had not used Flask, but now I find it very useful and easy to use in hosting backend servers.

What’s the most helpful Web dev tool that your group used that was not required?
I had previously used google slides for all of my presentations, but Canva was surprisingly easy to use amongst the team, and helped us make more aesthetically pleasing presentations.

How did you feel about your group having to self-teach many, many
I didn’t mind self teaching too much, however, I would have preferred to have some basics taught in class. If the student is meant to teach themselves everything, the class seems to lose its meaning.

In the end, how much did you learn relative to other UT CS classes?
I learned a fair amount of relevant skills, however the lecture content was a bit light.

Give me your suggestions for improving the course, but apologies in advance; specifications grading will remain.
I would like to have learned more about relevant tools in class. To maintain the self-learning aspect, perhaps half of the tools should remain to be self taught. Overall, however, I enjoyed the class and experience, and I recommend it for any student looking for an introduction to software development.