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.

    Additional Information

    The Software Engineering program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Degree Requirements 

University and College Requirements
COOP 101Career Management and Professional Development0.0
UNIV E101The Drexel Experience2.0
Software Engineering Requirements
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 Electives
Free Electives16.0-19.0
Total Credits188.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 E101The 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
UNIV E101The Drexel Experience0.5
Second course in a 3-part laboratory science sequence 4.0-4.5
 Term Credits14.5-15.0
Term 3
ENGL 103Composition and Rhetoric III: Thematic Analysis Across Genres3.0
MATH 123Calculus III4.0
SE 103Foundations of Software Engineering III3.0
UNIV E101The Drexel Experience0.5
Third course in a 3-part laboratory science sequence 4.0-4.5
Liberal studies elective3.0
 Term Credits17.5-18.0
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
INFO 420 [WI] Software Project Management3.0
PHIL 105Critical Reasoning3.0
SE 320Software Verification and Validation3.0
Computing elective (300-level or higher INFO, SE, CS) 3.0
Free elective 3.0
 Term Credits15.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

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.0 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 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. A total of 24.0 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 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.


Minor Requirements
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]

Interdepartmental Faculty

Michael E. Atwood, PhD (University of Colorado) Associate Dean for Research and for Undergraduate Education. Professor. Human-computer interaction, computer-supported cooperative work, organizational memory.
Glenn Booker, PhD (Drexel University). Assistant Teaching Professor. Software engineering, systems analysis and design, networking, statistics and measurement, process improvement, object-oriented analysis and design, bioinformatics, and modeling of biological systems.
David E. Breen, PhD (Rensselaer Polytechnic Institute). Associate Professor. Geometric modeling; computer graphics; scientific visualization; medical imaging; simulation.
Yuanfang Cai, PhD (University of Virginia). Assistant Professor. Formal software design modeling and analysis, software economics, software evolution and modularity.
Bruce W. Char, PhD (University of California-Berkeley). Professor. Symbolic mathematical computation; algorithms and systems for computer algebra; problem-solving environments; parallel and distributed computation.
Chaomei Chen, PhD (University of Liverpool). Professor. Information visualization, visual analytics, knowledge domain visualization, network analysis and modeling, scientific discovery, science mapping, scientometrics, citation analysis, human-computer interaction.
Susan Gasson, PhD (University of Warwick). Associate Professor. The co-design of business and IT-systems, distributed cognition & knowledge management in boundary-spanning groups, human-centered design, social informatics, online learning communities, grounded theory.
Rachel Greenstadt, PhD (Harvard University). Assistant Professor. Artificial intelligence, privacy, security, multi-agent systems, economics of electronic privacy and information security.
Thomas T. Hewett, PhD (University of Illinois at Urbana-Champaign). Professor Emeritus. Human computer interaction and cognitive engineering; development of computing environments to support knowledge, workers, and high performance experts.
Gregory W. Hislop, PhD (Drexel University). Professor. Information technology for teaching and learning, online education, structure and organization of the information disciplines, computing education research, software evaluation and characterization.
Pawel Hitczenko, PhD (Warsaw University). Professor. Probability theory and its applications to analysis, combinatorics, wavelets, and the analysis of algorithms.
Xiaohua Tony Hu, PhD (University of Regina, Canada). Professor. Data mining, text mining, Web searching and mining, information retrieval, bioinformatics and healthcare informatics.
Jeremy R. Johnson, PhD (Ohio State University). Professor. Computer algebra; parallel computations; algebraic algorithms; scientific computing.
Frank J. Lee, PhD (Carnegie Mellon University). Associate Professor. Human-computer interaction; cognitive engineering and science; intelligent software agents for games and education.
Spiros Mancoridis, PhD (University of Toronto) Interim Department Head, Computer Science. Professor. Software engineering; software security; code analysis; evolutionary computation.
Adelaida Alban Medlock, MS (Drexel University). Associate Teaching Professor. Introductory programming; computer science education.
Ko Nishino, PhD (University of Tokyo). Associate Professor. Computer vision, computer graphics, analysis and synthesis of visual appearance.
Krzysztof Nowak, PhD (Washington University). Associate Teaching Professor. Fourier analysis, partial differential equations, image processing, wavelets, asymptotic distribution of eigenvalues, numerical methods and algorithms, computer science education.
Jeffrey L. Popyack, PhD (University of Virginia). Associate Professor. Operations research; stochastic optimization; computational methods of Markov decision processes; artificial intelligence; computer science education.
Karkal S. Prahbu, PhD (Harvard University). Auxiliary Professor. Computer and software engineering; advanced microprocessors and distributed operating systems.
William C. Regli, PhD (University of Maryland-College Park). Professor. Artificial intelligence; computer graphics; engineering design and Internet computing.
Dario Salvucci, PhD (Carnegie Mellon University) Associate Department Head for Undergraduate Affairs. Professor. Human computer interaction; cognitive science; machine learning; applications for driving.
Harish Sethu, PhD (Lehigh University). Associate Professor. Protocols, architectures and algorithms in computer networks; computer security; mobile ad hoc networks; large-scale complex adaptive networks and systems.
Ali Shokoufandeh, PhD (Rutgers University) Associate Department Head for Graduate Affairs and Research. Professor. Theory of algorithms; graph theory; combinational optimization; computer vision.
Gerry Stahl, PhD (University of Colorado, Northwestern University). Associate Professor. Human-computer interaction, computer-supported cooperative work, computer-supported collaborative learning, theory of collaboration.
Lazar Trachtenberg, DSc (Israel Institute of Technology). Professor. Fault tolerance; multi-level logic synthesis; signal processing; suboptimal filtering.
  • Schedule of Classes
  • All Course Descriptions
  • Co-op
  • Academic Advising
  • Admissions
  • Tuition & Fees
LEARN MORE