Bachelor of Science in Software Engineering

Drexel University offers a Bachelor of Science in Software Engineering (BSSE) degree. This program was created in response to the growing importance of software to the national infrastructure and the rapid rise in demand for professional software engineers.

The BSSE degree is a multidisciplinary University degree sponsored by the College of Engineering and the College of Information Science and Technology. The program, drawing on the strengths of existing Drexel programs in computer science and information science and technology, provides a curriculum that encompasses behavioral, managerial and technical aspects of software engineering and attempts to synthesize disciplinary paradigms and themes. This program is designed specifically for students interested in a range of application domains.

Drexel University's on-line catalog for the BSSE can be reached at: http://www.drexel.edu/catalog/UG/Software/Software-index.htm .  


BACHELORS OF SOFTWARE ENGINEERING MISSION STATEMENT

Software engineering is 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. The mission of the bachelors of science degree in software engineering is to educate students for careers as software engineers in industry and research with an emphasis on the ability to analyze, design, verify, validate, implement, apply, and maintain software systems; the ability to appropriately apply discrete mathematics, probability and statistics, and relevant topics in computer science and supporting disciplines to complex software systems; and the ability to work in one or more significant application domains. To integrate real-world experiences via the cooperative education program and via team project software development in course work.

Specific BSSE Program Objectives:

Specific BSSE Program Outcomes:
  • 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.

DEFINING SOFTWARE ENGINEERING

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 creation of software will never be easy. But there is tremendous incentive to make the process as efficient and reliable as possible. That is the goal in software engineering. In summary, software engineering can be defined as follows:

Software engineering is 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.  


ADMISSION REQUIREMENTS

The applicant must satisfy the general admission requirements of Drexel University. On-line applications can be found at On-line application


DEGREE REQUIREMENTS

THE CORE

Core courses cover topics that are essential for the practicing software engineer. All BSSE students take the following required core courses.

  • (SE 101) Foundations of Software Engineering I
  • (SE 102) Foundations of Software Engineering II (pre-req: SE 101)
  • (SE 103) Foundations of Software Engineering III (pre-req: SE 102)
  • (SE 210) Software Specification and Design I (pre-req: SE 103 or CS 172 or CS 133)
  • (SE 211) Software Specification and Design II (pre-req: SE 210)
  • (SE 310) Software Architecture I (pre-req: SE 211)
  • (SE 311) Software Architecture II (pre-req: SE 310)
  • (SE 320) Software Verification and Validation (pre-req: CS 260)
  • (SE 410) Software Evolution (pre-req: CS 260)
  • (SE 491) Design Project I (pre-req: Seniors only)
  • (SE 492) Design Project II (pre-req: CS 491)
  • (SE 493) Design Project III (pre-req: CS 492)

REQUIRED INFORMATION SYSTEMS COURSES
All BSSE students take the following required INFORMATION SYSTEMS courses.
  • (INFO 210) Database Management Systems (pre-req: SE 210)
  • (INFO 310) Human Computer Interaction II (pre-req: SE 210)
  • (INFO 420) Software Project Management (pre-req: SE 210)

REQUIRED COMPUTER SCIENCE COURSES
All BSSE students take the following required COMPUTER SCIENCE courses.
  • (CS 260) Data Structures (pre-req: CS265)
  • (CS 265) Advanced Programming Tools and Techniques (pre-req: CS 172 or SE 103 or CS 133)
  • (CS 270) Mathematical Foundations of Computer Science (pre-req: CS 172 or CS 265 or SE 103)
  • (CS 281) System Architecture I (pre-req: CS 270 and (CS 172 or SE 103 or CS 133)]
  • (CS 361) Concurrent Programming (pre-req: CS 281 and CS 260)

NETWORKING ELECTIVES
  • (CS 472) Computer Networks (pre-req: CS 361)
  • (INFO 330) Computer Networking Technology I (pre-req: SE 103)

BUSINESS ELECTIVES
  • ECON 202 principles of Economics II (4cr)
  • ACCT 115 Financial Accounting (4cr)

COMPUTING ELECTIVES

Computing electives may be any 300-level or 400-level CS or INFO course.


