Software Engineering

This degree program is available both on campus and online.

Admission

 Applicants for the MS in Software Engineering are required to meet the following requirements:

  1. A bachelor’s degree from an accredited institution with a grade point average of B or better. An applicant with a lower GPA may be granted conditional. Preference will be given to applicants with backgrounds in computing, engineering, mathematics, or science.
  2. Satisfactory completion of the following:
    1. Calculus I & II
    2. One course in probability and statistics or linear algebra)
    3. Programming Language (Preferably C/C++ I & II)
    4. One course in data structures with algorithm analysis
    5. One course in microprocessors
    6. One course in computer architecture
    7. One course in operating systems


Note: Students may be admitted conditionally to make up deficiencies in 2( A-G). above. The software engineering prerequisites may be completed after admission into the program on a “conditional lack of preparation” basis or substituted by two or more years of full-time professional experience in sizeable software development projects. The program committee will determine any decision on substitutions. The applicant will be required to complete the appropriate courses within two years from the date of entrance. Prerequisite courses will not earn credit towards the MS – Software Engineering degree.

 3.Two letters of recommendation, with at least one from a person familiar with the candidate’s academic performance, are required. Copies of the applicant’s undergraduate transcripts and degree must be submitted.

Degree Requirements

The MS degree in Software Engineering is a 30-credit hour graduate program. Students admitted to the program are required to complete the approved graduate courses with a cumulative grade point average of B or better. The program of study consists of core courses, concentration courses, and the thesis/project/coursework option.

Minimum Grade Requirement in addition to maintaining a minimum cumulative GPA of 3.0 or higher every semester:

  • Courses in which grades of C- or below are earned cannot be used to fulfill degree requirements.
  • A minimum of a 3.0 cumulative GPA or higher is required at the time of graduation.

Advanced Standing

Up to six graduate credit hours (grade of B or better) may be transferred from another accredited institution. Students may transfer up to one-half (1/2) the minimum number of credit hours required for their master's or professional degree from University of Michigan campuses (including Dearborn, Ann Arbor, Flint).

A student is expected to complete all work within five years from the date of first enrollment in the master’s program. A student who fails to complete requirements within five years may be withdrawn and required to apply for readmission. Students exceeding this limit must submit a petition requesting additional time to complete the program. Petitions must describe in detail the amount of work remaining and a timeline for completion. You can review this policy and more on the Graduate Academic Policies page.

 

Program Requirements

The 30 semester hours of required coursework are distributed as follows:

Core Courses15
Application Courses9
Coursework/Project/Thesis6
Total Credit Hours30
Core Courses
All of the following ECE courses:
ECE 554Embedded Systems3
ECE 574Adv Sftwr Technq in Eng Appl3
Three (3) out of the following six (6) CIS courses:9
Software Security
Software Engineering
Software Quality Assurance
Software Architecture and Design Patterns
Software Engineering Mgmt
Data Analytics in Software Engineering
Application Courses
Choose three courses from one of the following application areas:9
Web Engineering:
Web Technology
Semantic Web
Text Mining and Information Retrieval
Foundation of Information Security
Computer and Network Security
Software Security
Principles of Social Network Science
Web Information Management
Software Quality Assurance
Software Architecture and Design Patterns
Web Services
S/W User Interface Dsgn&Analys
Data Analytics in Software Engineering
Advanced Computer and Network Security
Edge Computing
Research Advances in Software Engineering
Cloud Computing
Computer Networks
Game Engineering:
Introduction to Quantum Computing
Computer Graphics
Information Visualization and Virtualization
Software Engineering
Software Engineering Mgmt
S/W User Interface Dsgn&Analys
Artificial Intelligence
Data Analytics in Software Engineering
Computer Game Design and Implementation
Computer Game Design II
Advanced Information Visualization and Virtualization
Research Advances in Software Engineering
Interactive Media
Intelligent Systems
MM Design Tools I
MM Design Tools II
Data Engineering and Analytics:
Text Mining and Information Retrieval
Foundation of Information Security
Data Security and Privacy
Software Security
Database Systems
Introduction to Big Data
Web Information Management
Data Mining
Artificial Intelligence
Advanced Data Mining
Data Analytics in Software Engineering
Trustworthy Artificial Intelligence
Deep Learning
Advanced Artificial Intelligence
Advanced Data Management
Research Advances in Data Management
Research Advances in Software Engineering
Multimedia Data Stor & Retr
Information Engineering
Intelligent Systems
Information and Knowledge Engineering:
Introduction to Natural Language Processing
Text Mining and Information Retrieval
Foundation of Information Security
Software Security
Introduction to Big Data
Principles of Social Network Science
Web Information Management
Data Mining
Advanced Data Mining
Compiler Design
Artificial Intelligence
Data Analytics in Software Engineering
Computational Learning
Deep Learning
Advanced Artificial Intelligence
Advanced Data Management
Research Advances in Software Engineering
Research Advances in Computational Game Theory and Economics
MM Design Tools I
Multimedia Secur & Forensics
Intelligent Vehicle Systems
Data Mining
Fuzzy Systems
Information Engineering
Engineering in Virtual World
Intelligent Systems
Artificial Neural Networks
Robot Vision
Mobile and Cloud Computing:
Wireless Technologies and Pervasive Computing
Advanced Networking and Distributed Systems
Security and Privacy in Wireless Networks
Security and Privacy in Cloud Computing
Object-Oriented Programming and Its Applications
Software Engineering
Software Quality Assurance
Software Architecture and Design Patterns
Edge Computing
Research Advances in Networking and Distributed Systems
Soft Arch Des & Analysis
Cloud Computing
Mob Dev & Ubiqys Comp Sys
Computer Networks
Intro to Wireless Comm
Embedded Systems
Web Technology
Computer Networks
Wireless Technologies and Pervasive Computing
Advanced Networking and Distributed Systems
Security and Privacy in Wireless Networks
Software Architecture and Design Patterns
Wireless Sensor Networks and IoT
Software Engineering Mgmt
Edge Computing
Intro to Embedded Systems
Mob Dev & Ubiqys Comp Sys
Embedded Networks
Embedded Sig Proc and Control
Reconfigurable Computing
Coursework/Project/Thesis Option
Select six credit hours6
Total Credit Hours30

