|
Download the PDF version of this degree
Software Engineering is a discipline concerned with the practical
problems of developing large-scale software systems. Software engineers
are the architects of the software component of a computer-based system,
providing several levels of representations or blueprints leading to
specifications through which programmers build the subsystems and
modules of the system. Software development methodologies and management
techniques combine with theories from mathematics and computer science
in a cost-effective manner to solve real-world system development
problems. This degree provides students with the theoretical foundations
of software engineering, experience in team projects involving software
development and management, hands-on experience with state-of-the-art
tools, an understanding of advanced software development and management
techniques, and exposure to the most recent developments and emerging
technologies in SE.
All students complete any necessary prerequisite courses plus 13
graduate courses. All students are required to participate in an
extensive team software development project using cutting edge
technologies and the Software Engineering Research Seminar to keep them
abreast of this rapidly changing field. For this reason, they are not
required to take a Core Knowledge Examination. However, to be admitted
into the program, they need to have demonstrated through their prior
coursework that they can consistently perform at a B level or higher.
Students complete the requirements of one of the three concentrations:
Project Management, Software Development, or Software Systems.
Admission to the Project Management concentration requires two or more
years of experience in software development or a closely related field.
The Project Management Concentration
of the Master of Science in Software Engineering addresses the
management of the quality of software products and processes and
provides coursework in management and measurement techniques.
The Software Development Concentration
of the Master of Science in Software Engineering addresses the
foundations, methodologies, and tools for developing high quality
large-scale software systems, with an emphasis on the technical issues
of software development.
The Software Systems Concentration
of the Master of Science in Software Engineering addresses the
foundations and theories in designing and developing system software and
tools for programming languages and software development.
The Software Engineering program has two phases:
The Prerequisite Phase ensures that all students acquire the
necessary background prior to enrolling in graduate courses. All or part
of the Prerequisite Phase may be waived if a student has the equivalent
academic background. In the Graduate Phase, students develop as software
engineering professionals by completing required courses that provide a
common body of knowledge for their concentration as well as advanced
courses that complement and add depth to the common body of knowledge.
All students also participate in an extensive team software development
project and the Software Engineering Research Seminar. Individual needs
are addressed through elective courses chosen in consultation with a
faculty advisor.
Prerequisite Phase
|
|
The following courses are required for all concentrations:
- CSC 211 Programming in Java I
- CSC 212 Programming in Java II
- or CSC 224 Java for Programmers
- (CSC 224 is equivalent to both CSC 211 and CSC 212.Only
students with experience in programming languages should take CSC
224.)
- CSC 415 Foundations of Computer Science
- CSC 416 Foundations of Computer Science II
Also required for the Project Management
Concentration and the
Software Development Concentration:
- CSC 309 Object-Oriented Programming in C++
- or CSC 343 Introduction to Operating Systems
- or CSC 345 Computer Architecture
Also required for the Software Systems
Concentration
- CSC 309 Object-Oriented Programming in C++
- CSC 343 Introduction to Operating Systems
By taking these courses and receiving a grade of a B- or better in
each,
the student will have completed the requirements of the Prerequisite
Phase.
All or part of the Prerequisite Phase may be waived if a student has the
equivalent academic background. Alternatively, students with practical
experience may complete a Graduate Assessment Examination (GAE) to show
competency in a prerequisite. All students are blocked from enrolling in
Core Knowledge Phase courses prior to completing their prerequisites.
The student must submit an online Change of Status request when the
Prerequisite
Phase is completed to inform the Student Services offices that the block
can be removed. The online request must be submitted two weeks before
the student
intends to register for graduate level classes. The student will then be
considered a fully admitted student, and may pass to the GraduatePhase
of the program. Students may submit the Change of Status request by
logging in to
MyCTI at
www.cti.depaul.edu/myCTI. |
|
|
Degree Requirements
Students in this degree program must complete 13 courses (52 hours)
beyond the Prerequisite Phase. Successful completion of the Software
Engineering Program consists of:
-
Completion of required courses with a grade of B or better.
Students with prior coursework equivalent to any required courses may
be allowed by a Software Engineering counselor to take other related
advanced courses as substitutes.
-
Completion of advanced courses.
Graduate Phase
|
|
Students may register for graduate courses only
after meeting all Prerequisite Phase requirements. The graduate phase
consists of the following components:
Required Courses
Software Development Concentration
- SE 430 Object Oriented Modeling
- SE 431 Model-Driven Software Development
- SE 450 Object-Oriented Software Development
- SE 452 Object-Oriented Enterprise Computing
- SE 550 Distributed Software Development
Software Systems Concentration
- CSC 447 Concepts of Programming Languages
- CSC 491 Applied Algorithms and Structures
- SE 450 Object-Oriented Software Development
- CSC 448 Compiler Design
- or SE 431 Model-Driven Software Development
- SE 550 Distributed Software Development
Project Management Concentration
- SE 430 Object Oriented Modeling
- SE 450 Object-Oriented Software Development
- SE 452 Object-Oriented Enterprise Computing
- SE 477 Software and Systems Project Management
- SE 468 Software Measurement/Project Estimation
- or SE 470 Software Development Processes
Software Engineering Studio
Students in all concentrations are required to complete the
following:
- SE 491 Software Engineering Studio
- SE 591 Software Engineering Studio II
These two courses must be taken as a sequence in consecutive
quarters. Students will be working on a large, real project in a team.
The project will be carried out from conceptualization to
completion using the current technologies. |
|
Two courses from the following list. One must be 500 level.
- SE 420 Object-Oriented Design
- SE 427 Software Quality Management
- SE 433 Software Testing
- SE 450 Object-Oriented Software Development
- SE 452 Object-Oriented Enterprise Computing
- SE 466 Software Engineering Projects
- SE 468 Software Measurement/Project Estimation
- SE 469 Software Safety
- SE 470 Software Development Processes
- SE 477 Software and Systems Project Management
- SE 480 Software Architecture
- SE 529 Software Risk Management
- SE 533 Software Validation and Verification
- SE 540 Software Development for Mobile and Wireless Systems
- SE 542 Software Development for Limited and Embedded Devices
- SE 550 Distributed Software Development
- SE 552 Concurrent Software Development
- SE 554 Enterprise Component Architecture
- SE 558 Architecture and Design for Multiplayer Games
- SE 560 Structured Document Interchange and Processing
- SE 567 Software Reliability
- SE 570 Design and Architecture of Secure Software Systems
- SE 571 Software Maintenance
- SE 580 Design of Object-Oriented Languages
- SE 590 Advanced Topics in Object Oriented Technology
Two electives. See elective course
restrictions below.
Research
- SE 690 Research Seminar
Student must also complete one of the following:
- SE 696 Master's Project
- SE 698 Master's Thesis
or any 500-level SE course that is not part of the required
courses. Software engineering studio courses (e.g. SE 491 and SE 591)
may not be used to satisfy this requirement.
SE 698 Master’s Thesis is a two-credit hour course. Students must
register for this course a minimum of two times and must continue to
enroll in the course in every quarter after the first quarter until the
thesis is completed to the satisfaction of their advisor. A maximum of
four credit hours will apply for degree credit.
The Master's project or thesis must represent an original
contribution to the area, and may include system development, empirical
studies, or theoretical work. The scope and the details of the research
project will be determined by the research supervisor, and must be
approved by the student's academic advisor. |
|
Elective courses are in the range of 420-699 and must be
from the school of CTI. Credit for courses taken outside of the school
will only be given if approved by a faculty advisor. Courses suggested
for any Prerequisite Phase in any concentration do not count for
elective credit. Any course required for the student’s concentration but
taken as part of the requirements of another degree earned by the
student may be waived, but cannot be used for elective credit.
Last Modified:
Wednesday December 19, 2007
|