Software Engineering FAQ
What is Software Engineering?
Software Engineering is a discipline that focuses on the technologies,
methodologies, and tools for developing large-scale software systems. The
Software Engineering program intends provide students with both the foundations
and practical skills of software development and management. Currently,
our program focuses on object-oriented software development methodologies
and Java based development technologies and tools.
What is unique about the M.S. program in Software Engineering?
Software engineering is a field that has evolved rapidly in the past ten
years, and will continue to rapidly evolve in the foreseeable future. Our
Software Engineering program has been striving to bring the most current
and the most advanced methodologies and technologies into our curriculum.
During the past five years, we have introduced to our curriculum: object-oriented
modeling, design, and architecture, design patterns, Unified Modeling Language
(UML) and Rational Unified Process (RUP), software development in Java
including distributed and concurrent software software development, component
architecture, enterprise application development in J2EE, software development
for wireless and mobile devices (PDA), and XML related technologies.
The Software Engineering program will also provide students with experience
in developing large-scale software projects in a team environment in the
Software Engineering Studio (SE 491/591).
We also believe that in a rapidly evolving field like software engineering,
it is important to keep students abreast of the new developments in the
field. In order to achieve this goal, the research component of Software
Engineering program provides students with the opportunities to go beyond
the regular classrooms and textbooks and to gain exposure to the emerging
and developing technologies, tools, and standards. The research component
consists of
Master's Project or Master's Thesis.
In 2004, a new Professional track is introduced as an alternative to the research track.
The professional track consists of two seminar style courses on software engineering processes and tools, and
a comprehensive exam.
The professional track intends to provide students with broad and comprehensive knowledge in the field of
software engineering, and to prepare students for the CSDP (Certified Software Development Professionals)
certification administrated by IEEE.
Does the Software Engineering program require more course work than other programs
in CTI?
No. Software Engineering requires the same number of graduate level courses
as other Master's programs in CTI.
Does the Software Engineering program have core exams?
No. However, Software Engineering requires students to complete the Software
Engineering Studio and either the Master's Project or Thesis for the research track, or
SE681/682 plus the comprehensive exam for the professional track.
Does the Software Engineering program require a Master's Thesis or a Master's Project?
No. Master's Thesis or Master's Project is required only for the research track.
What is the Software Engineering Studio?
The Software Engineering Studio consists of SE 491 and SE 591, which
are offered in the Fall and Winter quarter each year. In these two courses,
students will be working on a large, real project in a team. The project
will be carried out from conceptualization to completion, and will cover
all the important phases of software development, including requirements
definition and specification, architectural design, detail design, implementation,
testing, and maintenance. In the process, we will emphasize applying the
principles of software engineering, using the current methodologies, and
experimenting current technologies and tools. The instructor will serve
as the project leader and mentor to guide the students through the project.
The current offering of the Software Engineering Studio focuses on:
-
Developing an enterprise application using Java and J2EE technologies.
-
Applying object-oriented development methodologies.
-
Using design patterns and object-oriented frameworks in architectural and
detail designs.
-
Using UML throughout the development process.
-
Using various tools for development and management, including UML design
tools, version control tools, etc.
What are the differences between a Master's thesis and a Master's project?
A Master's Thesis documents the results and contributions of a research
project. It requires a defense and the approval of a committee that consists
of three faculty members. A Master's Thesis is a formal document that must
follow certain customary format and guidelines. The focus of the research
can be theoretical or practical.
A Master's Project usually consists of:
-
developing a demo or prototype of some new tools or technologies etc.,
-
writing a project report, and
-
making a presentation at the Software Engineering seminar or symposium.
A project report is less formal than a thesis, and only requires the approval
of the student's research advisor.
What is the Software Engineering Seminar?
The Software Engineering Seminar is for students to learn the most
current developments and trends in the field of software engineering, and
to prepare them for their Master's project or thesis. Students must register for
the SE seminar (SE690) before registering for the Master's Project (SE696) or
Thesis (SE698).
The Software Engineering Seminar usually meets once
every three weeks or so in Fall, Winter and Spring
quarters.
Each student is required to:
-
make no less than two presentations: a survey and an in-depth comparison
of emerging technologies, methodologies, and tools in the field, and submit
a report.
-
participate the CTI Research Symposium and the Software Engineering
Symposium by contributing a poster or a paper presentation.
The current schedule of the Software Engineering seminar can be found at:
http://venus.cs.depaul.edu/MS-seminar/
The CTI Research Symposia are held annually in early November. The Software
Engineering Symposia are held annually in late May or early June.
The requirements and deliverables of those
students who choose to take the reserach option with SE696 or SE698
may vary depending on the nature of the projects or theses.
The requiremtens and deliverables of those students
shall be decided by the advisors of the
projects or theses individually.
It usually takes a couple of quarters for a student to complete the requirements of SE690.
Students are only required to register for SE690
once but are required to continue to participate until successful completion of the requirements.
How long does it take to complete the research component?
It usually takes three quarters or more to complete
the research component, i.e., MS project or thesis (SE690 followed by SE696/698).
So students should plan accordingly. Students should
start attending the Software Engineering Seminar as soon as they complete
the require courses. Students are welcome to attend the seminars without
formally registering for the seminar course.
How do I register for SE 690, SE 696, or SE 698?
You need to fill out the Independent Study Form, and have your research
advisor sign it. It is not necessary to register in advance.
To register, students can bring a completed Independent Study Form to the first
SE seminar meeting each quarter.
If you have any other questions regarding the Software Engineering
program, email to jia@cs.depaul.edu
Xiaoping Jia (xjia@cti.depaul.edu
)
Last modified: Mon Sep 8 12:04:22 CDT 2003