The study of computer systems and the way they are organized, including software protocols. Knowing the capabilities of and restrictions on computer systems is a prerequisite for designing effective software.
Software Systems Curriculum
The Software Systems program provides skills, knowledge and thought processes necessary for professional software production, while also providing a broad background of various computing systems that graduates will encounter in their careers. The Software Systems curriculum is divided into three areas, Fundamentals, Systems, and Software Engineering.
The study of how to effectively program as part of a team under realistic time and resource constraints. This includes high-level issues such as software architecture and project management, as well as low-level issues such as version control and best practices for coding.
SoSy also includes a two-semester long capstone project where a student's team implements a significant software system in close collaboration with a faculty member. These projects are competitive to get into and showcase one's mastery over one (or many!) areas of software development and computer science. The capstone project is something the student can be proud of at the end of their degree!