Software Engineering

Bachelor of Science in Software Engineering (BSSE): 188.0 quarter credits

About the Program

The major in software engineering is a multidisciplinary University degree sponsored by the College of Engineering and The iSchool, College of Information Science and Technology. 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.

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.

BS in Software Engineering Program Outcomes

The program enables students to achieve, by the time of graduation:

  • An ability 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.
  • An ability 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.
  • An ability to attain the necessary communication skills to elicit the requirements of a software systems and to create well-written software documentation.
  • An ability to attain the necessary mathematics and programming skills to solve complex problems by creating and subsequently testing software systems.
  • An ability 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 101Career Management and Professional Development0.0
Software Engineering Requirements
UNIV I101The Drexel Experience2.0
or UNIV E101 The Drexel Experience
SE 101Foundations of Software Engineering I3.0
SE 102Foundations of Software Engineering II3.0
SE 103Foundations of Software Engineering III3.0
SE 210Software Specification and Design I3.0
SE 211Software Specification and Design II3.0
SE 310Software Architecture I3.0
SE 311Software Architecture II3.0
SE 320Software Verification and Validation3.0
SE 410Software Evolution3.0
SE 491 [WI] Design Project I3.0
SE 492 [WI] Design Project II3.0
SE 493 [WI] Design Project III3.0
Computer Science Requirements
CS 260Data Structures3.0
CS 265Advanced Programming Tools and Techniques3.0
CS 281Systems Architecture4.0
CS 283Systems Programming3.0
Networking Elective
CS 472Computer Networks: Theory, Applications and Programming3.0-4.0
or INFO 330 Computer Networking Technology I
Information Systems Requirements
INFO 210Database Management Systems3.0
INFO 310Human-Computer Interaction II3.0
INFO 420 [WI] Software Project Management3.0
Computing Electives
Any non-required INFO, CS or SE course at the 300+ level18.0
Mathematics/Statistics Requirements
CS 270Mathematical Foundations of Computer Science3.0
MATH 121Calculus I4.0
MATH 122Calculus II4.0
MATH 123Calculus III4.0
MATH 221Discrete Mathematics3.0
STAT 201Introduction to Business Statistics4.0
STAT 202Business Statistics II4.0
Science Sequence Requirements21.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 101Composition and Rhetoric I: Inquiry and Exploratory Research3.0
ENGL 102Composition and Rhetoric II: The Craft of Persuasion3.0
ENGL 103Composition and Rhetoric III: Thematic Analysis Across Genres3.0
PHIL 105Critical Reasoning3.0
PHIL 311Computer Ethics3.0
COM 230Techniques of Speaking3.0
COM 310 [WI] Technical Communication3.0
PSY 101General Psychology I3.0
PSY 330Cognitive Psychology3.0
Liberal Studies Electives *6.0
Select two of the following:8.0
Financial Accounting Foundations
Principles of Microeconomics
Principles of Macroeconomics
Free Electives19.0
Total Credits188.0-189.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 1Credits
COOP 101Career Management and Professional Development0.0
ENGL 101Composition and Rhetoric I: Inquiry and Exploratory Research3.0
MATH 121Calculus I4.0
SE 101Foundations of Software Engineering I3.0
UNIV I101The Drexel Experience1.0
First Course in a 3-part Laboratory Science Sequence 4.0-4.5
 Term Credits15.0-15.5
Term 2
ENGL 102Composition and Rhetoric II: The Craft of Persuasion3.0
MATH 122Calculus II4.0
SE 102Foundations of Software Engineering II3.0
Second Course in a 3-part Laboratory Science Sequence 4.0-4.5
 Term Credits14.0-14.5
Term 3
ENGL 103Composition and Rhetoric III: Thematic Analysis Across Genres3.0
COOP 101Career Management and Professional Development (Or taken term 4, depending on cycle)0.0
MATH 123Calculus III4.0
SE 103Foundations of Software Engineering III3.0
UNIV I101The Drexel Experience1.0
Third Course in a 3-part Laboratory Science Sequence 4.0-4.5
 Term Credits15.0-15.5
Term 4
COM 230Techniques of Speaking3.0
SE 210Software Specification and Design I3.0
CS 265Advanced Programming Tools and Techniques3.0
CS 270Mathematical Foundations of Computer Science3.0
Natural Science Elective 3.0
 Term Credits15.0
Term 5
CS 260Data Structures3.0
INFO 210Database Management Systems3.0
MATH 221Discrete Mathematics3.0
SE 211Software Specification and Design II3.0
Natural Science Elective 3.0
 Term Credits15.0
Term 6
COM 310 [WI] Technical Communication3.0
CS 281Systems Architecture4.0
PSY 101General Psychology I3.0
SE 310Software Architecture I3.0
STAT 201Introduction to Business Statistics4.0
 Term Credits17.0
