Software Engineering
About the Program
Bachelor of Science in Software Engineering (BSSE): 188.0 quarter credits
The major in software engineering degree is a multidisciplinary degree sponsored by the College of Engineering and The iSchool at Drexel. The program, drawing on the strengths of existing Drexel programs in computer science and information systems, provides a curriculum that encompasses behavioral, managerial and technical aspects of software engineering and attempts to synthesize disciplinary paradigms and themes.
Advances in information technology have captured the public imagination and had tremendous economic and social impact over the last 50 years. These advances offer great benefit, but have also created a great need for highly dependable systems developed at predictable cost. Unfortunately, it has become increasingly clear that our ability to produce the software for these systems in a way that meets cost and quality requirements is quite limited.
For example:
-
Studies conclude that cost and schedule overruns on commercial software projects commonly average at least 100%. Some studies report averages as high as 300 - 400%.
-
Studies of large projects indicate that about 25% of them are abandoned and never completed.
-
There is a growing list of incidents in which software failures have caused injury and death.
Software engineering is an attempt to solve this problem. The notion can be traced to a conference sponsored by NATO in 1967. The conference was organized to discuss the problems in creating software systems reliably. In the years since, there has been some progress, but the problems that motivated the original conference are still very much in evidence. There is good reason to believe that the creation of software will never be easy. But there is tremendous incentive to make the process as efficient and reliable as possible.
In summary, software engineering can be defined as the application of processes, methods, and tools to the problem of building and maintaining computer software with a defined level of quality, at a predictable cost, on a predictable schedule.
Program Educational Objectives
- Graduates of the program obtain employment as software developers, where their software and communication skills eventually propel them toward technical and administrative leadership positions in industry and government.
- Graduates of the program demonstrate an ability to continue to learn throughout their career and to keep pace with changing technology as appropriate to their positions.
- Graduates of the program specialize and enhance their software engineering knowledge by enrolling and completing technical graduate courses and other technical education to position them to advance software engineering practice as senior technical staff members or managers.
- Graduates of the program specialize and enhance their software engineering knowledge by enrolling and graduating from MSc and PhD degree programs to position them to contribute to the intellectual foundations of the discipline of software engineering as researchers in industrial and government laboratories as well as in academia.
- Graduates of the program advance toward becoming leaders in disciplines other than software engineering by enrolling and graduating from graduate-level degree programs in complimentary disciplines such as law and business, where the BS in Software Engineering program serves as an educational foundation.
- Graduates of the program will demonstrate an awareness of their professional and social responsibility a software engineers by participation in professional activities and application of their knowledge for the good of society.
Student Outcomes
The department’s student outcomes reflect the skills and abilities that the curriculum is designed to provide to students by the time they graduate. These are:
- for students to be able to apply an engineering approach to the development of software systems by learning how to specify, design, implement, verify, and maintain software systems in a variety of problem domains;
- for students to be able to attain the necessary organizational and business skills to work in teams effectively and to be able to predict the time and cost needed to create and to maintain software systems;
- for students to attain the necessary communication skills to elicit the requirements of a software systems and to create well-written software documentation;
- for students to attain the necessary mathematics and programming skills to solve complex problems by creating and subsequently testing software systems;
- for students to gain an appreciation of the important role that software plays in modern societies and to prepare to make positive contributions to enhance that role.
Degree Requirements
| University and College Requirements | ||
| COOP 101 | Career Management and Professional Development | 0.0 |
| UNIV E101 | The Drexel Experience | 2.0 |
| Software Engineering Requirements | ||
| SE 101 | Foundations of Software Engineering I | 3.0 |
| SE 102 | Foundations of Software Engineering II | 3.0 |
| SE 103 | Foundations of Software Engineering III | 3.0 |
| SE 210 | Software Specification and Design I | 3.0 |
| SE 211 | Software Specification and Design II | 3.0 |
| SE 310 | Software Architecture I | 3.0 |
| SE 311 | Software Architecture II | 3.0 |
| SE 320 | Software Verification and Validation | 3.0 |
| SE 410 | Software Evolution | 3.0 |
| SE 491 | Design Project I | 3.0 |
| SE 492 | Design Project II | 3.0 |
| SE 493 | Design Project III | 3.0 |
| Computer Science Requirements | ||
| CS 260 | Data Structures | 3.0 |
| CS 265 | Advanced Programming Tools and Techniques | 3.0 |
| CS 281 | Systems Architecture | 4.0 |
| CS 283 | Systems Programming | 3.0 |
| Networking Elective | ||
| CS 472 | Computer Networks: Theory, Applications and Programming | 3.0-4.0 |
| or INFO 330 | Computer Networking Technology I | |
| Information Systems Requirements | ||
| INFO 210 | Database Management Systems | 3.0 |
| INFO 310 | Human-Computer Interaction II | 3.0 |
| INFO 420 [WI] | Software Project Management | 3.0 |
| Computing Electives | ||
| Any non-required INFO, CS or SE course at the 300+ level | 18.0 | |
| Mathematics/Statistics Requirements | ||
| CS 270 | Mathematical Foundations of Computer Science | 3.0 |
| MATH 121 | Calculus I | 4.0 |
| MATH 122 | Calculus II | 4.0 |
| MATH 123 | Calculus III | 4.0 |
| MATH 221 | Discrete Mathematics | 3.0 |
| STAT 201 | Introduction to Business Statistics | 4.0 |
| STAT 202 | Business Statistics II | 4.0 |
| Science Sequence Requirements | 21.0 | |
Select one of the following sequences: | ||
Chemistry | ||
| General Chemistry I | ||
| General Chemistry II | ||
| General Chemistry III | ||
Physics | ||
| Fundamentals of Physics I | ||
| Fundamentals of Physics II | ||
| Fundamentals of Physics III | ||
Biology | ||
| Cells and Genetics | ||
| Evolution & Organismal Diversity | ||
| Physiology and Ecology | ||
| Science Electives | ||
Students select 7.5 - 9.0 additional credits from any natural science courses | ||
| Liberal Studies Requirements | ||
| ENGL 101 | Expository Writing and Reading | 3.0 |
| ENGL 102 | Persuasive Writing and Reading | 3.0 |
| ENGL 103 | Analytical Writing and Reading | 3.0 |
| PHIL 105 | Critical Reasoning | 3.0 |
| PHIL 311 | Computer Ethics | 3.0 |
| COM 230 | Techniques of Speaking | 3.0 |
| COM 310 [WI] | Technical Communication | 3.0 |
| PSY 101 | General Psychology I | 3.0 |
| PSY 330 | Cognitive Psychology | 3.0 |
| Liberal Studies Electives * | 6.0 | |
| Select two of the following: | 8.0 | |
| Financial Accounting Foundations | ||
| Principles of Microeconomics | ||
| Principles of Macroeconomics | ||
| Free Electives | ||
| Free Electives | 16.0-19.0 | |
| Total Credits | 188.0 | |
| * | Any non-required course in ENGL, PHIL, COM, PSY, SOC, ANTH, WMST, AFAM, PSCI. |
Writing-Intensive Course Requirements
In order to graduate, all students must pass three writing-intensive courses after their freshman year. Two writing-intensive courses must be in a student's major. The third can be in any discipline. Students are advised to take one writing-intensive class each year, beginning with the sophomore year, and to avoid “clustering” these courses near the end of their matriculation. Transfer students need to meet with an academic advisor to review the number of writing-intensive courses required to graduate.
A "WI" next to a course in this catalog may indicate that this course can fulfill a writing-intensive requirement. For the most up-to-date list of writing-intensive courses being offered, students should check the Writing Intensive Course List at the University Writing Center. Students scheduling their courses can also conduct a search for courses with the attribute "WI" to bring up a list of all writing-intensive courses available that term. Transfer students need to meet with an academic advisor to review the number of writing-intensive courses required to graduate.
Sample Plan of Study
5 YR UG Co-op Concentration
| Term 1 | Credits | |
|---|---|---|
| COOP 101 | Career Management and Professional Development | 0.0 |
| ENGL 101 | Expository Writing and Reading | 3.0 |
| MATH 121 | Calculus I | 4.0 |
| SE 101 | Foundations of Software Engineering I | 3.0 |
| UNIV E101 | The Drexel Experience | 1.0 |
| First course in a 3-part laboratory science sequence | 4.0-4.5 | |
| Term Credits | 15.0-15.5 | |
| Term 2 | ||
| ENGL 102 | Persuasive Writing and Reading | 3.0 |
| MATH 122 | Calculus II | 4.0 |
| SE 102 | Foundations of Software Engineering II | 3.0 |
| UNIV E101 | The Drexel Experience | 0.5 |
| Second course in a 3-part laboratory science sequence | 4.0-4.5 | |
| Term Credits | 14.5-15.0 | |
| Term 3 | ||
| ENGL 103 | Analytical Writing and Reading | 3.0 |
| MATH 123 | Calculus III | 4.0 |
| SE 103 | Foundations of Software Engineering III | 3.0 |
| UNIV E101 | The Drexel Experience | 0.5 |
| Third course in a 3-part laboratory science sequence | 4.0-4.5 | |
| Liberal studies elective | 3.0 | |
| Term Credits | 17.5-18.0 | |
| Term 4 | ||
| COM 230 | Techniques of Speaking | 3.0 |
| SE 210 | Software Specification and Design I | 3.0 |
| CS 265 | Advanced Programming Tools and Techniques | 3.0 |
| CS 270 | Mathematical Foundations of Computer Science | 3.0 |
| Natural science elective | 3.0 | |
| Term Credits | 15.0 | |
| Term 5 | ||
| CS 260 | Data Structures | 3.0 |
| INFO 210 | Database Management Systems | 3.0 |
| MATH 221 | Discrete Mathematics | 3.0 |
| SE 211 | Software Specification and Design II | 3.0 |
| Natural science elective | 3.0 | |
| Term Credits | 15.0 | |
| Term 6 | ||
| COM 310 [WI] | Technical Communication | 3.0 |
| CS 281 | Systems Architecture | 4.0 |
| PSY 101 | General Psychology I | 3.0 |
| SE 310 | Software Architecture I | 3.0 |
| STAT 201 | Introduction to Business Statistics | 4.0 |
| Term Credits | 17.0 | |
| Term 7 | ||
| SE 311 | Software Architecture II | 3.0 |
| STAT 202 | Business Statistics II | 4.0 |
| Computing elective (300-level or higher INFO, SE, CS) | 3.0 | |
| Natural science elective | 3.0 | |
| Free elective | 3.0 | |
| Term Credits | 16.0 | |
| Term 8 | ||
| CS 283 | Systems Programming | 3.0 |
| INFO 420 [WI] | Software Project Management | 3.0 |
| PHIL 105 | Critical Reasoning | 3.0 |
| SE 320 | Software Verification and Validation | 3.0 |
| Free elective | 3.0 | |
| Term Credits | 15.0 | |
| Term 9 | ||
| INFO 310 | Human-Computer Interaction II | 3.0 |
| PHIL 311 | Computer Ethics | 3.0 |
| SE 410 | Software Evolution | 3.0 |
| Free elective | 3.0 | |
| Computing electives (300-level or higher INFO, SE, CS) | 3.0 | |
| Term Credits | 15.0 | |
| Term 10 | ||
| SE 491 | Design Project I | 3.0 |
| INFO 330 or CS 472 | Computer Networking Technology I Computer Networks: Theory, Applications and Programming | 4.0 |
| Select one of the following: | 4.0 | |
| Principles of Microeconomics | ||
| Principles of Macroeconomics | ||
| Financial Accounting Foundations | ||
| Computing elective (300-level or higher INFO, SE, CS) | 3.0 | |
| Free elective | 3.0 | |
| Term Credits | 17.0 | |
| Term 11 | ||
| PSY 330 | Cognitive Psychology | 3.0 |
| SE 492 | Design Project II | 3.0 |
| Select one of the following: | 4.0 | |
| Financial Accounting Foundations | ||
| Principles of Macroeconomics | ||
| Principles of Microeconomics | ||
| Computing electives (300-level or higher INFO, SE, CS) | 6.0 | |
| Term Credits | 16.0 | |
| Term 12 | ||
| SE 493 | Design Project III | 3.0 |
| Liberal studies elective | 3.0 | |
| Computing elective (300-level or higher INFO, SE, CS) | 3.0 | |
| Free electives | 6.0 | |
| Term Credits | 15.0 | |
| Total Credit: 188.0-189.5 | ||
Co-op/Career Opportunities
The demand for software engineering professionals is quite strong. Graduates can expect career opportunities in software design and development in a variety of application areas. Software engineering graduates are particularly well suited to work as members or leaders of software project teams. They have knowledge and skills to help them develop quality software within schedule and cost constraints.
According to the Bureau of Labor Statistics, computer systems software engineers among the 30 fastest growing US careers requiring at least a bachelor's degree, with an estimated 120,000 new jobs by 2018. Although they have jobs in most industries, many computer software engineers work in computer systems design and related services. Employers range from start-ups to well-known industry leaders. A growing number of these workers get jobs on a temporary basis, or work as consultants.
That computer systems software engineers are among the projected fasted growing occupations means good opportunities for college graduates, especially those with co-op experience. According to the Bureau of Labor Statistics, employers are seeking software engineers with strong backgrounds in programming and systems analysis, along with business and people skills.
Most software engineering students enter the professional world right after graduation, but some continue their studies in advanced software engineering programs.
Visit the Drexel Steinbright Career Development Center page for more detailed information on co-op and post-graduate opportunities.
Dual/Accelerated Degree
Accelerated degree programs combine the practical work experience of a Drexel undergraduate education with the credentials of a graduate degree. Some programs offer the co-operative education option. Students may earn both degrees in the same major or, in some programs, complete a master’s degree in a different field. Each dual degree program has specific requirements and students should work closely with advisors to map out a clear plan of study.
According to University regulations, students can only apply to participate in accelerated/dual degree programs after the completion of 90 credits and before the completion of 120 credits.
Requirements for the Bachelor’s/Master’s Dual Degree in Software Engineering
Applicants to the program must have an overall cumulative Grade Point Average of 3.25 or higher. Letters of recommendation from faculty members from either the Department of Computer Science or the College of Information Science and Technology are required. Students must submit a plan of study. Consult the Graduate Advisor and course schedules for guidance.
Acceptance to the program will be based on a combination of the student's GPA and letters of recommendation. Acceptance may be denied if the plan of study is not feasible. For more information, contact the Department of Computer Science or the College of Information Science and Technology.
Applicants must have completed the following core Software Engineering courses with a minimum GPA of 3.25:
| SE 101 | Foundations of Software Engineering I | 3.0 |
| SE 102 | Foundations of Software Engineering II | 3.0 |
| SE 103 | Foundations of Software Engineering III | 3.0 |
| SE 210 | Software Specification and Design I | 3.0 |
| SE 211 | Software Specification and Design II | 3.0 |
| SE 310 | Software Architecture I | 3.0 |
Minor in Software Engineering
The software engineering minor is available to all University students in good standing, with the exception of software engineering majors. A total of 24 credits is needed to complete the academic minor in software engineering.
Prerequisites
Computer programming competence may be established by completing one of the following course sequences:
- CS 171-2 (Computer Programming I-II)
- CS 131-2-3 (Computer Programming A-B-C)
- SE 101-2-3 (Fundamentals of Software Engineering I-II-III)
- CS/ECE203-ECEC480 (Programming for Engineers, Advanced Programming for Engineers)
- INFO 151-2-3-4 (IS Software I-II-III-IV)
Additional computer programming competence may be established by completing both CS 265 Advanced Programming Tools and Techniques and CS 260 Data Structures.
| Minor Requirements | ||
| SE 210 | Software Specification and Design I | 3.0 |
| SE 211 | Software Specification and Design II | 3.0 |
| SE 310 | Software Architecture I | 3.0 |
| SE 311 | Software Architecture II | 3.0 |
| SE 320 | Software Verification and Validation | 3.0 |
| SE 410 | Software Evolution | 3.0 |
| Two Computing/Software Engineering Electives | 6.0 | |
| Total Credits | 24.0 | |
Courses
SE 101 Foundations of Software Engineering I 3.0 Credits
Teaches students basic programming concepts within a software engineering process that involves specification, documentation, and testing. Programming coverage includes basic programming concepts such as the declaration and assignment of variables, standard data types, constants, conditional statements, loops, introduction to classes and methods, standard and file input/output, arrays, and strings. Process concepts emphasize good internal documentation practices, specifying functional requirements, defect tracking and analysis, and "black-box" testing.
Repeat Status: Not repeatable for credit
SE 102 Foundations of Software Engineering II 3.0 Credits
Introduces students to additional programming concepts. Teaches students how to design, implement, and test object-oriented software applications using simple reusable components. Introduces basic techniques for creating reusable software components. Provides an overview of the software engineering as a discipline.
Repeat Status: Not repeatable for credit
Prerequisites: SE 101 [Min Grade: D]
SE 103 Foundations of Software Engineering III 3.0 Credits
Introduces students to issues and practices for working with medium-size software systems. Teaches students basic techniques for using application frameworks. Introduces students to software development in teams and provides an overview of the software engineering professional practice.
Repeat Status: Not repeatable for credit
Prerequisites: SE 102 [Min Grade: D]
SE 210 Software Specification and Design I 3.0 Credits
Study of the principles, practices, and techniques used to gather system requirements and document them in a requirements specification. Includes techniques for requirements discovery such as user interviews and prototyping. Introduces approaches for organizing and expressing software requirements in a requirements specification.
Repeat Status: Not repeatable for credit
Prerequisites: SE 103 [Min Grade: D] or CS 133 [Min Grade: D] or CS 172 [Min Grade: D]
SE 211 Software Specification and Design II 3.0 Credits
Continues study of requirements with increasing emphasis on converting requirements into a software system design. Presents alternate approaches, techniques for evaluating specifications, specification and design tools, and use of specifications to develop system-level tests.
Repeat Status: Not repeatable for credit
Prerequisites: SE 210 [Min Grade: D]
SE 280 Special Topics in Software Engineering 4.0 Credits
This course covers topics in software engineering. Different topics may be considered in different quarters.
Repeat Status: Can be repeated multiple times for credit
SE 310 Software Architecture I 3.0 Credits
Study of macro-level software system architectures with an emphasis on approaches to interconnection and distribution of current and emerging architectural styles.
Repeat Status: Not repeatable for credit
Prerequisites: SE 211 [Min Grade: D]
SE 311 Software Architecture II 3.0 Credits
Continues discussion of software architecture with a focus on micro-level architecture including patterns, frameworks, and component-based software engineering, and commercial off-the-shelf software.
Repeat Status: Not repeatable for credit
Prerequisites: SE 310 [Min Grade: D] or CS 350 [Min Grade: D]
SE 320 Software Verification and Validation 3.0 Credits
Presents theory and practice of software testing. Covers structural testing including such topics as path testing, dataflow testing, logic based testing, syntax testing, program slicing, mutation testing, fault injection, program perturbation, and testing tools. Discusses techniques for test construction and test suite evaluation, and validation against requirements and design models. Also covers methods of inspection and review at various phases of the software lifecycle.
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: D]
SE 410 Software Evolution 3.0 Credits
Covers issues related to change in software systems. Addresses principles and techniques of corrective software maintenance, software enhancements, and software product family. Introduces students to issues of change in large software systems including configuration control, change and product management.
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: D]
SE 480 Advanced Topics in Software Engineering 4.0 Credits
This course covers topics in Software Engineering selected from advanced topics from research in this field. Different topics may be considered in different quarters.
Repeat Status: Can be repeated multiple times for credit
SE 491 Design Project I 3.0 Credits
An independent project in which student teams design and implement a software system under faculty guidance. Students apply a defined software engineering process for the project including process customization as appropriate.
Repeat Status: Not repeatable for credit
Restrictions: Can enroll if classification is Senior.
SE 492 Design Project II 3.0 Credits
Continues Design Project I.
Repeat Status: Not repeatable for credit
Restrictions: Can enroll if classification is Senior.
Prerequisites: SE 491 [Min Grade: D]
SE 493 Design Project III 3.0 Credits
Continues Design Project II.
Repeat Status: Not repeatable for credit
Restrictions: Can enroll if classification is Senior.
Prerequisites: SE 492 [Min Grade: D]






