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.
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 College of Engineering introduction.||32-33|
|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|
or COM 219
|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|
|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|
|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|
|Specified Electives ***||9|
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.