A student may elect the application area of his or her choice from CIS or ECE courses with the approval of the advisor. A course cannot be used as both core and application courses.

A student must choose one of the three options:

Option 1: Coursework. Students desiring to obtain deep/broad knowledge are encouraged to take two elective courses (6 credits) listed above that are not used to satisfy your core or application requirements. 

Option 2: Project. Students desiring to obtain project experience are encouraged to elect the directed studies ECE 591/CIS 591 (3 credit hours), or Project Course ECE 695/CIS 695 (3 credit hours) to work under the supervision of a faculty advisor, and take one additional 3-credit course listed in the Core Courses section and the Application Courses section , or any other CIS/ECE course related to the students’ project and approved by the graduate program advisor.

Option 3: Thesis. Students desiring to obtain research experience are encouraged to elect the thesisECE 699/CIS 699 (6 hours) and work under the supervision of a faculty advisor.

Master’s Thesis Committee

A Master’s thesis committee consists of three full-time CIS or ECE faculty members, one of whom is the thesis advisor and requires the approval of the Software Engineering graduate committee. When deemed appropriate, the chair of the graduate committee may request the presence of an additional member from outside CIS or ECE.

Preparatory Courses

Students with inadequate background in CIS or CE may be required to meet with the department graduate advisor to determine the need for preparatory courses and to determine what courses to take prior to consideration into the Masters program.

For further information contact:

Department of Computer and Information Science
University of Michigan-Dearborn, 4901 Evergreen Road
Room 105 CIS, Dearborn, MI 48128-2406
Tel: 313-436-9145 Fax: 313-593-4256
E-mail: umd-cisgrad@umich.edu

Software Engineering provides a systematic, disciplined, and quantifiable approach to the development, operation, and maintenance of software. The program includes core engineering courses plus electives chosen from a graduate introduction to software engineering, software reliability, management, interface design, and case studies. (12 credit hours)

Certificate offered on Campus and via Distance Learning

Program Requirements

Core Courses

CIS 553Software Engineering3
ECE 554Embedded Systems3

Additional Coursework

Complete 2 courses from the following (6 credits):
CIS 505Algorithm Analysis and Design3
CIS 565Software Quality Assurance3
CIS 575Software Engineering Mgmt3
CIS 577S/W User Interface Dsgn&Analys3
CIS 580Data Analytics in Software Engineering3
ECE 537Data Mining3
ECE 552Fuzzy Systems3
ECE 574Adv Sftwr Technq in Eng Appl3
ECE 576Information Engineering3
ECE 5831Pat Rec & Neural Netwks3

Learning Goals

  1. Students will be able to use mathematical and scientific techniques to solve software engineering problems.
  2. Students will be able to formulate problems, design experiments, collect, verify, validate, analyze, and interpret data and use this knowledge to design a reliable system, component, or process to meet requirements.
  3. Students will be able to use the techniques, skills, and modern software tools necessary for reliable and robust software engineering practice.
  4. Students will be able to recognize a problem, evaluate different methods and use software engineering principles to derive a feasible solution.