About the Program

The Software Engineering master's degree program is designed as a 30-credit hour interdisciplinary graduate program jointly administered by the Department of Computer and Information Science and the Department of Electrical and Computer Engineering. The curriculum consists of required core courses and technical electives, providing opportunities to design and implement embedded systems and large-scale software systems.

All courses have access to a wide variety of computing resources: local area networks of approximately 200 Quad Core and I7 PC's, as well as the Games and Multimedia Entertainment Laboratory.

The program may be completed entirely on campus, entirely online, or through a combination of on-campus and online courses.

Students with an interest in pursuing doctoral studies or working in a research and development environment are encouraged to elect the thesis option.

If you have additional questions, please contact the program committee chair:  Dr. Zhiwei Xu.

Get an Inside Look

MS in Software Engineering
We focus mainly on software testing problems, software maintenance, and evaluation problems because it is required by the software industry.
Dr. Marouane Kessentini, Assistant Professor, CIS Department

Program Details

  • 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 

  • Eligibility Requirements

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

    A bachelor's degree in Computer Science or Computer Engineering from an accredited institution with a grade point average of "B" or better. Applicants who do not meet the minimum GPA requirements may be offered admission. Admission in such cases will depend heavily on other indices of the student's ability to handle graduate-level work. These might include strong performance on standardized tests, GPA in the major, and/or other experiences that are clearly indicative of strong academic ability.

    Preference will be given to students with a background in Computer and Information Science and Computer Engineering.

    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

    International applicants, applicants whose native language is not English or who have received their Bachelor's or Master's degree from outside the United States, Australia or England please refer to the following English Proficiency requirements.

     

  • Prerequisite Course Descriptions

    MS SWE Course Prerequisites

    CIS 310 - Computer Organization

    • Prerequisite: MATH 115 and (CIS 200 or IMSE 200) and CIS 275
    • Description: The architecture of computer systems and associated software. Topics include digital logic circuits, computer interfacing, interrupt systems, input/output systems, memory systems, assemblers, assembly language programming, and computer networks. (4 credits)

    CIS 350 - Data Structures and Algorithm Analysis

    • Prerequisite: MATH 115 and (CIS 200 or IMSE 200) and CIS 275.
    • Description: A focus on data and algorithm design. Data design topics include object-oriented discussions of hashing, advanced tree structures, graphs, and sets. Algorithm design topics include the greedy, divide-and-conquer, dynamic programming, backtracking, and branch-and-bound techniques. A significant discussion of algorithm complexity theory, including time and space trade-offs and elementary computability theory, is included. (4 credits)

    CIS 450 - Operating Systems

    • Prerequisite: IMSE 317, (CIS 350/3501 or IMSE 350 or (ECE 370, ECE/MATH 276, (ECE 372 or ECE 375))).
    • Description: The study of operating systems as managers of computing resources. Management of CPU, memory, and devices. Case studies of popular operating systems. (4 credits)

    IMSE 317 - Engineering Probability and Statistics

    • Prerequisite: One year of calculus.
    • Description: Set theory, combinatorial analysis, probability and axioms, random variables, continuous and discrete distribution functions, expectations, Chebychev's inequality, Weak Law of Large Numbers, Central Limit Theorem, sampling statistics and distributions, point and interval estimation, and linear regression. (3 credits)

Curriculum

