The following is a comprehensive list of the courses that comprise the Master of Science degree in Software Engineering, and which are taught by the department of Software Engineering. The program allows for three free professional elective courses, which can be taken from other departments at RIT. For more information about those courses please contact the appropriate academic unit.
| 4011-700 |
Software engineering practicum I A project course where students practice what they have learned or are learning in class, through directed study. The practicum is an ongoing project in which students register to participate as engineers in a specific role in accordance to individual levels of expertise and profile. For this practicum students register as Entry-Level Engineers. Credit 4, Class 0, Lab 4, Pre-requisite: Enrollment in the MSSWE program. |
| 4011-701 |
Software engineering practicum II A project course where students practice what they have learned or are learning in class, through directed study. The practicum is an ongoing project in which students register to participate as Senior Engineers in a specific role in accordance to individual levels of expertise and profile. For this practicum students register as Senior Engineers. Credit 4, Class 0, Lab 4, Pre-requisite: 4011-700 |
| 4011-702 |
Software engineering practicum III A project course where students practice what they have learned or are learning in class, through directed study. The practicum is an ongoing project in which students register to participate as engineers in a specific role in accordance to individual levels of expertise and profile. For this practicum students register as Master Engineers. Credit 4, Class 0, Lab 4, Pre-requisite: 4011-701 |
| 4011-710 |
Research methods Overview of the academic research methodologies used in graduate level work. Topics include: writing style, audience analysis, research planning, experimental design, document structure, research validation, and the process for submission and review to conferences and journals. Credit 4, Class 4, Lab 0, Pre-requisite: Admission to the MSSWE program. Students from graduate programs other than Software Engineering require departmental approval. |
| 4011-720 |
Software evolution and re-engineering This course explores the concepts of software evolution and reengineering and introduces approaches and support tools used to extract the information needed to assess existing software systems. Major maintenance activities are presented including estimating maintenance costs, managing change and predicting maintainability with software quality metrics. Organizational issues relative to product maintenance are discussed. Principles of software reuse and reverse engineering techniques are demonstrated through the use of class activities, team projects and case studies. Credit 4, Class 0, Lab 4, Pre-requisite: Enrollment in the MSSWE program. Graduate students from programs other than Software Engineering require departmental approval. |
| 4011-730 |
Process engineering and environments In this course, students will study the Software Process Engineering Metamodel (SPEM) standard as a tool for modeling and analyzing engineering processes. Students will use SPEM to characterize various process and organization models and patterns, and they will align these process characteristics to categories of needs for various organizations and projects. The students will study process engineering frameworks and the configuration and assembly of reusable process components into processes. Students will also study how tools and methods support the process and will identify issues in tool/artifact integration across the software development lifecycle. They will apply their learning to engineer software engineering processes, tools, and methods appropriate for their graduate projects and course projects. Credit 4, Class 0, Lab 4, Pre-requisite: 4011-720. Students from graduate programs other than Software Engineering require departmental approval. |
| 4011-740 |
Empirical software engineering This course focuses on the application and analysis of software engineering experimentation as a means of improving both the technical and process-oriented aspects of software engineering; includes software quality and testing, software design, maintenance, and software development techniques. Topics of interest include, but are not limited to the: analysis of empirical studies of software processes and products, evaluation and comparison of techniques and models (e.g., cost estimation, analysis and design methods, testing), analysis of reports on benefits derived from using studied technologies, examination of predictive models, and the characterization of research methods (measurement theory, experimental design, qualitative modeling, analysis approaches, grounded theory, protocol studies, families of experiments). Credit 4, Class 0, Lab 4, Pre-requisite: 4011-710. Students from graduate programs other than Software Engineering require departmental approval. |
| 4011-750 |
Software modeling Modeling plays a pivotal role during the pre-construction and post-construction activities of the software lifecycle. During the pre-construction stage models help software engineers understand, specify, and analyze software requirements and designs. During the post-construction stage, models can be used to analyze software systems while in operation. This kind of analysis includes reliability and safety issues as well as timing constraint analysis. Credit 4, Class 0, Lab 4, Pre-requisite: 4011-700 and one of 4011-720 or 4011-730. Students from graduate programs other than Software Engineering require departmental approval. |
| 4011-760 |
Software quality engineering This course begins with an exploration of the concepts underlying quality systems and the use of metrics. Students are encouraged to discuss the advantages as well as the limitations of systems and quantitative approaches, with a view to understanding the importance of interpretation in metrics usage and of matching quality systems choices to organizational objectives and culture. They learn the use of modern metrics such as DRE, PCE, COQ/COPQ, reliability objectives and SUMI scores through exercises in analyzing and interpreting charts. This is complemented with a project where they work in teams to design an appropriate quality system for a specific project/organizational situation. Credit 4, Class 0, Lab 4, Pre-requisite: 4011-701, 4011-730. Students from graduate programs other than Software Engineering require departmental approval. |
| 4011-770 |
Software architecture and product lines A system's software architecture is the first technical artifact that illustrates a proposed solution to a stated problem. For all but the simplest system, the achievement of qualities such as flexibility, modifiability, security, and reliability is critically dependent on the components and interactions defined by the architecture. The course focuses on the definition of architectural structures, the analysis of architectures in terms of tradeoffs among conflicting constraints, the documentation of architecture for use over a product's life cycle, and the role of architecture in defining product lines based on reusable components. Credit 4, Class 0, Lab 4, Pre-requisite: 4011-701, 4011-750. Students from graduate programs other than Software Engineering require departmental approval. |
| 4011-780 |
Experience and research report This course provides the student with an opportunity to reflect on his/her experience throughout this program and to relate that experience to his/her professional goals. The student builds a professional document during the last academic quarter of study. The report must include an in-depth research report on a topic selected by the student and in agreement with the student's experience report advisor. The report must be structured as a conference paper, and must be submitted to a conference selected by the student and his/her advisor. Credit 4, Class 0, Lab 4, Pre-requisite: Department authorization. |