Gunnar Hovik


Seeking Employment


Software Practice II

Completed: Spring 2023
Grade: A

Course Description

An in-depth study of traditional software development (using UML) from inception through implementation. The entire class is team-based, and will include a project that uses an agile process.

Reflection

As the title would suggest this course took concepts learned in CS3500 and expanded on them. It also saw a transition to lower level languages with the use of C++. This also meant that I had to learn the basics of Makefiles in order to compile my projects instead of releying on built-in tools in the IDEs used in previous courses. At this point I had made a full switch to Linux as a daily driver OS and was glad that it was open to me to use whatever code editor I wanted. In addition to working on more software basics with the help of the QT graphics framework this class also began to talk about workplace flow with the introduction of the agile process. The class saw large group projects that forced students to become familiar with this work process and have weekly SCRUM meetings.

Projects:

  • "1D Cellular Automata"
  • "Classes, Facades, and Makefiles"
  • "A Trie and Rule-of-Three"
  • "Eduapp"