logo MyCDM DePaul University Homepage
blank
 

M.S. in Software Engineering 2002

 
Home
Course Information
Course Syllabi
Schedule
Faculty
Undergraduate Degrees
Graduate Degrees
 
News and Events
Calendar
 
MSDNAA
TechSupport Guide
 
MyCDM
Prerequisite Knowledge Videos

2003 2002

For transition plans and course equivalency tables, please click here

Download Print Version


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.

For graduate programs in 2002, the main prerequisite programming language is Java. Some programs include other languages as prerequisites. Students who wish to transition to the new curricula should review their status with an advisor.

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 I

CSC 416

Foundations of Computer Science II

Also required for the Project Management Concentration and the Software Development Concentration: One advanced computer science course chosen in consultation with a faculty advisor.

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 Graduate Phase courses prior to completing their prerequisites. The student must submit a Change of Status request when the Prerequisite Phase is completed to inform the Student Services offices that the block can be removed. The form 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 Graduate Phase of the program.

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

  • Advanced courses

  • Software engineering studio

  • Research

Required Courses

Software Development Concentration

SE 430

Object-Oriented Modeling

SE 431

Formal Software Specifications and Development I

SE 450

Object Oriented Software Development

SE 452

Object-Oriented Enterprise Application Development

SE 550

Distributed Software Development

Software Systems Concentration

CSC 447

Concepts of Programming Languages

CSC 491

Design and Analysis of Algorithms

SE 450

Object-Oriented Software Development

CSC 448

Compiler Design

or SE 431

Formal Software Specifications and Development I

SE 550

Distributed Software Development

Project Management Concentration

SE 430

Object-Oriented Modeling

SE 450

Object Oriented Software Development

SE 452

Object-Oriented Enterprise Application Development

SE 477

Software and Systems Project Management

SE 468

Software Measurement and Project Estimation

or SE 470

Software Engineering 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.

Advanced Courses

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 Application Development

SE 466

Software Engineering Projects

SE 467

Software Reliability

SE 468

Software Measurement and Project Estimation

SE 469

Software Safety

SE 470

Software Engineering Processes

SE 477

Software and System 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 Systems

SE 550

Distributed Software Development

SE 552

Concurrent Software Development

SE 554

Enterprise Component Architecture

SE 558

Software Methodologies

SE 560

Structured Document Interchange and Processing

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

Software Engineering 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.

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 Course Restrictions

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.