CS373 Software Engineering Final Entry: Daniel Gao
My takeaways from this class:
- Software Engineering is much more than just writing code that works
- Importance of code reusability and maintainability
- Nuance and challenges associated with a long term engineering project with consumers
- Different design patterns for code and when to use each
- The importance of testing at different stages of the codebase(unit, integration, etc)
How well do you think the course conveyed those takeaways?
This course definitely conveyed these takeaways very well through the weekly blog reads as well as the ongoing project over the course of the semester that allowed me to experience these concepts firsthand.
How did you feel about two-stage quizzes and tests?
I personally liked the concept of a two-stage test. It was something I had never seen before and forced me to actually go over my mistakes and learn from them, as I usually just move on without learning the correct answers.
How did you feel about cold calling?
I was a bit bummed out about the cold calling as I was not really prepared to pay attention in class, however, it did help me learn a lot more as I was forced to pay attention. Some of the questions asked to me were a bit vague even though there was one specific answer Professor Downing was looking for, but that is understandable.
How did you feel about office hours?
I never went to office hours, but I’m sure they were great.
How did you feel about lab sessions?
I actually didn’t know lab sessions existed or what they are even.
Give me your suggestions for improving the course.
I think in the future the restrictions on the project can and should be either less strict or better explained on the project page. For a lot of the benchmarks, my group was forced to “guess” as to what was required of us, and there seemed to be a lot of hidden requirements that resulted in us losing points, which we would have been able to implement if we were explicitly told to do so(what to include on technical report, API documentation, libraries we were supposed to use, etc.). I would have also liked if we spent some time talking about system design concepts(database design, concepts of frontend and backend, Network Protocol).
To Future Students
Best of luck! This class teaches a lot of useful skills and ideas if you want to go into the industry. I personally have learned quite a bit, so I hope you will as well.