Master of Software Engineering


Prerequisite requirements

The students who wish to gain admission into the MSE Program should have taken courses on the following topics or should have knowledge in these areas (evidence or supporting materials required):

  1. A modern programming language (UWL equivalents: CS 120, CS 220, and CS 224)
  2. Data structures and algorithms that include abstract data types such as List, Stack, Queue, Tree, and Graph (UWL equivalent: CS 340)
  3. Discrete mathematics that includes topics on set theory, predicate logic, functions, and relations (UWL equivalent: MTH 225)
  4. Introduction to databases (UWL equivalent: CS 364)
  5. Introduction to Computer Organization (UWL equivalent: CS 270)

Students who lack any of these prerequisites must take additional courses (not counted for credit toward the MSE Program) to meet the prerequisites requirement. A cumulative grade point average (GPA) of 2.85/4.0 is required in these courses. This restriction on GPA for the prerequisite courses has been imposed to ensure that the students have adequate background in software development. In particular, non-computer science students may also be admitted into the MSE Program (see the admission requirements below) and hence a thorough knowledge of the topics covered in the prerequisite courses is necessary.

Other requirements for admission

In addition to the prerequisites identified above, each student also must satisfy one of the following requirements:

  1. The student must have a bachelor's degree in software engineering, computer science, computer engineering or an equivalent major, with an overall undergraduate grade point average (GPA) of at least 2.85/4.0 or a GPA of at least 3.0/4.0 in the last half of all undergraduate work or a GPA of at least 3.0/4.0 for no fewer than 12 semester credits of graduate study at another accredited graduate institution.1
  2. The student must have a bachelor's degree in any other discipline with an overall GPA of at least 2.85/4.0 or a GPA of at least 3.0/4.0 in the last half of all undergraduate work, and should at least have two years of working experience in software development. In this case, the student should provide at least two references from the work place. The referees should be able to comment on the knowledge and skills of the student in software development.

A dual degree option allows UWL computer science students to apply for admission to the Master of Software Engineering Program before completion of their undergraduate degree. Students seeking this option must consult an adviser early in their academic career to qualify for the dual degree.

More information can be obtained online in the Department of Computer Science.

Application deadline is May 1 of each year for fall semester and November 1 for spring semester.


Each student in the program should complete 24 credits of course work and 12 credits of project work. The course work consists of five core courses and three elective courses.

Core courses
CS 555Fundamentals of Information Security3
CS 741Software Engineering Principles3
CS 743Software Verification and Validation3
CS 744Software Project Management3
CS 746Software Modeling and Analysis3
Elective courses
Select nine credits from the following:9
Web Application Development
Free and Open Source Software Development
Mobile Application Development
Topics in Computer Science
Programming Language Concepts
Introduction to Robotics
Operating System Concepts
Structures of Compilers
Topics in Operating Systems
Advances in Software Engineering
User Interface Design
Artificial Intelligence
Introduction to Theory of Computation
Digital Image Processing
Secure Software Development
Machine Learning
Introduction to Data Science
Advanced Database Management Systems
Parallel and Distributed Computing
Computer Networks
Internet of Things
Computer Graphics and Modeling
Data Visualization
Topics in Software Engineering
Seminar in Software Engineering
Independent Study
Capstone project work
CS 798Software Development Project (take at least two semesters, maximum of six per semester)12
Total Credits36

CS 798 Software Development Project (1-6 cr.) is a 12-credit course involving a major software development project and requires the development of software for a particular application. Upon registering for this course, a student should choose a problem, analyze its feasibility in terms of time limits and resources, develop the requirements document and design (architectural and detailed) document, implement the design and demonstrate the product with appropriate test cases. A project proposal must be submitted to the Project Evaluation Committee (PEC) in the Department of Computer Science for approval before starting the project. This proposal should include the goals, project plan, time schedule, resource requirements and other details pertinent to the project. A student can register for the project course at any time after completing at least three courses and continue to work on the project thereafter. Depending on the work done in each term, the student will be given appropriate number of credits per term as outlined in the project proposal. The project advisor (a member of the PEC) is responsible for checking the work proposed/done in each term and giving the appropriate number of credits.

At the completion of the project, the student should submit a written project report that satisfies the requirements stated in A Guide for Writing a Software Development Project Report (available from the Department of Computer Science). This report will be evaluated by PEC. After PEC has read the report, (normally within a month after submission), an oral examination will be conducted. Members of PEC and the project supervisors/advisers (stated below) will serve as the examiners for this oral examination. The student will be given a pass/fail grade for the course at the end of the oral examination.

The project will address a real-world problem and hence will be selected from anywhere outside the Department of Computer Science. The purpose of this project work is to apply the knowledge gained in the course work to a real-world problem. Project sponsors may be from other departments (academic and administrative) in the university or from industries. A faculty member in the Department of Computer Science and a supervisor in the unit from where the problem is chosen (another department or industry) will jointly supervise/guide the student. In the event of not being able to find a suitable project outside the Department of Computer Science, the student may seek a project given by one of the faculty members in the department. The same faculty will supervise/guide the student. The latter option provides an opportunity for students to conduct research in software engineering.

University graduate degree requirements

After being admitted to the program of one's choice, candidates for a graduate degree must:

  1. Complete any preliminary course work and deficiencies.
  2. Complete all courses and other program requirements, including residence requirements prescribed for the degree desired in the respective school or college within a seven-year period from the date of initial enrollment, with the exception of students enrolled in the Student Affairs Administration and Leadership Ed.D. (SAA Ed.D.) graduate program. SAA Ed.D. students must complete all degree requirements within ten years from the time of initial enrollment in the graduate program.
  3. Earn a minimum of 30 credits for a master's degree; 54 credits for a doctorate or post-master's degree. Earn at least one-half of the minimum number of credits required in the program in graduate-only level courses (700, 800, 900, and non-slash 600 level courses). Some UWL graduate programs require more than 30 graduate credits. Please review the individual program requirements listed in the catalog for the exact number of credits required.
  4. Earn a cumulative grade point average of at least 3.00.
  5. Satisfy dissertation, thesis, seminar paper, terminal/graduate projects and internships, or comprehensive examination, where applicable. A dissertation or thesis approved by the committee must be submitted to Graduate & Extended Learning for editorial review and approval by the Dean of Graduate & Extended Learning. The recommended initial submission date for review is two weeks before commencement. Ordinarily, a seminar paper or project report does not have to be approved by the Dean of Graduate & Extended Learning. However, if the seminar paper or project report is to be archived in Murphy Library, the student must follow the same rules as they apply to the dissertation/thesis requiring approval from the Dean of Graduate & Extended Learning. For further research/dissertation/thesis guidelines, see Graduate & Extended Learning.
  6. File a completed "Intent to Graduate" form online via the WINGS Student Center immediately following registration for the final semester or summer term in residence. December graduates and winter intersession should file by May 1. May and summer graduates should file by December 1.
  7. Pay the graduation fee and remove all other indebtedness to the university. Payment of graduation fees does not imply readiness for graduation and does not take the place of applying for graduation.
  8. Complete all requirements within 30 days after the official ending date of a term in order for a degree to be awarded for that term. (See #5 above for separate deadline for written capstone experience.)