This degree program provides the practical knowledge and experience needed to specify, design, develop, and maintain today's software systems. The program prepares students for either a career in software engineering or for advanced study in the field. The degree requirements are made up of ten 3-credit courses, including a required Grand Challenges course in which the student explores a computing topic under the guidance of a faculty advisor. Please review the prerequisites to this program prior to applying. Follow the application guidelines when applying. Required Courses for the M.S. Degree in Software Engineering: CSC 8000 Foundations of Algorithms and Data Structures CSC 8400 Computer Systems CSC 8490 Database Systems CSC 8540 Software Engineering CSC 8541 Requirements Engineering CSC 8542 Software Design and Evolution CSC 9025 Grand Challenges of Computing Plus three elective courses approved for the Software Engineering M.S. degree. Note that the electives include the thesis course (CSC 9030), which is designed to extend the independent study work into a full master's thesis. This is an attractive option for students considering further graduate education. Students may choose to participate in the practicum track that adds a 1-credit course (CSC 8990) to the requirements. This track requires work experience in a related field.