Software Verification & Validation
Prerequisite(s): CSI 3372 or consent of instructor. Advanced topics in software engineering research, including techniques used in software verification and validation with a focus on software specification and testing.
Advanced Object-oriented Development
Software Engineering Track Curriculum
The courses you will take in the Master of Computer Science Online - Software Engineering Track are listed below. Based on your previous education, you may need to take some foundation courses prior to beginning these courses. They are listed in the brochure and an enrollment advisor can help determine if they are necessary.
Distributed Systems Development
Prerequisite(s): CSI 4344. Object‐oriented development brings many instruments and constructs that involve composition, inheritance, polymorphism, templates, etc. However, how do you use them effectively to solve engineering problems? In this course, you will learn how to apply the best software industry practices to object‐oriented design and programming. We will examine basic and more advanced design patterns that are applicable in conventional programming as well as for enterprise solutions. You will learn to recognize design issues and refactor them using the best practice.
Advanced Software Engineering
Distributed systems underlie software in multiple domains, including enterprises for stock trading, health care, online shopping, data processing, and transportation management. These systems are frequently designed using the Microservice Architecture (MSA). MSA splits the overall system into independent self‐contained modules managed by distinct development teams. These low-coupled modules interact on a high level (e.g., through REST calls or messaging), which enables development autonomy, individual module upgrades, or selective redeployment.
Prerequisite(s): CSI 5324 or consent of instructor. Advanced topics in software engineering research, including the techniques used in the modeling and analysis of complex systems.