Software Engineering, B.S.
Software Engineers design and develop large software systems. In addition, they may lead teams of software developers or quality assurance engineers. They also work with users and customers to understand their needs. Software systems we take for granted, such as Microsoft Office, are implemented by software engineers. Software engineers employ innovative software development approaches, such as Agile software development, to effectively manage software development projects.
Matriculation Requirements
- Completion of CS 1400 Fundamentals of Programming, CS 1410 Object Oriented Programming, CS 2300 Discrete Mathematical Structures I, CS 2420 Introduction to Algorithms and Data Structures, and CS 2450 Software Engineering with a grade of C+ better.
- Completion of MATH 1210 Calculus I QL and (ENGL 1010 Introduction to Academic Writing CC or ENGH 1005 Literacies and Composition Across Contexts CC) with a grade of C or better.
- Each of CS 1400, CS 1410, CS 2300, CS 2420, MATH 1210, and (ENGL 1010 or ENGH 1005) cannot be taken more than twice to obtain the required grade.
- Overall GPA of 2.5 or higher.
Program Requirements
Code | Title | Credit Hours |
---|---|---|
Total Credit Hours | 120 | |
General Education Requirements | 38 Credits | |
ENGL 1010 | Introduction to Academic Writing CC | 3 |
or ENGH 1005 | Literacies and Composition Across Contexts CC | |
ENGL 2010 | Intermediate Academic Writing CC | 3 |
MATH 1210 | Calculus I QL 1 | 4 |
American Institutions - Complete one of the following: | 3 | |
US Economic History AS (3) | ||
American Civilization AS (3) | ||
American Heritage AS (3) | ||
American National Government AS (3) | ||
US History to 1877 AS and US History since 1877 AS (6) | ||
Complete the following: | ||
PHIL 2050 | Ethics and Values IH | 3 |
HLTH 1100 | Personal Health and Wellness TE | 2 |
or EXSC 1097 | Fitness for Life TE | |
Distribution Requirements: | ||
Biology | 3 | |
Physical Science (Choose from list) | 3 | |
Complete one of the following additional GE course/lab combinations: | 5 | |
College Biology I BB and College Biology I Laboratory (5) | ||
Principles of Chemistry I PP and Principles of Chemistry I Laboratory (5) | ||
College Physics II PP and College Physics II Lab (5) | ||
Physics for Scientists and Engineers I PP and Physics for Scientists and Engineers I Lab (5) | ||
Physics for Scientists and Engineers II PP and Physics for Scientists and Engineers II Lab (5) | ||
Introduction to Geology PP and Introduction to Geology Laboratory and Science Excursion (5) | ||
Fine Arts | 3 | |
COMM 1020 | Public Speaking HH 1 | 3 |
COMM 2110 | Interpersonal Communication SS 1 | 3 |
Discipline Core Requirements | 70 Credits | |
Complete one of the following: | 6 | |
Fundamentals of Programming and Object Oriented Programming (6) | ||
Accelerated Introduction to Programming (undefined) (and an additional 3 credit CS elective not already completed) 2 | ||
STAT 2050 | Introduction to Statistical Methods | 4 |
CS 2300 | Discrete Mathematical Structures I | 3 |
CS 2370 | C Plus Plus Programming | 3 |
CS 2810 | Computer Organization and Architecture | 3 |
CS 2420 | Introduction to Algorithms and Data Structures | 3 |
CS 2450 | Software Engineering WE | 3 |
CS 2600 | Computer Networks I | 3 |
CS 2700 | Causal Inference | 3 |
CS 305G | Global Social and Ethical Issues in Computing GI WE | 3 |
CS 3060 | Operating Systems Theory | 3 |
CS 3100 | Data Privacy and Security | 3 |
CS 3240 | Discrete Mathematical Structures II | 3 |
CS 3310 | Analysis of Algorithms | 3 |
Complete one of the following: | 3 | |
Java Software Development (3) | ||
C Plus Plus Software Development (3) | ||
CsharpNET Software Development (3) | ||
Python Software Development (3) | ||
JavaScript Software Development (undefined) | ||
Advanced Programming Language Other (3) | ||
CS 3450 | Principles and Patterns of Software Design | 3 |
CS 3410 | Human Factors in Software Development | 3 |
CS 3520 | Database Theory | 3 |
CS 4230 | Software Testing and Quality Engineering | 3 |
CS 4400 | Software Engineering II | 3 |
CS 4450 | Analysis of Programming Languages | 3 |
CS 4550 | Software Engineering III | 3 |
Elective Requirements | 12 Credits | |
Complete 12 credits from the following: | 12 | |
Any CS course numbered 3000 or higher not already required. |
- 1
Minimum grade of C- required.
- 2
If students choose CS 1420, please see advisor.
Graduation Requirements
- Completion of a minimum of 120 semester credits, with a minimum of 40 upper-division credits.
- Overall grade point average of 2.0 or above. Must have a minimum grade of C- with a combined GPA of 2.5 or higher in all discipline core and elective requirements and the General Education requirements marked with a footnote 1.
- Residency hours -- minimum of 30 credit hours through course attendance at UVU. Ten of these hours must be within the last 45 hours earned. At least 12 of the credit hours earned in residence must be in approved CSE Department courses.
- No more than 80 semester hours and no more than 20 hours of transfer credit from a two-year college may be applied to the core or elective courses.
- No more than 6 semester hours may be earned through independent study.
- Successful completion of at least one Global/Intercultural course.
- Successful completion of at least two Writing Enriched (WE) courses.
Graduation Plan
This graduation plan is a sample plan and is intended to be a guide. Your specific plan may differ based on your Math and English placement and/or transfer credits applied. You are encouraged to meet with an advisor and set up an individualized graduation plan in Wolverine Track.
First Year | ||
---|---|---|
Semester 1 | Credit Hours | |
CS 1400 | Fundamentals of Programming | 3 |
MATH 1210 | Calculus I QL | 4 |
ENGL 1010 or ENGH 1005 | Introduction to Academic Writing CC or Literacies and Composition Across Contexts CC | 3 |
GE | 3 | |
Credit Hours | 13 | |
Semester 2 | ||
CS 1410 | Object Oriented Programming | 3 |
CS 2810 | Computer Organization and Architecture | 3 |
STAT 2050 | Introduction to Statistical Methods | 4 |
ENGL 2010 | Intermediate Academic Writing CC | 3 |
GE | 3 | |
Credit Hours | 16 | |
Second Year | ||
Semester 3 | ||
CS 2420 | Introduction to Algorithms and Data Structures | 3 |
CS 2300 | Discrete Mathematical Structures I | 3 |
CS 2370 | C Plus Plus Programming | 3 |
HLTH 1100 or EXSC 1097 | Personal Health and Wellness TE or Fitness for Life TE | 2 |
Complete one of the following | 5 | |
College Biology I BB and College Biology I Laboratory | ||
Principles of Chemistry I PP and Principles of Chemistry I Laboratory | ||
College Physics II PP and College Physics II Lab | ||
Physics for Scientists and Engineers I PP and Physics for Scientists and Engineers I Lab | ||
Physics for Scientists and Engineers II PP and Physics for Scientists and Engineers II Lab | ||
Introduction to Geology PP and Introduction to Geology Laboratory and Science Excursion | ||
Credit Hours | 16 | |
Semester 4 | ||
CS 2450 | Software Engineering WE | 3 |
CS 2600 | Computer Networks I | 3 |
Complete one of the following: | 3 | |
Java Software Development | ||
CsharpNET Software Development | ||
Python Software Development | ||
C Plus Plus Software Development | ||
JavaScript Software Development | ||
Advanced Programming Language Other | ||
COMM 1020 | Public Speaking HH | 3 |
Physical Science | 3 | |
Credit Hours | 15 | |
Third Year | ||
Semester 5 | ||
CS 3410 | Human Factors in Software Development | 3 |
CS 3100 | Data Privacy and Security | 3 |
CS Elective | 6 | |
PHIL 2050 | Ethics and Values IH | 3 |
Credit Hours | 15 | |
Semester 6 | ||
CS 3060 | Operating Systems Theory | 3 |
CS 3240 | Discrete Mathematical Structures II | 3 |
CS 3450 | Principles and Patterns of Software Design | 3 |
CS 3520 | Database Theory | 3 |
CS Elective | 3 | |
Credit Hours | 15 | |
Fourth Year | ||
Semester 7 | ||
CS 4450 | Analysis of Programming Languages | 3 |
CS 4400 | Software Engineering II | 3 |
CS 4230 | Software Testing and Quality Engineering | 3 |
GE | 3 | |
CS Elective | 3 | |
Credit Hours | 15 | |
Semester 8 | ||
CS 2700 | Causal Inference | 3 |
CS 305G | Global Social and Ethical Issues in Computing GI WE | 3 |
CS 3310 | Analysis of Algorithms | 3 |
CS 4550 | Software Engineering III | 3 |
COMM 2110 | Interpersonal Communication SS | 3 |
Credit Hours | 15 | |
Total Credit Hours | 120 |
Program Learning Outcomes
- Graduates are proficient in using data structures and algorithms. They understand how to implement them, when to apply them, and the abstractions associated with their use.
- Graduates understand the foundations of computer architecture.
- Graduates are able to develop solutions to significant software development problems.
- Graduates will be able to provide internal and external software documentation.
- Graduates are able to function effectively on teams to accomplish a common goal.
- Graduates understand software project lifecycles and development processes, and can follow standard processes.
- Graduates can elicit and write software specifications.
- Graduates understand principles of software quality assurance and testing, and can test software effectively.