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 Sciences3-10
Physical Sciences3-5
Fine Arts3
Social & Behavioral Sciences3
Exploration 3-5
Core Discipline Requirements
CS 1400Fundamentals of Programming3
CS 1410Object Oriented Programming3
CS 2100Discrete Structures3
CS 2420Introduction to Algorithms and Data Structures3
CS 2810Computer Organization and Architecture3
CS 3005Programming in C++3
CS 3150Computer Networks3
CS 3510Algorithms3
CS 4307Database Systems3
or IT 2300 Database Design & Management
IT 1100Introduction to Unix/Linux3
SE 1400Web Design Fundamentals (ALCS)3
CS 2450Software 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
Game Development
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
Internet of Things Programming
User Experience Design
Tech Entrepreneurship
Online Marketing and SEO (ALCS)
Internship (ALPP)
Special Topics in Software Engineering

Complete all courses 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 3010Mobile Application Development for Android (Must be different than course used for core requirement)3
or SE 3020 Mobile Application Development for iOS
SE 3250Internet of Things Programming3
SE 3450User Experience Design3
Data Science Track
CS 4300Artificial Intelligence3
or CS 4400 Data Mining
CS 4320Machine Learning3
CS 4410Data Visualization3
Virtual Reality Track
CS 3500Game Development3
CS 4995Programming for VR/XR Internship 013
CS 4996Programming for VR/XR Internship 023

A course may only be used to fulfill one program requirement. Dual-listed courses may only be used once to fill requirements.  Consult course descriptions in the current catalog to verify dual-listed courses.

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.