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
Course List Code | Title | Hours |
| 3-7 |
| 3-5 |
| 3-6 |
| 3-10 |
| 3-5 |
| 3 |
| 3 |
| 3 |
| 3-5 |
Course List Code | Title | Hours |
CS 1400 | Fundamentals of Programming | 3 |
CS 1410 | Object Oriented Programming | 3 |
CS 2100 | Discrete Structures | 3 |
CS 2420 | Introduction to Algorithms and Data Structures | 3 |
CS 2810 | Computer Organization and Architecture | 3 |
CS 3005 | Programming in C++ | 3 |
CS 3150 | Computer Networks | 3 |
CS 3510 | Algorithms | 3 |
CS 4307 | Database Systems | 3 |
or IT 2300 | Database Design & Management |
IT 1100 | Introduction to Unix/Linux | 3 |
SE 1400 | Web Design Fundamentals (ALCS) | 3 |
CS 2450 | Software Engineering | 3 |
SE 3010 | Mobile Application Development for Android | 3 |
or SE 3020 | Mobile Application Development for iOS |
SE 3100 | Software Practices | 3 |
SE 3150 | Software Quality | 3 |
SE 3200 | Web Application Development I | 3 |
SE 3400 | Human-Computer Interaction | 3 |
SE 4200 | Web Application Development II | 3 |
SE 4600 | Senior Project | 3 |
ENGL 2100 | Technical Writing (ALCS) | 3 |
MATH 1100 | Business Calculus (MA) | 3 |
or MATH 1210 | Calculus I (MA) |
MATH 2050 | Applied Statistics with Programming | 3 |
1 | 6 |
| Operating Systems | |
| Distributed Systems | |
| Programming Languages | |
| Game Development | |
| Computational Theory | |
| Graphics Programming | |
| Artificial Intelligence | |
| Machine Learning | |
| Compilers | |
| 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
Course List Code | Title | Hours |
DES 2100 | Design Thinking | 3 |
SE 3500 | Tech Entrepreneurship | 3 |
SE 3550 | Online Marketing and SEO (ALCS) | 3 |
Course List Code | Title | Hours |
SE 3010 | Mobile Application Development for Android (Must be different than course used for core requirement) | 3 |
or SE 3020 | Mobile Application Development for iOS |
SE 3250 | Internet of Things Programming | 3 |
SE 3450 | User Experience Design | 3 |
Course List Code | Title | Hours |
CS 3500 | Game Development | 3 |
CS 4995 | Programming for VR/XR Internship 01 | 3 |
CS 4996 | Programming for VR/XR Internship 02 | 3 |
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, Elective Requirement, and Track Requirement course.
Software Engineering Program Learning Outcomes
At the successful completion of this program, students will be able to:
- Plan, design, create, measure, and deliver robust software solutions that address contemporary real-world problems.
- Differentiate and evaluate modern techniques, skills, and tools necessary for professional practice.
- Weigh and apply ethical, legal, and social responsibilities in all aspects of practice.
- Construct effective solutions in teams to accomplish a common goal.
- Author effective visual, oral, and written communication for a range of audiences.