Term 7
CS 283Systems Programming3.0
SE 311Software Architecture II3.0
STAT 202Business Statistics II4.0
Natural Science Elective 3.0
Free Elective 3.0
 Term Credits16.0
Term 8
PHIL 105Critical Reasoning3.0
INFO 420 [WI] Software Project Management3.0
SE 320Software Verification and Validation3.0
Computing Elective (300-level or higher INFO, SE, CS) 3.0
Free Electives 6.0
 Term Credits18.0
Term 9
INFO 310Human-Computer Interaction II3.0
PHIL 311Computer Ethics3.0
SE 410Software Evolution3.0
Free Elective 3.0
Computing Electives (300-level or higher INFO, SE, CS) 3.0
 Term Credits15.0
Term 10
SE 491 [WI] Design Project I3.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 Credits17.0
Term 11
PSY 330Cognitive Psychology3.0
SE 492 [WI] Design Project II3.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 Credits16.0
Term 12
SE 493 [WI] Design Project III3.0
Liberal Studies Elective 3.0
Computing Elective (300-level or higher INFO, SE, CS) 3.0
Free Electives 6.0
 Term Credits15.0
Total Credit: 188.0-189.5

Co-op/Career Opportunities

Co-Op Options

Two co-op options are available for this program:

  • 5-year/3 co-op
  • 4-year/1 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 engineering is among the 30 fastest growing US careers requiring at least a bachelor's degree, with an estimated 127,000 new jobs by 2020. Although they have jobs in most industries, many computer software engineers work in computer systems design and related services. Employers range from startups to well-known industry leaders. A growing number of these workers get jobs on a temporary basis, or work as consultants.

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 iSchool are required. Students must submit a plan of study and consult their undergraduate 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 iSchool.

Applicants must have completed the following core software engineering courses with a minimum GPA of 3.25:

SE 101Foundations of Software Engineering I3.0
SE 102Foundations of Software Engineering II3.0
SE 103Foundations of Software Engineering III3.0
SE 210Software Specification and Design I3.0
SE 211Software Specification and Design II3.0
SE 310Software Architecture I3.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.

Prerequisites

Computer programming competence may be established by completing one of the following course sequences:

  • CS 171-2 (Computer Programming I & II)
  • CS 175 (Computer Programming I-II)
  • CS 140/143/171/172 (Intro Multimedia Programming/Computer Programming Fundamentals/Computer Programming I & II)
  • SE 101-2-3 (Fundamentals of Software Engineering I-II-III)
  • ECE 203- ECEC 301 (Programming for Engineers, Advanced Programming for Engineers)
  • INFO 151-2-3-4 (IS Software I-II-III-IV)

Additional computer programming competence must be established by completing both CS 265 Advanced Programming Tools and Techniques and CS 260 Data Structures.

Required Courses

Requirements for the Minor in Software Engineering
SE 210Software Specification and Design I3.0
SE 211Software Specification and Design II3.0
SE 310Software Architecture I3.0
SE 311Software Architecture II3.0
SE 320Software Verification and Validation3.0
SE 410Software Evolution3.0
Two Computing/Software Engineering Electives6.0
Total Credits24.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.

College/Department: College of Engineering
Repeat Status: Not repeatable for credit
Corequisite: EXAM 080

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.

College/Department: College of Engineering
Repeat Status: Not repeatable for credit
Prerequisites: SE 101 [Min Grade: D]
Corequisite: EXAM 080

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.

College/Department: College of Engineering
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.

College/Department: College of Information Science & Technology
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.

College/Department: College of Information Science & Technology
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.

College/Department: College of Engineering
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.

College/Department: College of Engineering
Repeat Status: Not repeatable for credit
Prerequisites: SE 211 [Min Grade: D] and CS 265 [Min Grade: D] and CS 260 [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.

College/Department: College of Engineering
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.

College/Department: College of Engineering
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.

College/Department: College of Information Science & Technology
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.

College/Department: College of Engineering
Repeat Status: Can be repeated multiple times for credit

SE 491 [WI] 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.

College/Department: College of Information Science & Technology
Repeat Status: Not repeatable for credit
Restrictions: Can enroll if classification is Senior.

SE 492 [WI] Design Project II 3.0 Credits

Continues Design Project I.

College/Department: College of Information Science & Technology
Repeat Status: Not repeatable for credit
Restrictions: Can enroll if classification is Senior.
Prerequisites: SE 491 [Min Grade: D]

SE 493 [WI] Design Project III 3.0 Credits

Continues Design Project II.

College/Department: College of Information Science & Technology
Repeat Status: Not repeatable for credit
Restrictions: Can enroll if classification is Senior.
Prerequisites: SE 492 [Min Grade: D]

  • Schedule of Classes
  • All Course Descriptions
  • Co-op
  • Academic Advising
  • Admissions
  • Tuition & Fees
LEARN MORE