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.
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 | |
Exploration | 3-5 |
Code | Title | Hours |
---|---|---|
Computer Science Core Requirements | ||
CS 1400 | Fundamentals of Programming | 3 |
CS 1410 | Object Oriented Programming | 3 |
CS 2420 | Introduction to Algorithms and Data Structures | 3 |
CS 2450 | Software Engineering | 3 |
CS 2810 | Computer Organization and Architecture | 3 |
CS 3005 | Programming in C++ | 3 |
CS 3530 | Computational Theory | 3 |
CS 3510 | Algorithms | 3 |
CS 4600 | Senior Project | 3 |
Complete at least seven (7) courses from the following: | ||
CS 3150 | Computer Networks | 3 |
CS 3400 | Operating Systems | 3 |
CS 3410 | Distributed Systems | 3 |
CS 3520 | Programming Languages | 3 |
CS 3600 | Graphics Programming | 3 |
CS 4300 | Artificial Intelligence | 3 |
CS 4307 | Database Systems | 3 |
CS 4320 | Machine Learning | 3 |
CS 4550 | Compilers | 3 |
SE 3200 | Web Application Development I | 3 |
Math Core Requirements | ||
MATH 1210 | Calculus I (MA) | 4 |
MATH 3400 | Probability & Statistics | 3 |
CS 2100 | Discrete Structures | 3 |
Complete at least two (2) courses from the following: | ||
MATH 1220 | Calculus II (MA) | 4 |
MATH 2210 | Multivariable Calculus (MA) | 4 |
MATH 2250 | Differential Equations and Linear Algebra | 4 |
MATH 2270 | Linear Algebra | 3 |
MATH 2280 | Ordinary Differential Equations | 3 |
MATH 3050 | Stochastic Modeling and Applications | 3 |
MATH 3450 | Statistical Inference | 3 |
MATH 3605 | Introduction to Modeling and Simulation | 3 |
MATH 3905 | Cryptography and Codes | 3 |
MATH 4005 | Quantum Computing and Cryptography | 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) | 5 |
CHEM 1210 & CHEM 1215 | Principles of Chemistry I (PS) and Principles of Chemistry I Lab (LAB) | 5 |
PHYS 2210 & PHYS 2215 | Physics/Scientists Engineers I (PS) and Physics/Scientists Engineers I Lab (LAB) | 5 |
Computer Science Elective Requirements | ||
Complete at least nine (9) credits from the following: | ||
CS 3150 | Computer Networks | 3 |
CS 3400 | Operating Systems | 3 |
CS 3410 | Distributed Systems | 3 |
CS 3500 | Game Development | 3 |
CS 3520 | Programming Languages | 3 |
CS 3600 | Graphics Programming | 3 |
CS 4300 | Artificial Intelligence | 3 |
CS 4307 | Database Systems | 3 |
CS 4320 | Machine Learning | 3 |
CS 4550 | Compilers | 3 |
CS 4800R | Undergraduate Research (up to 6 credits) | 1-3 |
CS 4920R | Internship | 1-3 |
CS 4990 | Special Topics in Computer Science | 0.5-3 |
CS 4992R | Computer Science Seminar (up to 4 credits) | 1 |
CS 4991R | Competitive Programming | 0.5 |
IT 1100 | Introduction to Unix/Linux | 3 |
IT 2700 | Information Security | 3 |
IT 3100 | Systems Design and Administration | 3 |
IT 3110 | System Automation | 3 |
IT 4200 | DevOps Lifecycle Management | 3 |
SE 1400 | Web Design Fundamentals (ALCS) | 3 |
SE 3010 | Mobile Application Development for Android | 3 |
SE 3020 | Mobile Application Development for iOS | 3 |
SE 3100 | Software Practices | 3 |
SE 3200 | Web Application Development I | 3 |
SE 4200 | Web Application Development II | 3 |
SE 3150 | Software Quality | 3 |
SE 3400 | Human-Computer Interaction | 3 |
SE 3450 | User Experience Design | 3 |
NOTE: 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
- 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.