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:
- Student applies and is accepted to Utah Tech
- Student's major is designated as Associate of Programming
- Student completes the requirements in the Associate of Programming with a flat C or higher
- Student meets with the Computing Advisor to ensure that required courses are complete and to finalize an academic plan
- 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
| Code | Title | Hours |
|---|---|---|
| English | 3-7 | |
| Mathematics | 3-5 | |
| American Institutions | 3-6 | |
| Life Sciences | 3-10 | |
| Physical Sciences | 3-5 | |
| Fine Arts | 3 | |
| Literature/Humanities | 3 | |
| Social & Behavioral Sciences | 3 | |
| Code | Title | Hours |
|---|---|---|
| Computer Science Core Requirements | ||
| CS 1400 | Fundamentals of Programming 2 | 3 |
| CS 1410 | Object Oriented Programming 2 | 3 |
| CS 2420 | Introduction to Algorithms and Data Structures 2 | 3 |
| CS 2450 | Software Engineering 2 | 3 |
| CS 2810 | Computer Organization and Architecture 2 | 3 |
| CS 3005 | Programming in C++ 2 | 3 |
| CS 3530 | Computational Theory 2 | 3 |
| CS 3510 | Algorithms 2 | 3 |
| CS 4600 | Senior Project 2 | 3 |
| SET 1000 | Graduation Planning & Career Prep I | 0 |
| Computer Science Core Electives 1 | ||
| Complete at least seven (7) courses from the following: | ||
| CS 3150 | Computer Networks 2 | 3 |
| CS 3400 | Operating Systems 2 | 3 |
| CS 3410 | Distributed Systems 2 | 3 |
| CS 3520 | Programming Languages 2 | 3 |
| CS 3600 | Graphics Programming 2 | 3 |
| CS 4300 | Artificial Intelligence 2 | 3 |
| CS 4307 | Database Systems 2 | 3 |
| CS 4320 | Machine Learning 2 | 3 |
| CS 4550 | Compilers 2 | 3 |
| SE 3200 | Web Application Development I 2 | 3 |
| Math Core Requirements | ||
| MATH 1210 | Calculus I (MA) 2 | 4 |
| MATH 3400 | Probability & Statistics | 3 |
| CS 2100 | Discrete Structures 2 | 3 |
| Math Core Electives | ||
| Complete at least two (2) courses from the following: | ||
| MATH 1220 | Calculus II (MA) 2 | 4 |
| MATH 2210 | Multivariable Calculus (MA) 2 | 4 |
| MATH 2250 | Differential Equations and Linear Algebra 2 | 4 |
| MATH 2270 | Linear Algebra 2 | 3 |
| MATH 2280 | Ordinary Differential Equations 2 | 3 |
| MATH 3050 | Stochastic Modeling and Applications | 3 |
| MATH 3450 | Advanced Statistical Learning | 3 |
| 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 3150 | Computer Networks 2 | 3 |
| CS 3400 | Operating Systems 2 | 3 |
| CS 3410 | Distributed Systems 2 | 3 |
| CS 3500 | Game Development 2 | 3 |
| CS 3520 | Programming Languages 2 | 3 |
| CS 3600 | Graphics Programming 2 | 3 |
| CS 4300 | Artificial Intelligence 2 | 3 |
| CS 4307 | Database Systems 2 | 3 |
| CS 4320 | Machine Learning 2 | 3 |
| CS 4400 | Data Mining | 3 |
| CS 4410 | Data Visualization | 3 |
| CS 4550 | Compilers 2 | 3 |
| CS 4800R | Undergraduate Research (Repeatable up to 6 credits) | 1-6 |
| CS 4920R | Internship (Repeatable up to 3 credits) | 1-3 |
| CS 4990 | Special Topics in Computer Science (Repeatable up to 6 credits as topics vary) 2 | 0.5-3 |
| CS 4991R | Competitive Programming (Repeatable up to 3 credits) | 0.5 |
| CS 4992R | Computer Science Seminar (Repeatable up to 4 credits) | 1 |
| CS 4995 | Immersive Game Development I 2 | 3 |
| IT 1100 | Introduction to Unix/Linux 2 | 3 |
| IT 2700 | Information Security 2 | 3 |
| IT 3100 | Systems Design and Administration 2 | 3 |
| IT 3110 | System Automation 2 | 3 |
| IT 4200 | DevOps Lifecycle Management 2 | 3 |
| SE 1400 | Web Design Fundamentals (ALCS) 2 | 3 |
| SE 3010 | Mobile Application Development 2 | 3 |
| SE 3100 | Software Practices 2 | 3 |
| SE 3200 | Web Application Development I 2 | 3 |
| SE 3150 | Software Quality 2 | 3 |
| SE 3250 | Internet of Things Programming 2 | 3 |
| SE 3400 | Human-Computer Interaction 2 | 3 |
| SE 3450 | User Experience Design 2 | 3 |
| SE 4200 | Web Application Development II 2 | 3 |
| SE 4930R | Software 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
- Complete a minimum of 120 college-level credits (1000 and above).
- Complete at least 40 upper-division credits (3000 and above).
- Complete at least 30 upper-division credits at Utah Tech for institutional residency.
- Cumulative GPA 2.0 or higher.
- Grade C or higher in each Core Requirement and Elective Requirement course.