B.S. in Software Engineering

The Bachelor of Science degree in Software Engineering is designed to prepare students for an entry-level software engineering position in industry that supports the design and implementation of software systems with the focus on real-time, embedded, and safety-critical applications. Such systems are critical in aviation, space, medicine, and other disciplines that rely on high-quality, dependable software.

In a few years of completing their undergraduate degree, graduates of the Bachelor of Science in Software Engineering:

  • Will establish themselves in successful aerospace, aviation, and engineering careers and/or will be pursuing advanced degrees;

  • Will be serving society and their professions as involved and responsible citizens, leaders, and role models by demonstrating strong values, high ethical standards, and integrity;

  • Will have reputations as practical problem solvers, systems thinkers, innovators, and as those who are curious and have a continued interest in learning.

The curriculum is designed to facilitate accomplishment of these objectives by program graduates. It provides a broad education, including fundamental knowledge about computer software and hardware. It also allows graduates to work in a team environment and to recognize the value of collaborative effort. The program lays a foundation for lifelong learning, professional growth, and ethical and responsible behavior in society.The Software Engineering program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Degree Requirements

The Bachelor of Science degree can be earned in eight semesters assuming appropriate background and full-time enrollment. Successful completion of a minimum of 127 credit hours is required.

Students entering this program should have demonstrated a competence in mathematics and science (preferably physics). They should be prepared to enter Calculus I, having demonstrated proficiency in algebra and trigonometry. Students can prepare for this program by taking MA 140 and MA 142, or MA 143 prior to taking MA 241. For those students who have not taken physics in high school, it is recommended that PS 103 be taken prior to PS 150.

The Software Engineering program is designed to prepare students to work as part of a team on the development of software systems. Software engineering concepts, methods, and techniques are integrated through the curriculum. The curriculum includes courses in general education, math and science, and computing. The latter is divided into computing fundamentals, advanced concepts, applied computing, and software engineering. In addition, a student can acquire a minor or a concentration in a domain area of interest. Students should be aware that several courses in each academic year may have prerequisites and/or corequisites. Check the course descriptions at the back of this catalog before registering for classes to ensure requisite sequencing.

Suggested Program of Study

Students should be aware that several courses in each academic year may have prerequisites and/or corequisites. Please check the course descriptions at the back of this catalog before registering for classes to ensure requisite sequencing.

See the Common Year One outline in the Engineering Fundamentals Program Introduction. CS 223 is a required course for this degree program.

Year One
See the Common Year One outline in the College of Engineering introduction. 32-33
 Credits Subtotal32.0-33.0
Year Two
AS 120 Principles of Aeronautical Science 3
CEC 220 Digital Circuit Design 3
CEC 222 Digital Circuit Design Laboratory 1
CEC 320 Microprocessor Systems 3
CEC 322 Microprocessor Systems Laboratory 1
COM 221 Technical Report Writing 3
CS 222 Introduction to Discrete Structures 3
CS 225 Computer Science II (3 credits lecture, 1 credit laboratory) *3-4
CS 315 Data Structures and Analysis of Algorithms 3
PS 250 Physics for Engineers III 3
PS 253 Physics Laboratory for Engineers 1
SE 300 Software Engineering Practices (3 credits lecture, 1 credit lab) 4
 Credits Subtotal31.0-32.0
Year Three
CEC 450 Real-Time Systems 3
CEC 470 Computer Architecture 3
CS 317 Files and Database Systems 3
CS 332 Organization of Programming Languages 3
CS 420 Operating Systems 3
EC 225 Engineering Economics 3
MA 412 Probability and Statistics 3
SE 310 Analysis and Design of Software Systems 3
SE 320 Software Construction 3
Humanities or Social Sciences Elective 3
MA Upper-Level Elective ** 3
 Credits Subtotal33.0
Year Four
SE 410 Software Modeling 3
SE 420 Software Quality Assurance 3
SE 450 Software Team Project I (2 credits lecture, 1 credit lab) 3
SE 451 Software Team Project II (1 credit lecture, 2 credits lab) 3
CEC/CS/SE Upper-Level Elective 3
Humanities or Social Sciences Upper Level Elective 3
Open Elective 3
Specified Electives *** 9
 Credits Subtotal30.0
 Credits Total: 127

Students in the Software Engineering program are encouraged to take CS 225 during the first year, postponing COM 219 until the second year.


Math elective to be selected from an approved list of courses maintained by the program coordinator.


Courses to be selected, with the approval of the program coordinator, to support acquiring a minor, an identified concentration of domain knowledge (aerospace, aviation, business, communications, human factors, mathematics, etc.), or further depth in software engineering or related disciplines.