SUGGESTED PLAN OF STUDY
  • Year 1:
    • Quarter 1:
      • SE 101 Foundations of Software Engineering I (3cr)
      • MATH 121 Calculus I (4cr)
      • Lab Science I (4cr or 4.5cr)
      • ENGL 101 Expository Writing and Reading (3cr)
      • UNIV 101 Drexel Experience (1cr)
    • Quarter 2:
      • SE 102 Foundations of Software Engineering II (3cr)
      • MATH 122 Calculus II (4cr)
      • Lab Science II (4cr or 4.5cr)
      • ENGL 102 Persuasive Writing and Reading (3cr)
      • UNIV 101 Drexel Experience (1cr)
    • Quarter 3:
      • SE 103 Foundations of Software Engineering III (3cr)
      • MATH 123 Calculus III (4cr)
      • Lab Science III (4cr)
      • ENGL 103 Analytical Writing and Reading (3cr)
      • Liberal Studies Elective 1 (e.g., social science, english, history, philosophy) (3cr)
  • Year 2:
    • Quarter 1:
      • SE 210 Software Specification and Design I (3cr)
      • CS265 Advanced Programming Tools and Techniques (3cr)
      • CS 270 Mathematical Foundations of Computer Science (3cr)
      • COM 230 Techniques of Speaking (3cr)
      • Natural Sciences Elective (3cr)
    • Quarter 2:
      • SE 211 Software Specification and Design II (3cr)
      • CS 260 Data Structures (3cr)
      • INFO 210 Database Management Systems (3cr)
      • MATH 221 Discrete Mathematics (3cr)
      • Natural Sciences Elective (3cr)
  • Year 3:
    • Quarter 1:
      • SE 310 Software Architecture I (3cr)
      • CS 281 Systems Architecture I (3cr)
      • STAT 201 Statistics I (4cr)
      • COM 310 Technical Communications (3cr)
      • PSY 101 General Psychology (3cr)
    • Quarter 2:
      • SE 311 Software Architecture II (3cr)
      • Computing Elective (3cr)
      • STAT 202 Statistics II (4cr)
      • Natural Sciences Elective (3cr)
      • Free Elective (3cr)
  • Year 4:
    • Quarter 1:
      • SE 320 Software Verification and Validation (3cr)
      • CS 361 Concurrent Programming (3cr)
      • PHIL 105 Critical Reasoning (3cr)
      • INFO 420 Software Project Management (3cr)
      • Free Elective (3cr)
    • Quarter 2:
      • SE 410 Software Evolution (3cr)
      • INFO 310 Human-computer Interaction (3cr)
      • Computing Elective (3cr)
      • Free Elective (3cr)
      • PHIL 311 Computer Ethics (3cr)
  • Year 5:
    • Quarter 1:
      • SE 491 Design Project I (3cr)
      • Computing Elective (3cr)
      • Computer Networking Elective (defined above) (3cr)
      • ECON 201 Principles of Economics I (4cr)
      • Free Elective (3cr)
    • Quarter 2:
      • SE 492 Design Project II (3cr)
      • PSY 330 Cognitive Psychology (3cr)
      • Business Elective (defined above) (3cr)
      • Computing Elective (3cr)
      • Computing Elective (3cr)
    • Quarter 3:
      • SE 493 Design Project III (3cr)
      • Computing Elective (3cr)
      • Free Elective (3cr)
      • Free Elective (3-4cr)
      • Liberal Studies Elective (e.g., social science, english, history, philosophy) (3cr)

LIBERAL STUDIES ELECTIVES

Liberal Studies electives may be taken from the following list of courses (any course, 100+):

  • anthropology
  • architectural/social history
  • art history
  • communication
  • history
  • language (200+)
  • literature
  • music (theory)
  • philosophy
  • political science
  • psychology
  • sociology
  • theater (theory)
Language courses below 200 level, survey, performance, studio or skills courses will not satisfy the LS requirement. A total of 6 Liberal Studies credits is needed to graduate.

Visit COE Student Services web site for list of approved courses at: at: www.drexel.edu/coe/stuserv/electives/libstud.asp .


NATURAL SCIENCE ELECTIVES

Natural Science electives may be taken from the following list of courses (any course):

  • CHEM
  • BIO
  • PHYS
  • PHEV
  • NFS
A total of 9 Natural Science credits is needed to graduate, not including the lab science sequence credits.


FREE ELECTIVES

Any course offered can be used to satisfy this requirement. A total of 22 free elective credits is required to graduate.


TRANSFER STUDENTS

Students transferring from other Engineering majors to the BSSE who have taken tDEC can take CS 164, CS171, and CS172 instead of SE101, SE102, and SE103.

Students seeking to transfer from tDEC to the BSSE who have taken the first year of tDEC can use tDEC Physics to count for the 3 Natural Science Elective courses in the BSSE. Also, the tDEC Chemistry and Biology Lab sequence can be a substitute for the 3 Lab Science courses in the BSSE. If a student has also taken the second year of tDEC, some of the credits from tDEC can be used up by the Free Electives in the BSSE (please talk to an advisor about this in the Office of Student Services).

Students can transfer from IST or CS to the BSSE by taking CS131, CS132, and CS133 in order to fulfill the SE101, SE102, and SE103 requirement.


MINOR IN COMPUTER SCIENCE

