All students begin the MSCSS degree by taking three common core courses required for the degree. Each course covers a specific philosophy that is a trademark of the MSCSS program: Development, Design and Research.
CSS 543: Advanced Programming Methodology
Builds on knowledge of data structures and operating systems, introducing thread based and component based multi-tier programming. Reviews synchronization mechanisms and design/implementation of concurrent applications, discusses language/system independent software resuse, component technology, and multi-tier application design and development.
CSS 555: Evaluating Software Design
Studies best software engineering practices and methods used in prescriptive and agile approached to create and evaluate software design from an quality principled point-of-view. Considers design from quality dimensions such as performance, scalability, maintainability, usability, and security.
CSS 565: Research Methods in Software Development
In-depth study of research design and data analysis techniques for computing-related research activities. Students prepare a research proposal; examine experimental, quasi-experimental, and qualitative design strategies; perform meta-analytic research, define and collect appropriate software metrics; and perform appropriate advanced statistical analyses.
Systems Group
Courses within the systems group provide students who take the Graduate Certificate in Software Design & Development (GCSDD) with the necessary exposure to technologies and methods they will be interacting with as a software developer. Depending on a students background, 1 or 2 classes may be required as part of their degree pathway. Systems Group courses are taken upon matriculation into the MSCSS degree.
The following are just two examples of systems courses; specific courses will be detailed to a student's educational needs.
CSS 430: Operating Systems
Principles of operating systems, including process management, memory management, auxiliary storage management, and resource allocation. Focus on the structure of the popular desktop and real-time operating systems. Prerequisite: minimum grade of 2.0 in CSS 343; may not be repeated.
CSS 432: Network Design
Examines methods for designing LANs and WANs that optimize Quality of Service (QoS). Covers theoretical and practical element of the OSI protocol stack; routing protocols including OSPF and BGP; networking management/architecture; router configuration; security; and Internet policies. Explores emerging networking technologies. Prerequisite: CSS 301; either CSS 421 or CSS 422 which may be taken concurrently; may not be repeated.