B.S. in Software Engineering¶
Overview¶
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.
Curriculum¶
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:
- MATH 131: Applied Calculus I
- MATH 161: Calculus I (4 credits)
(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:
- STAT 103: Fundamentals of Statistics
- STAT 203: Statistics
- ISSCM 241: Business Statistics
- PSYC 304: Statistics
All of the following must be taken:
- COMP 141: Introduction to Computing Tools and Techniques
- COMP 163: Discrete Structures or MATH 201: Introduction to Discrete Mathematics and Number Theory
- COMP 170: Introduction to Object-Oriented Programming
- COMP 264: Introduction to Computer Systems
- COMP 271: Data Structures I
- COMP 272: Data Structures II
- COMP 313: Intermediate Object-Oriented Development
- COMP 317: Social, Legal, and Ethical Issues in Computing
- COMP 330: Software Engineering
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¶
- 3 credits of COMP 125 or COMP 150 or COMP 3xx
- 10 credits of COMP 3xx.
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.