logo MyCDM DePaul University Homepage
blank
 

Masters of Science in Software Engineering 1999

 
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

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 CASE 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 14 graduate courses, including a project or a thesis in an advanced area related to Software Engineering, and so develop their own personal area of expertise as part of completing this degree program. 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.

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 includes a solid foundation in traditional computer science coursework together with advanced courses in Software Development, Distributed Systems, and Programming Languages.

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 complete a project or a thesis in an advanced area related to Software Engineering, and so develop their own personal area of expertise. 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 215 Introduction to Structured Programming using C++
and CSC 310 Principles of Computer Science I
or CSC 225
C++ for Programmers
(CSC 225 is equivalent to both CSC 215 and CSC 310.Only students with experience in programming languages should take this course.)
CSC 315 Analysis and Design Techniques
CSC 323 Data Analysis and Statistical Software I
CSC 415 Foundations of Computer Science I
CSC 416 Foundations of Computer Science II
MAT 145 Calculus for Information Systems
(MAT 145 is equivalent to MAT 150, 151 Calculus I and II)

Also required for the Project Management Concentration:

One advanced computer science course chosen in consultation with a faculty advisor, for example, one of the following.

CSC 343 Introduction to Operating Systems
CSC 349 Databases and Data Management
TDC 361 Basic Communications Systems
CSC 417 Foundations of Computer Science III

Also required for the Software Development Concentration:

CSC 417 Foundations of Computer Science III

Also required for the Software Systems Concentration:

CSC 343 Introduction to Operating Systems
CSC 345 Computer Architecture
CSC 417 Foundations of Computer Science III

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 14 courses (56 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.

Successful completion of a project or successful defense of a thesis. Students who complete a project need to consult with an advisor before registering for SE 696 to discuss possible topics. Students who complete the thesis must first complete the course CSC 690 Research Seminar to develop a thesis proposal. They should choose a thesis advisor before the end of the first quarter following completion of their required courses and should also form a thesis committee, consisting of three faculty members, including the thesis advisor. They must write a thesis proposal and obtain approval of this proposal from their thesis committee before enrolling in the course CSC 698 Master’s Thesis.

Graduate Phase

Students may register for graduate courses only after meeting all Prerequisite Phase requirements. The Graduate Phase requirements are:

Project Management Concentration

Students must complete the following seven required courses:

CSC 423 Data Analysis and Regression
SE 430 Object-Oriented Modeling
SE 431 Formal Software Specifications and Development I
SE 450 Object-Oriented Software Development
SE 465 Software Engineering Principles
SE 468 Software Measurement and Project Estimation
SE 477 Software and System Project Management

Students must also complete four of the following courses. At least two of these must be from the software engineering department.

CSC 426 Values and Computer Technology
CSC 428 Data Analysis for Experimenters
CSC 447 Concepts of Programming Languages
CSC 449 Database Systems
HCI 440 Introduction to Human-Computer Interaction
SE 420 Object-Oriented Design
SE 427 Software Quality Management
SE 433 Software Testing
SE 455 Software Development Methods
SE 466 Software Engineering Projects
SE 467 Software Reliability
SE 469 Software Safety
SE 480 Software Architecture
SE 529 Software Risk Management
SE 531 Formal Software Specifications and Development II
SE 533 Software Validation and Verification
SE 550 Distributed Software Development
SE 558 Software Methodologies
SE 571 Software Maintenance
SE 590 Advanced Topics in Object-Oriented Technology
SE 690 Research Seminar

Student must also complete one of the following:

SE 696 Master's Project
or SE 690 Research Seminar
SE 698 Master's Thesis

Continuous enrollment in SE 699 Software Engineering Research Continuation is required after enrollment in SE 696/698 until the project/thesis is completed. Students who choose to complete CSC 698 Master’s Thesis must first complete CSC 690 Research Seminar (which may count toward the Advanced Phase or elective requirement)..

Students in the Project Management Concentration must also complete two elective courses. See elective course restrictions below.

Software Development Concentration

Students must complete the following seven required courses.

SE 430 Object-Oriented Modeling
SE 431 Formal Software Specifications and Development I
SE 455 Software Development Methods
SE 465 Software Engineering Principles
SE 491 Software Engineering Studio
SE 531 Formal Software Specifications and Development II
SE 690 Research Seminar

Students must also complete four of the following courses. At least two of these must be software engineering.

CSC 423 Data Analysis and Regression
CSC 426 Values and Computer Technology
CSC 428 Data Analysis for Experimenters
CSC 447 Concepts of Programming Languages
CSC 449 Database Systems
HCI 440 Introduction to Human-Computer Interaction
IS 571 Software Maintenance
SE 420 Object-Oriented Design
SE 427 Software Quality Management
SE 433 Software Testing
SE 450 Object-Oriented Software Development
SE 466 Software Engineering Projects
SE 467 Software Reliability
SE 468 Software Measurement and Project Estimation
SE 469 Software Safety
SE 477 Software and System Project Management
SE 480 Software Architecture
SE 529 Software Risk Management
SE 533 Software Validation and Verification
SE 550 Distributed Software Development
SE 558 Software Methodologies
SE 571 Software Maintenance
SE 590 Advanced Topics in Object-Oriented Technology

Student must also complete one of the following:

SE 696 Master's Project
or SE 698 Master's Thesis

Continuous enrollment in SE 699 Software Engineering Research Continuation is required after enrollment in SE 696/698 until the project/thesis is completed. Students who choose to complete CSC 698 Master’s Thesis must first complete CSC 690 Research Seminar.

Students in the Software Development Concentration must also complete two elective courses. See elective course restrictions below.

Software Systems Concentration

Students must complete the following four required courses.

CSC 447 Concepts of Programming Languages
CSC 491 Design and Analysis of Algorithms
SE 455 Software Development Methods
SE 690 Research Seminar

Students must also choose one of the following programming language courses.

CSC 448 Compiler Design
CSC 535 Formal Semantics of Programming Languages
CSC 547 Advanced Topics in Programming Languages

Students must also choose one the following Distributed Systems courses.

DS 420 Foundations of Distributed Systems
SE 550 Distributed Software Development

Students must also choose three of the following software development courses.

SE 430 Object-Oriented Modeling
SE 431 Formal Software Specifications and Development I
SE 450 Object-Oriented Software Development
SE 465 Software Engineering Principles
SE 491 Software Engineering Studio

Student must also complete one of the following:

SE 696 Master's Project
or SE 698 Master's Thesis

Continuous enrollment in SE 699 Software Engineering Research Continuation is required after enrollment in SE 696/698 until the project/thesis is completed. Students who choose to complete CSC 698 Master’s Thesis must first complete CSC 690 Research Seminar.

Students in the Software Systems Concentration must also complete four elective courses. See elective course restrictions below.

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.