Part 1: Looking Back
Looking back, I think the course conveyed its main ideas pretty well, especially because the concepts kept coming back in different ways instead of only being taught once. Testing, design patterns, APIs, databases, and teamwork all felt more abstract at first, but they started to make more sense once we applied them to the IDB project. Some parts did feel overwhelming because there were so many tools and requirements at once, but that also made the course feel closer to real software development.
One lesson I will carry forward is the importance of writing code that other people can understand, test, and build on. Continuous integration and acceptance testing surprised me the most. At first, they felt like extra work, but later they became useful because they made it easier to catch mistakes and feel confident about changes.
One tool or technique that I found really useful was the use of CI pipelines in smaller scale projects. I had only seen CI used in large projects before, but using it for our IDB project made it easier to test and deploy changes without worrying about breaking things. It also made the development process feel more professional and efficient, which was a nice experience.
Compared to my other CS classes at UT, I think I grew more in practical software engineering skills than in theory. This course made me more comfortable learning unfamiliar tools, reading documentation, working with a team, and thinking about the user side of a project. That kind of growth feels valuable because it connects more directly to real-world software work.
Part 2: Your Experiences
14 collaborative exercises on Ed Lessons with 2 drops
What worked well?
They helped reinforce weekly concepts through practice and collaboration.
What could be improved?
Some exercises could be shorter and less repetitive.
40 collaborative quizzes on Canvas with 5 drops
What worked well?
They kept us consistently engaged with the material.
What could be improved?
There could be fewer quizzes overall.
9 problems on Kattis with 1 drop
What worked well?
The immediate feedback made debugging and learning easier.
What could be improved?
Some problems could connect more clearly to the course projects.
Continuous Integration
What worked well? It helped catch errors early and made teamwork smoother.
What could be improved? The setup and error messages could be explained more clearly.
Cold Calling
What worked well?
It encouraged participation and made class more active.
What could be improved?
It would help to have a little more time to think before answering.
Part 3: Closing Thoughts
Overall, this course was challenging, but it taught me a lot about what real software development looks like. Even when parts of it felt overwhelming, the mix of teamwork, testing, tools, and projects helped me build habits that I know I will carry forward.