SOFTWARE ENGINEERING
Program Requirements
The focus of the Master of Software
Engineering (MSE) degree program is to teach the advanced
state-of-the-art technologies in software development with
hands-on experience, and to apply the knowledge to some
challenging real-world problems. The program will guide the
students to acquire both technical skills and software project
management skills that are required to lead and to carry out
software development projects.
Prerequisites for Admission
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 such as C, C++, Java, Eiffel, C#,
or Smalltalk (UW-L equivalents: C-S 120, C-S 220,
and C-S 224)
2) Data structures and algorithms that include abstract data types
such as List, Stack, Queue, Tree and Graph (UW-L
equivalent: C-S 340)
3) Discrete mathematics that includes topics on set theory,
predicate logic, functions and relations (UW-L equivalent:
MTH 225)
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.
Admission Requirements
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.*
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 at
www.cs.uwlax.edu/mse
Note:
Application deadline is May 1 of each year for fall semester and
November 1 for spring semester.
Program Requirements (36
Credits)
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: (15 credits)
Credits
C-S 546
Object-Oriented Software Development
3
C-S 741
Software Engineering Principles
3
C-S 742
Formal Methods in Software
Development
3
C-S 743
Software Verification and Validation
3
C-S 744
Management Issues in Software Engineering
3
Elective Courses: (9 credits)
Credits
C-S 521
Programming Language Concepts
3
C-S 542
Structure of Compilers
3
C-S 549
Advances in Software Engineering
3
C-S 551
User Interface Design
3
C-S 554
Digital Image Processing
3
C-S 555
Fundamentals of Information Security
3
C-S 564
Advanced Database Management Systems
3
C-S 570
Parallel and Distributed Computing
3
C-S 571
Data Communications
3
C-S 750
Topics in Software Engineering
1-3
C-S 751
Seminar in Software Engineering
1-3
C-S 752
Independent Study
1-3
Capstone Project Work: (12 credits)
Credits
C-S 798
Software Development Project
1-6
C-S 798 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 computer science
department 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 by submitting the project proposal, 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. 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 computer
science department). 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 a source outside the
computer science department. The purpose of this project work is
to apply the knowledge gained in the course work to a real-world
problem. The sources for selecting the problem include other
departments (academic and administrative) in the university and
industries. A faculty member in the computer science department
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 computer science department, 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.