B.S. in Software Engineering


With software applications of enormous size, complexity, and expense now prevalent in diverse domains, software engineering has never been as important a field as it is now. Students gain necessary talents to be successful in today’s organizations, following current industry practices: designing and developing software; understanding and applying software development processes and methodologies in their work; leveraging software development tools used in the various phases of the development life cycle, and functioning as an effective member of a software development team or organization. Students develop their knowledge and skill through high-level electives where they write major projects in diverse areas such as client/server programming for the web, distributed programming for large clusters of processors, database programming, and markup language transformation. While working on modern applications with current software engineering practices such as Extreme Programming, students learn to analyze and apply good algorithms and other relevant tools.

The Bureau of Labor Statistics indicates high median pay and estimates a 17% increase (much higher than average) in the demand for software developers for the period 2014 to 2024.


This Degree was previously known as Software Development.

If you decided before Fall 2013 you may use the curriculum for the old B.S. Software Development Degree, which can be found here.

If you decided before Fall 2020 you may use the curriculum for the old B.S. Software Development Degree, which can be found B.S. in Software Engineering (Pre Fall 2020).

Major Requirements (61 Credit Hours)

One of the following must be taken:

(By arrangement with the Undergraduate Program Director, the extra credit from MATH 161 may be applied towards the “Computer Science Free Electives” category.)

One of the following must be taken:

All of the following must be taken:

SWEN-BS Restricted Electives

Select 9 credits from:

Practicum Capstone

Six (6) credits taken from one or more of COMP 312: Open Source Software Practicum, COMP 390: Broadening Participation in STEM (Computing, Math & Science), COMP 391: Internship in Computer Science, and COMP 398: Independent Study. See the details of registering in the links for each course. Students are encouraged to complete these credits during junior and senior years to draw on prior experience.

Computer Science Electives

General Notes

  • Credits never can be double-counted for different categories of the requirements for the major. But a course may satisfy a major requirement and also satisfy a University and/or College requirement (e.g., Core, residency, Engaged Learning, Writing Intensive).

  • It is usually not meant to combine a computing major or minor with another, the principal exception being CCFR-MINR; see more detail in the double-dipping rules.

Suggested Ordering of Courses

See this SWEN-BS Sample Schedule.