Software Engineering, BS


Program Description

The Bachelor of Science degree in Software Engineering (SE) is designed to emphasize learning the practical elements of producing reliable software in a professional setting. Building on the core foundations of computer science, this degree instructs students in the tools, techniques, and practices used to produce robust software in a variety of settings and to solve a broad range of problems.

Program Curriculum

120 credits

Utah Tech General Education Requirements

All Utah Tech General Education requirements must be fulfilled. A previously earned degree may fulfill those requirements, but courses must be equivalent to Utah Tech's minimum General Education standards in American Institutions, English, and Mathematics.

General Education Core Requirements
American Institutions3-6
Life Sciences 3-10
Physical Sciences3-5
Laboratory Science0-1
Fine Arts3
Social & Behavioral Sciences3
Exploration 3-5
Core Discipline Requirements
CS 1400Fundamentals of Programming3
CS 1410Object Oriented Programming3
CS 2420Introduction to Algorithms and Data Structures3
CS 2810Computer Organization and Architecture3
CS 3005Programming in C++3
CS 3150Computer Networks3
CS 3310Discrete Mathematics3
CS 3510Algorithms3
CS 4307Database Systems3
or IT 2300 Database Design & Management
IT 1100Introduction to Unix/Linux3
SE 1400Web Design Fundamentals (ALCS)3
SE 2450Introduction to Software Engineering3
SE 3010Mobile Application Development for Android3
or SE 3020 Mobile Application Development for iOS
SE 3100Software Practices3
SE 3150Software quality3
SE 3200Web Application Development I3
SE 3400Human-Computer Interaction3
SE 4200Web Application Development II3
SE 4600Senior Project3
ENGL 2100Technical Writing (ALCS)3
MATH 1100Business Calculus (MA)3
or MATH 1210 Calculus I (MA)
MATH 2050Applied Statistics with Programming3
Complete six (6) credits from the following list of elective courses: 16
Operating Systems
Distributed Systems
Programming Languages
Computational Theory
Graphics Programming
Artificial Intelligence
Machine Learning
Undergraduate Research (up to 6 credits)
Special Topics in Computer Science
Competitive Programming
Computer Science Seminar (up to 4 credits)
Design Thinking
Information Security
Systems Design and Administration
System Automation
DevOps Virtualization
Data Visualization and Storytelling
DevOps Lifecycle Management
Entrepreneurial Marketing
Mobile Application Development for Android
Mobile Application Development for iOS
User Experience Design
Tech Entrepreneurship
Online Marketing and SEO (ALCS)
Application Development
Internship (ALPP)
Special Topics in Software Engineering

complete all course from one of the following tracks:1

Entrepreneurial and Marketing Track
DES 2100Design Thinking3
SE 3500Tech Entrepreneurship3
SE 3550Online Marketing and SEO (ALCS)3
DevOps Track
IT 3110System Automation (Prerequisites: IT 3100 and IT 2400)3
IT 3300DevOps Virtualization (Prerequisites: IT 2400)3
IT 4200DevOps Lifecycle Management3
Application Track
SE 3600Application Development3
SE 3010Mobile Application Development for Android (Must be different than course used for core requirement)3
or SE 3020 Mobile Application Development for iOS
SE 3450User Experience Design3
Data Science Track
CS 4300Artificial Intelligence3
CS 4320Machine Learning3
IT 4070Data Visualization and Storytelling3

Graduation Requirements

  1. Complete a minimum of 120 college-level credits (1000 and above).
  2. Complete at least 40 upper-division credits (3000 and above).
  3. Complete at least 30 upper-division credits at Utah Tech for institutional residency.
  4. Cumulative GPA 2.0 or higher.
  5. Grade C or higher in each Core Requirement, Elective Requirement, and Track Requirement course.

Graduation Plan 

1st Year
Fall SemesterHoursSpring SemesterHours
CS 14003CS 14103
General Education (Fine Arts)3ENGL 20103
IT 11003SE 14003
ENGL 1010 or 1010D3MATH 11003
MATH 10504General Education (Life Sciences)3
 16 15
2nd Year
Fall SemesterHoursSpring SemesterHours
CS 24203SE 24503
CS 28103General Education (American Institutions)3
MATH 20503General Education (Humanities)3
ENGL 21003General Education (Social and Behavioral Sciences)3
General Education (Physical Sciences)3General Education (Exploration)3
General Education (Lab)1 
 16 15
3rd Year
Fall SemesterHoursSpring SemesterHours
CS 33103CS 31503
CS 30053CS 43073
SE 31003SE 42003
SE 32003SE 31503
General Elective3CS 35103
 15 15
4th Year
Fall SemesterHoursSpring SemesterHours
SE 30203SE 46003
SE 34003SE Track Requirement (3 of 3)3
SE Track Requirement (1 of 3)3Software Engineering Elective (1 of 2)3
SE Track Requirement (2 of 3)3Software Engineering Elective (2 of 2)3
General Elective4 
 16 12
Total Hours 120

Software Engineering Program Learning Outcomes:

At the successful completion of this program, students will be able to:

  1.  Plan, design, create, measure, and deliver robust software solutions that address contemporary real-world problems.
  2. Differentiate and evaluate modern techniques, skills, and tools necessary for professional practice.
  3. Weigh and apply ethical, legal, and social responsibilities in all aspects of practice.
  4. Construct effective solutions in teams to accomplish a common goal.
  5. Author effective visual, oral, and written communication for a range of audiences.