BSSE students wishing to minor in Computer Science must take 5 courses in computer science in addition to those required by the BSSE degree. One of the five course must be CS281 (Systems Architecture I), the other four courses must be from the list of COMPUTING ELECTIVE (see above) but you cannot double-count these courses to satify your BSSE requirements. I.e., you need to take 5 courses from the list of COMPUTING ELECTIVES in addition to the BSSE course requirements.


MINOR IN SOFTWARE ENGINEERING

The Software Engineering minor is available to all University students in good standing, with the exception of software engineering majors. The pre-requisites for the SE minor are:

  • 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)
  • CS 265 (Adv Programming Techniques)
  • CS 260 (Data Structures)
In addition, students must complete at least 24 credits from the following list, subject to the following restrictions:
  • Not more than 9 credit hours may overlap with those required for the student's academic major.
  • All courses listed as required must be completed.
  • Prerequisite courses do not count towards the 24 credit requirement.
The following 24 credits are required to complete the academic minor in software engineering.
  • (SE 210) Software Specification and Design I (pre-req: SE 103 or CS 172 or CS 133)
  • (SE 211) Software Specification and Design II (pre-req: SE 210)
  • (SE 310) Software Architecture I (pre-req: CS 260)
  • (SE 311) Software Architecture II (pre-req: SE 310)
  • (SE 320) Software Verification and Validation (pre-req: CS 260)
  • (SE 410) Software Evolution (pre-req: CS 260)
  • Computing Elective (3cr)
  • Computing Elective (3cr)

FACULTY

Following is a list the list of faculty whose primary interests are in Software Engineering:

Following are links to complete listings of all faculty who teach courses for the BSSE:


FOR MORE INFORMATION
If you have questions about the Bachelor of Science in Software Engineering degree, please feel free to contact any of the members of the standing committee which oversees the program.
  • Computer Science Track

  • Professor Spiros Mancoridis (Director)
    (215) 895-6824
    E-mail: spiros AT drexel . edu
    http://www.cs.drexel.edu/~spiros
     
    Ms. Andrea Negro (Program Coordinator)

    (215) 895-6208
    E-mail: amn27 AT drexel . edu
     
  • Information Science and Technology Track

  • Dr. Gregory Hislop (Director)
    (215) 895-2179
    E-mail: hislopg@drexel.edu
    http://www.pages.drexel.edu/~hislopg/
     
    Ms. Erin Stauffer (Program Coordinator)

    (215) 895-5851
    E-mail: Erin.Stauffer AT ischool . drexel . edu
     
    Ms. Jenn Dadura (Program Coordinator)

    (215) 895-6751
    E-mail: Jenn.Dadura AT ischool . drexel . edu
     

PUBLICATIONS


Frequently Asked Questions

  • Question: Do I need to take the TOEFL (Test of English as a Foreign Language)?
    Answer: Yes, only if you are an international student.
  • Question: What are the guidelines for the application to the Software Engineering Bachelor's/Master's Dual Degree Program?
    Answer: University regulations require application after the completion of 90 credits but before the completion of 120 credits. Applicants must have completed the following core Software Engineering courses with a minimum GPA of 3.25:
    • SE 101 (Foundations of SE I)
    • SE 102 (Foundations of SE II)
    • SE 103 (Foundations of SE III)
    • SE 210 (Software Specifications and Design I)
    • SE 211 (Software Specifications and Design II)
    • SE 310 (Systems Architecture I)
    Applicants must have an overall cumulative Grade Point Average of 3.25 or higher. Letters of recommendation from two Software Engineering/Computer Science faculty are required. Students must submit a plan of study. Consult the Graduate Advisor and course schedules for guidance. Acceptance to the program will be decided by the graduate admissions committee with consultation from the undergraduate curriculum committee, and 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.
  • Question: What is the policy for mixed-teams (CS/SE students) for the Senior Design courses??
    Answer: If a mixed team is advised by iSchool faculty (typically the instructor of the SE senior design course) the team will follow the SE senior design course. The course instructor will send the final grade of every CS member of the team to the CS senior design coordinator. If a mixed team is advised by CS-faculty, the team will follow the CS senior design course. For each SE-member of that team the CS senior design coordinator will send the grades for all the deliverables to the instructor of the SE senior design course. In addition, the instructor of the SE senior design course may have some additional requirements for the SE-members of the team. Mixed teams may participate in the CS Final Four Competition unless they choose to participate in the iSchool competition. If an iSchool-advised mixed team wants to participate in the CS Final Four Competition, the CS Final Presentations committee will attend the final presentation that the team gives as part of their SE senior design course. If needed, the team will be given additional time to make sure that the presentation is such that the CS final presentation evaluation form can be applied in a meaningful way.