Week of 06 Dec

Software Engineering has been a great course overall. The course has covered many topics, from using various tools like git, Travis CI, and unit testing libraries to Python to SQL to design patterns. In addition, much of the work is done outside of class in the form of projects, both individual and in groups. The first few projects formed an introduction to some of the tools and processes that one might encounter in industry. The last three projects centered around building a website from scratch within a team of five people. The website project was a good experience for coordinating work with other people and learning how to put distinct parts of the project together. It also gave us the opportunity to work with databases, APIs, and frontend frameworks as well as see how quickly technology changes in even a few months time.

Other than the projects, there were also daily quizzes and two exams throughout the semester. The quizzes tested material from the readings as well as what we learned in the prior classes. Overall, the quizzes were fair, but there were a plenty of tricky questions as well. The first exam was fairly easy and only tested us on a subset of Python. I thought the second exam was a lot harder, especially the questions over SQL and XML. I would definitely suggest preparing for the exam by reviewing all the code from class as well as creating a cheat sheet to bring to the exam.

I would definitely recommend that all UTCS students take Software Engineering, especially if they have not had any industry experience yet. The course provides a great introduction to the software engineering industry as well as meaningful projects to put on your resume. The classes are also highly engaging as long as you are not afraid to be called on in class.

Written on December 6, 2015