Computer Science and Engineering » Degree
Programs
M.S.
in Software Engineering
Introduction
Software Engineering is the computer science discipline concerned
with developing large applications. Software engineering covers
not only the technical aspects of building software systems,
but also management issues, such as directing programming teams,
scheduling, and budgeting.
The SMU Master's degree program in Software Engineering offers a balanced approach
to both the management and technical expertise necessary to succeed in this
critically important field. Many of the courses are based upon those proposed
by the Software Engineering Institute, specifically founded by the Department
of Defense to assist in the development of a sound foundation for this rapidly
emerging field. Centering on the problems of working professionals in this
field, the SMU program in Software Engineering serves the needs of both the
full- and part-time student.
The program requires 30 hours of coursework consisting of
12 hours of core courses and 18 hours of electives.
Admission Requirements
Bachelor's degree in one of the quantitative sciences,
mathematics, or computer science, or in one of the engineering
disciplines.
G.P.A. of at least 3.00 out of 4.00 scale in previous undergraduate
and graduate study.
A minimum of one year of college-level calculus.
A minimum of one year of experience in software development
and/or maintenance.
Satisfactory TOEFL scores for students where English is
not the primary language.
Degree Requirements
Thirty term-credit hours of graduate
courses with a minimum graduate G.P.A. of 3.00 on a 4.00
scale.
Satisfactory completion of the
core curriculum encompassing four courses:
CSE 7316 SOFTWARE REQUIREMENTS
CSE 7319 SOFTWARE ARCHITECTURE AND DESIGN
CSE 7314 SOFTWARE TESTING AND QUALITY ASSURANCE
CSE 7315 SOFTWARE PROJECT PLANNING AND MANAGEMENT
Satisfactory completion of three advanced elective courses
from the following list:
CSE 7312 SYSTEMS ENGINEERING FOR SOFTWARE INTENSIVE
SYSTEMS
CSE 7345 ADVANCED JAVA PROGRAMMING
CSE 7347 XML AND THE ENTERPRISE
CSE 7348 DISTRIBUTED JAVA ENTERPRISE COMPUTING
CSE 7359 SOFTWARE SECURITY
CSE 8312 SOFTWARE GENERATION AND MAINTENANCE
CSE 8313 OBJECT-ORIENTED ANALYSIS AND DESIGN
CSE 8314 SOFTWARE METRICS AND QUALITY ENGINEERING
CSE 8315 SOFTWARE ACQUISITION PRACTICES, LEGAL AND ECONOMIC ISSUES
CSE 8316 USER INTERFACE DESIGN
CSE 8317 SOFTWARE RELIABILITY AND SAFETY
CSE 8340 ADVANCED TOPICS IN SOFTWARE ENGINEERING
Satisfactory completion of three elective courses from
available graduate-level course offerings.
Articulation
All students entering the program are expected to possess
knowledge in the following core areas:
Discrete Computational Structures
Programming Languages
Data Structures and Algorithms
Operating Systems
Computer Architecture and Networks
Object-Oriented Programming
These core topic areas form
the basis of an undergraduate major in computer science.
Students entering
the program with an undergraduate degree other than computer
science will be asked to take an articulation course, CSE
5311, Fundamentals of Computer Science, to satisfy core competency
in the above topic areas. CSE 5311 does not count toward
the
30 hour degree requirement.
Entering students without a background in object-oriented
programming will be asked to take CSE 7345, Advanced Java Programming,
as one of their electives. CSE 7345 will count toward the 30
hour degree requirement.
CSE 5311 assumes the ability to program in Java or C++. Students
asked to take CSE 5311, who do not have a background in Java
or C++ are advised to take CSE 7345 concurrently or prior to
taking CSE 5311.
Students without CS undergraduate degrees and asked to CSE
5311 as an articulation course will receive conditional admission
to the program. Students must receive a grade of B or better
in CSE 5311 to continue in the program.