Computer Science, BS

Program Description

This program provides students with a broad understanding of the principles and practice of Computer Science, with the craft of programming emphasized as a central tool both for pedagogy (learning by doing) and for preparation for professional practice. Students study fundamental topics in software, hardware, and theory, as well as in-depth subjects such as artificial intelligence, graphics, compilers, and distributed systems.


Admission Requirements

The admissions process works as follows:

  1. Student applies and is accepted to Utah Tech
  2. Student's major is designated as Associate of Programming
  3. Student completes the requirements in the Associate of Programming with a flat C or higher
  4. Student meets with the Computing Advisor to ensure that required courses are complete and to finalize an academic plan
  5. Student's major is switched from Associate of Programming to Computer Science

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

English3-7
Mathematics3-5
American Institutions3-6
Life Sciences3-10
Physical Sciences3-5
Fine Arts3
Literature/Humanities3
Social & Behavioral Sciences3
Computer Science Core Requirements
CS 1400Fundamentals of Programming 23
CS 1410Object Oriented Programming 23
CS 2420Introduction to Algorithms and Data Structures 23
CS 2450Software Engineering 23
CS 2810Computer Organization and Architecture 23
CS 3005Programming in C++ 23
CS 3530Computational Theory 23
CS 3510Algorithms 23
CS 4600Senior Project 23
SET 1000Graduation Planning & Career Prep I0
Computer Science Core Electives 1
Complete at least seven (7) courses from the following:
CS 3150Computer Networks 23
CS 3400Operating Systems 23
CS 3410Distributed Systems 23
CS 3520Programming Languages 23
CS 3600Graphics Programming 23
CS 4300Artificial Intelligence 23
CS 4307Database Systems 23
CS 4320Machine Learning 23
CS 4550Compilers 23
SE 3200Web Application Development I 23
Math Core Requirements
MATH 1210Calculus I (MA) 24
MATH 3400Probability & Statistics3
CS 2100Discrete Structures 23
Math Core Electives
Complete at least two (2) courses from the following:
MATH 1220Calculus II (MA) 24
MATH 2210Multivariable Calculus (MA) 24
MATH 2250Differential Equations and Linear Algebra 24
MATH 2270Linear Algebra 23
MATH 2280Ordinary Differential Equations 23
MATH 3050Stochastic Modeling and Applications3
MATH 3450Advanced Statistical Learning3
Science Core Requirement
Complete one (1) course with lab from the following:
BIOL 1610
BIOL 1615
Principles of Biology I (LS)
and Principles of Biology I Lab (LAB) 2
5
CHEM 1210
CHEM 1215
Principles of Chemistry I (PS)
and Principles of Chemistry I Lab (LAB) 2
5
PHYS 2210
PHYS 2215
Physics/Scientists Engineers I (PS)
and Physics/Scientists Engineers I Lab 2
5
Computer Science Elective Requirements 1
Complete at least nine (9) credits from the following:
CS 3150Computer Networks 23
CS 3400Operating Systems 23
CS 3410Distributed Systems 23
CS 3500Game Development 23
CS 3520Programming Languages 23
CS 3600Graphics Programming 23
CS 4300Artificial Intelligence 23
CS 4307Database Systems 23
CS 4320Machine Learning 23
CS 4400Data Mining3
CS 4410Data Visualization3
CS 4550Compilers 23
CS 4800RUndergraduate Research (Repeatable up to 6 credits)1-6
CS 4920RInternship (Repeatable up to 3 credits)1-3
CS 4990Special Topics in Computer Science (Repeatable up to 6 credits as topics vary) 20.5-3
CS 4991RCompetitive Programming (Repeatable up to 3 credits)0.5
CS 4992RComputer Science Seminar (Repeatable up to 4 credits)1
CS 4995Immersive Game Development I 23
IT 1100Introduction to Unix/Linux 23
IT 2700Information Security 23
IT 3100Systems Design and Administration 23
IT 3110System Automation 23
IT 4200DevOps Lifecycle Management 23
SE 1400Web Design Fundamentals (ALCS) 23
SE 3010Mobile Application Development 23
SE 3100Software Practices 23
SE 3200Web Application Development I 23
SE 3150Software Quality 23
SE 3250Internet of Things Programming 23
SE 3400Human-Computer Interaction 23
SE 3450User Experience Design 23
SE 4200Web Application Development II 23
SE 4930RSoftware Entrepreneurial Exploration (Repeatable up to 6 credits)3

1. 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.
2. Course fee required. See course fee tab for details


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 and Elective Requirement course.