The MSSE program requires 30 credit hours of course work. The 30-credit course program of each student must include:

  • Fifteen (15) credits of core requirement courses.
  • Three (3) credits of practicum.
  • Twelve (12) credits of specialization courses.

The core courses may be taken in any order. However, all core courses must be completed before the student begins the practicum. The specialization courses may be taken at any time and in any order, as long as all course pre- and co-requisites are respected.

Core courses

  • CISC 611/CPEG 611 Software Process Management
  • CISC 612/CPEG 612 Software Design
  • CISC 613/CPEG 613 Software Requirements Engineering
  • CISC 614/CPEG 614 Formal Methods in Software Engineering
  • CISC 615/CPEG 615 Software Testing and Maintenance

Practicum

The practicum (CISC 691/CPEG 691 Practicum) will be guided by the individual student's interests. It must be arranged with, and approved by, a member of the Joint Graduate Committee on Software Engineering. The student will contribute to a significant software engineering project either on campus or in association with an off-campus organization such as a private business or government agency.

More information about the Practicum can be found here.

Specialization

The specialization is determined by the student's interests and must be approved by the student's advisor. The selected courses should form a coherent whole, giving the student a degree of expertise in a single area. Some possible specializations are:

Networks
CISC 650 Computer Networks and any three of: CISC 659 Topics In Communications, Distributed Computing and Networks, CISC 853 Network Management, CISC 856 TCP/IP and Upper Layer Protocols, ELEG 819 Topics in Networking I, CISC 861 Wireless Networks and Mobile Computing, ELEG 812 Wireless Digital Communications, CISC 664 Introduction to Network Security, and CISC 866 Special Problem

Scientific and High Performance Computing
Any four of: CISC 662 Computer Systems: Architecture, CISC 879 Parallel and Distributed Computing, CISC 672 Compiler Construction, ELEG 867 Empirical Program Optimization, MATH 607 Survey of Scientific Computing, CPEG 655 High-Performance Computing with Commodity, ELEG 652 Principles of Parallel Computer Architectures, and CISC 866 Special Problem

Communications and Signal Processing
Any four of: ELEG 833 Nonlinear Signal Processing, ELEG 832 Wavelets and Filter Banks, ELEG 630 Information Theory, ELEG 631 Digital Signal Processing, ELEG 632 Mathematical Methods for Signal Processing, ELEG 633 Image Processing, ELEG 634 Signals and Systems, ELEG 635 Digital Communication, ELEG 636 Statistical Signal Processing, ELEG 811 Channel Coding Theory and Practice, ELEG 812 Wireless Digital Communication, and CISC 866 Special Problem

Information Sciences / Artificial Intelligence
Any four of: CISC 888 Machine Learning, CISC 683 Introduction to Data Mining, CISC 637 Database Systems, ELEG 657 Search Engine Technology, CISC 681 Artificial Intelligence, CISC 886 Multi-Agent Systems, CISC 882 Natural Language Processing, and CISC 866 Special Problem

Systems and Architecture
Any four of: CISC 663 Operating Systems, CISC 662 Computer Systems: Architecture, ELEG 652 Principles of Parallel Computer Architectures, CISC 672 Compiler Construction, CPEG 622 Computer System Design II, ELEG 653 Computer System Security, and CISC 866 Special Problem

General Computer Science:
Any four of: CISC 662 Computer Systems: Architecture, CISC 663 Operating Systems, CISC 650 Computer Networks, CISC 681 Artificial Intelligence, CISC 640 Computer Graphics, CISC 672 Compiler Construction, CISC 601 Elements of the Theory of Computation, CISC 604 Logic in Computer Science, CISC 621 Algorithm Design and Analysis, and CISC 866 Special Problem