This course is designed to teach students how to ensure high quality software by means of testing, debugging, and other quality assurance activities. Students learn a combination of both theoretical and practical skills via get hands-on experience with modern software quality-assurance tools and approaches. Topics include: black-box and white-box testing, category-partitioning testing, unit testing, test-driven and behavior-driven development, combinatorial testing, code reviews, static code analysis tools, mocking, regression testing, capture-reply, mutation testing, and debugging.
About the Program
Master of Software Engineering (MSWE) Program Overview
The Master of Software Engineering (MSWE) is a professionally oriented, programming-intensive program designed to prepare students from diverse backgrounds for successful careers in software engineering.
Eligibility Requirements
- Bachelor’s degree (or equivalent).
- Proficiency in two programming languages.
Program Details
- Duration & Format:
- Length: 15-month, 49.3-unit program.
- Schedule: On-campus, from September of the first year to December of the second year.
- Part-Time Option: Available for domestic professionals working full-time. Part-time students are expected to complete the program within 27 months, with a maximum of 39 months.
- Learning Environment:
- Dedicated Study Space: MSWE students have access to a dedicated study room to collaborate and work on projects.
- Intensive Programming: The first quarter includes intensive programming exercises to solidify and expand students’ knowledge across the computing landscape, covering essential topics in Computer Science and Computer Systems.
- Time Commitment: Students will spend approximately 1,300 hours programming and analyzing code.
Curriculum Components
- Core Courses:
- Six courses covering the foundations of software construction, maintenance, and quality through hands-on projects.
- Courses addressing the non-technical aspects of professional software engineering careers.
- Experiential Learning:
- Students must complete an experiential learning requirement, typically fulfilled through a summer internship or project.
- For part-time students, alternatives such as faculty-supervised open-source projects or development of specific software for the School are available to satisfy this requirement.
- Capstone Project: In the final quarter, students will participate in a small-group capstone project, designing and implementing a substantial software system. Projects may involve challenges such as information classification, machine learning modules, large codebases, and cloud deployment.
Career Development Support
- Workshops & 1-on-1 Guidance:
- The Career Development Team offers group workshops and individual appointments to assist students in securing internships and full-time positions.
- Services include resume reviews, interview preparation, and salary negotiation advice.
Part-Time Program Considerations
- Schedule: Part-time classes are held in the late afternoons and evenings to accommodate working professionals.
- Limitations: Part-time students are ineligible for program fellowships and may face financial aid restrictions.
“I chose UCI’s MSWE program because I believed it would best prepare me for transitioning into the software industry. Coming from a background in biochemistry and biomedical research, I had little prior experience in the tech field and needed a program that would support someone like me in making this shift. I wanted to become proficient not only in coding but also in exploring different areas within computing and navigating the job market. The MSWE curriculum offered more than just coding skills; it provided access to useful resources like career counselors who guided me at every step and an extensive alumni network. The program struck the right balance between practical skills and real-world industry relevance, so choosing it felt like the best choice for getting my career started in software engineering.”
Alain Courtines, Current MSWE Student