To satisfy the requirements for the MS degree in Software Engineering, all students admitted to the program are expected to complete thirty semester hours of graduate coursework, with a cumulative grade point average of B or better. The program of study consists of core courses, electives, and the project/thesis option.

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

  • Core Courses

    All students are required to take the following courses:

    • Three out of the following five CIS courses
      • CIS 553 - Software Engineering
      • CIS 565 - Software Quality Assurance
      • CIS 566 - Software Architecture and Design Patterns
      • CIS 575 - Software Engineering Management
      • CIS 580 - Data Analytics in Software Engineering
    • ECE 554 - Embedded Systems
    • ECE 574 - Advanced Software Techniques in Engineering Applications
  • Application Courses
    • Web Engineering

      • CIS 525 - Web Technology
      • CIS 534 - The Semantic Web
      • CIS 536 - Information Retrieval
      • CIS 559 - Principles of Social Network Science
      • CIS 562 - Web Information Management
      • CIS 571 - Web Services: Concepts, Architectures, and Applications
      • CIS 577 - Software User Interface Design & Analysis
      • CIS 580 - Data Analytics in Software Engineering
      • CIS 678 - Research Advances in Software Engineering
      • ECE 528 - Cloud Computing
      • ECE 570 - Computer Networks and Data Communications
    • Game Engineering

      • CIS 515 - Computer Graphics
      • CIS 552 - Information Visualization and Multimedia Gaming
      • CIS 577 - Software User Interface Design and Analysis
      • CIS 579 - Artificial Intelligence
      • CIS 580 - Data Analytics in Software Engineering
      • CIS 587 - Game Design and Implementation I
      • CIS 588 - Game Design and Implementation II
      • CIS 652 - Information Visualization and Computer Animation
      • CIS 678 - Research Advances in Software Engineering
      • ECE 524 - Interactive Media
      • ECE 5251 - Multimedia Design Tools I
      • ECE 5252 - Multimedia Design Tools II
      • ECE 579 - Intelligent Systems
    • Data Engineering and Analytics

      • CIS 556 - Database Systems
      • CIS 5570 - Introduction to Big Data
      • CIS 562 - Web Information Management
      • CIS 568 / ECE 537 - Data Mining
      • CIS 5700 - Advanced Data Mining
      • CIS 579 - Artificial Intelligence
      • CIS 580 - Data Analytics in Software Engineering
      • CIS 585 - Advanced Artificial Intelligence
      • CIS 586 - Advanced Data Management
      • CIS 658 - Research Advances in Data Management
      • CIS 678 - Research Advances in Software Engineering
      • ECE 525 - Multimedia Data Storage and Retrieval
      • ECE 576 - Information Engineering
      • ECE 579 - Intelligent Systems
    • Information and Knowledge Engineering

      • CIS 5570 - Introduction to Big Data
      • CIS 559 - Principles of Social Network Science
      • CIS 568 / ECE 537 - Data Mining
      • CIS 5700 - Advanced Data Mining
      • CIS 579 - Artificial Intelligence
      • CIS 580 - Data Analytics in Software Engineering
      • CIS 585 - Advanced Artificial Intelligence
      • CIS 678 - Research Advances in Software Engineering
      • CIS 679 - Computational Game Theory
      • ECE 5251 - Multimedia Design Tools I
      • ECE 527 - Multimedia Security and Forensics
      • ECE 531 - Intelligent Vehicle Systems
      • ECE 537 / CIS 568 - Data Mining
      • ECE 552 - Fuzzy Systems
      • ECE 576 - Information Engineering
      • ECE 577 - Engineering in Virtual World
      • ECE 579 - Intelligent Systems
      • ECE 583 - Pattern Recognition and Neural Networks
      • ECE 588 - Robot Vision
    • Mobile and Cloud Computing

      • CIS 535 - Programmable Mobile/Wireless Technology and Pervasive Computing
      • CIS 537 - Advanced Networking and Distributed Systems
      • CIS 546 - Wireless Network Security and Privacy
      • CIS 548 - Security and Privacy in Cloud Computing
      • CIS 647 - Research Advances in Networking and Distributed Systems
      • ECE 528 - Cloud Computing
      • ECE 535 - Mobile Devices and Ubiquitous Computing Systems
      • ECE 570 - Computer Networks and Data Communications
      • ECE 5701 - Wireless Communications
    • Embedded Systems

      • CIS 525 - Web Technology
      • CIS 527 - Computer Networks
      • CIS 535 - Programmable Mobile/Wireless Technology and Pervasive Computing
      • CIS 537 - Advanced Networking and Distributed Systems
      • CIS 546 - Wireless Network Security and Privacy
      • CIS 535 - Programmable Mobile/Wireless Technology and Pervasive Computing
      • CIS 569 - Wireless Sensor Networks
      • ECE 505 - Introduction to Microprocessors and Embedded Systems
      • ECE 535 - Mobile Devices and Ubiquitous Computing Systems
      • ECE 5541 - Embedded Networks
      • ECE 5542 - Embedded Signal Processing and Control
      • ECE 5751 - Reconfigurable Computing
  • Cognate Courses

    Students can take any graduate-level courses approved by the student's advisor, as described in the requirements for graduation.

  • Project Option

    Students desiring to obtain project experience are encouraged to elect the directed studies CIS/ECE 591 (3 credits) or Project Course CIS/ECE 695 (3 credits) to work under the supervision of a faculty advisor. In addition, the student must take one additional 3-credit course listed above or any other CIS/ECE course related to the project and approved by the Graduate Program Director.

    • Core courses - 15 credit hours
    • Application courses - 9 credit hours
    • CIS/ECE elective course - 3 credit hours
    • Project - 3 credit hours
  • Thesis Option

    Students desiring to obtain research experience are encouraged to elect CIS/ECE 699 (6 credits) and work under the supervision of a faculty advisor.

    • Core courses - 15 credit hours
    • Application courses - 9 credit hours
    • Thesis - 6 credit hours

Computer and Information Science

105
CIS Building
Phone: 
313-436-9145
Fax: 
313-593-4256
Back to top of page