Software Engineering Graduate Courses

Click on any course title below to read its description. Courses offered in the upcoming semester include a schedule, and are indicated by a label to the right of the title.

Software design principles, the object-oriented paradigm, unified modeling language; creational, structural, and behavioral design patterns; OO analysis and design; implementation of semester project. Laboratory course. Prereq: MET CS 341, MET CS 342, MET CS 520, or MET CS 521. Or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Teymourian CAS 201 R 6:00 pm – 8:45 pm

Techniques for the construction of reliable, efficient, and cost-effective software. Requirement analysis, software design, programming methodologies, testing procedures, software development tools, and management issues. Students plan, design, implement, and test a system in a group project. Laboratory course. Prereq: MET CS 342 and at least one 500-level computer programming-intensive computer science course; or instructor's consent.   [ 4 cr. ]

Fall 2017
Section Type Instructor Location Days Times
C1 IND Zhang CGS 515 W 6:00 pm – 8:45 pm
Spring 2018
Section Type Instructor Location Days Times
D1 IND Zhang MCS B25 R 6:00 pm – 8:45 pm

Theory and practice of quality assurance and testing for each step of the software development cycle. Verification vs. validation. Test case design techniques, test coverage criteria, and tools for static and dynamic analysis. Standards. Test-driven development. QA for maintenance and legacy applications. Experimental approaches. Prereq: MET CS 673; or instructor's consent.  [ 4 cr. ]

Builds on previous design and programming courses and introduces students to the technological, social, and pragmatic aspects of developing open source software through direct involvement in an open source project. Students learn to use the tools, techniques, and strategies of open source developers. They become familiar with the open source movement, its philosophy, history and licensing issues. This is a project-based laboratory course. Students are directly involved with and integrated into an open source project. They are expected to be active participants in the project and contribute to the project in various ways.  [ 4 cr. ]

View the full list of Computer Science & IT graduate courses.