ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://catalog.uvu.edu/courses/cs/ |
| Last Crawled | 2026-04-07 07:05:59 (2 days ago) |
| First Indexed | 2024-06-09 05:25:16 (1 year ago) |
| HTTP Status Code | 200 |
| Meta Title | Computer Science (CS) | Utah Valley University Academic Catalog |
| Meta Description | null |
| Meta Canonical | null |
| Boilerpipe Text | To register for courses and see a real-time listing of classes and sections offered,Â
view the add/drop system
.
CS 1030.
 Â
Foundations of Computer Science.
 Â
(3 Credits)
CS 1380.
 Â
Modern Programming Essentials.
 Â
(3 Credits)
CS 1400.
 Â
Fundamentals of Programming.
 Â
(3 Credits)
CS 1410.
 Â
Object Oriented Programming.
 Â
(3 Credits)
CS 1420.
 Â
Accelerated Introduction to Programming.
 Â
(3 Credits)
CS 2250.
 Â
Java Programming.
 Â
(3 Credits)
CS 2300.
 Â
Discrete Mathematical Structures I.
 Â
(3 Credits)
CS 2310.
 Â
Probability in Computing.
 Â
(3 Credits)
CS 2370.
 Â
C Plus Plus Programming.
 Â
(3 Credits)
CS 2420.
 Â
Introduction to Algorithms and Data Structures.
 Â
(3 Credits)
CS 2450.
 Â
Software Engineering.
 Â
(3 Credits)
CS 2550.
 Â
Web Programming I.
 Â
(3 Credits)
CS 2600.
 Â
Computer Networks I.
 Â
(3 Credits)
CS 2700.
 Â
Causal Inference.
 Â
(3 Credits)
CS 2810.
 Â
Computer Organization and Architecture.
 Â
(3 Credits)
CS 2812R.
 Â
Internship.
 Â
(1-8 Credits)
CS 2900.
 Â
Data Privacy and Security.
 Â
(3 Credits)
CS 2910R.
 Â
Independent Study.
 Â
(1-6 Credits)
CS 2960R.
 Â
CS Seminar.
 Â
(1-3 Credits)
CS 2990.
 Â
Topics in Computer Science.
 Â
(3 Credits)
CS 3050G.
 Â
Global Social and Ethical Issues in Computing.
 Â
(3 Credits)
CS 3060.
 Â
Operating Systems Theory.
 Â
(3 Credits)
CS 3110.
 Â
Applied Cryptography.
 Â
(3 Credits)
CS 3120.
 Â
Ethical Hacking Tools Development.
 Â
(3 Credits)
CS 3140.
 Â
Network and Cloud Security.
 Â
(3 Credits)
CS 3240.
 Â
Discrete Mathematical Structures II.
 Â
(3 Credits)
CS 3250.
 Â
Java Software Development.
 Â
(3 Credits)
CS 3260.
 Â
CsharpNET Software Development.
 Â
(3 Credits)
CS 3270.
 Â
Python Software Development.
 Â
(3 Credits)
CS 3310.
 Â
Analysis of Algorithms.
 Â
(3 Credits)
CS 3360.
 Â
Rust Software Development.
 Â
(3 Credits)
CS 3370.
 Â
C Plus Plus Software Development.
 Â
(3 Credits)
CS 3380.
 Â
JavaScript Software Development.
 Â
(3 Credits)
CS 3390R.
 Â
Advanced Programming Language Other.
 Â
(3 Credits)
CS 3410.
 Â
Human Factors in Software Development.
 Â
(3 Credits)
CS 3450.
 Â
Principles and Patterns of Software Design.
 Â
(3 Credits)
CS 3456.
 Â
Parallel Computation.
 Â
(3 Credits)
CS 3520.
 Â
Database Theory.
 Â
(3 Credits)
CS 3530.
 Â
Data Management For Data Sciences.
 Â
(3 Credits)
CS 3540.
 Â
Game Programming.
 Â
(3 Credits)
CS 3660.
 Â
Web Programming II.
 Â
(3 Credits)
CS 3680.
 Â
Mobile Device Programming.
 Â
(3 Credits)
CS 3720.
 Â
Database Programming.
 Â
(3 Credits)
CS 3800.
 Â
Data Science Through Statistical Reasoning.
 Â
(3 Credits)
CS 3820.
 Â
Visualization Analytics for Data Science.
 Â
(3 Credits)
CS 4120.
 Â
Security Vulnerability Analysis.
 Â
(3 Credits)
CS 4200.
 Â
Secure Computing Capstone.
 Â
(3 Credits)
CS 4230.
 Â
Software Testing and Quality Engineering.
 Â
(3 Credits)
CS 4380.
 Â
Advanced High Performance Computer Architecture.
 Â
(3 Credits)
CS 4390R.
 Â
Advanced Current Topics in Computer Science.
 Â
(1-3 Credits)
CS 4400.
 Â
Software Engineering II.
 Â
(3 Credits)
CS 4440.
 Â
Applied 3D Computer Graphics.
 Â
(3 Credits)
CS 4450.
 Â
Analysis of Programming Languages.
 Â
(3 Credits)
CS 4470.
 Â
Artificial Intelligence.
 Â
(3 Credits)
CS 4480.
 Â
Digital Image Processing and Computer Vision.
 Â
(3 Credits)
CS 4490.
 Â
Compiler Construction.
 Â
(3 Credits)
CS 4500.
 Â
Advanced Topics in Database.
 Â
(3 Credits)
CS 4620.
 Â
Data Mining.
 Â
(3 Credits)
CS 4690.
 Â
Distributed Internet Application Development.
 Â
(3 Credits)
CS 4700.
 Â
Machine Learning.
 Â
(3 Credits)
CS 4710.
 Â
Machine Learning II.
 Â
(3 Credits)
CS 4720R.
 Â
AI Business and Tech Solutions.
 Â
(3 Credits)
CS 4730.
 Â
Natural Language Programming Foundations and Applications.
 Â
(3 Credits)
CS 4770.
 Â
Software Development for Robotics.
 Â
(3 Credits)
CS 4800.
 Â
Data Science Capstone.
 Â
(3 Credits)
CS 4810R.
 Â
Internship.
 Â
(1-8 Credits)
CS 4880.
 Â
Cloud Computing.
 Â
(3 Credits)
CS 4890R.
 Â
Undergraduate Research Project.
 Â
(2-6 Credits)
CS 4900.
 Â
Full Stack Web Senior Capstone.
 Â
(3 Credits)
CS 4910R.
 Â
Independent Study.
 Â
(1-6 Credits)
CS 4960R.
 Â
Senior Seminar.
 Â
(1-3 Credits)
CS 6100.
 Â
Database Management System Construction.
 Â
(3 Credits)
CS 6150.
 Â
Advanced Algorithms.
 Â
(3 Credits)
CS 6200.
 Â
Cyberphysical Security.
 Â
(3 Credits)
CS 6300.
 Â
Software Engineering Leadership.
 Â
(3 Credits)
CS 6400.
 Â
Modern Databases.
 Â
(3 Credits)
CS 6460.
 Â
Artificial Intelligence.
 Â
(3 Credits)
CS 6470.
 Â
Machine Learning.
 Â
(3 Credits)
CS 6480.
 Â
Deep Learning.
 Â
(3 Credits)
CS 6500.
 Â
Software Architecture.
 Â
(3 Credits)
CS 6510.
 Â
Design and Simulation of Operating Systems.
 Â
(3 Credits)
CS 6530.
 Â
Computer Graphics and Mixed Realities.
 Â
(3 Credits)
CS 6600.
 Â
Graduate Project I.
 Â
(3 Credits)
CS 6610.
 Â
Graduate Project II.
 Â
(3 Credits)
CS 6620.
 Â
Advanced Data Mining and Visualization.
 Â
(3 Credits)
CS 6700.
 Â
Advanced Mathematics for Computer Science.
 Â
(3 Credits)
CS 6730.
 Â
Advanced Embedded Systems Engineering.
 Â
(3 Credits)
CS 6790R.
 Â
Special Topics in Computer Science.
 Â
(3 Credits)
CS 6960R.
 Â
Advanced Software Development and Research Methods.
 Â
(1-4 Credits) |
| Markdown | - [Skip to Content](https://catalog.uvu.edu/courses/cs/#contentarea)
- [AZ Index](https://catalog.uvu.edu/azindex/)
- [Catalog Home](https://catalog.uvu.edu/)
[](https://www.uvu.edu/)
[Catalog](https://catalog.uvu.edu/)
- [Apply to UVU](https://www.uvu.edu/admissions/)
- [Why UVU](https://www.uvu.edu/whyuvu/)
- [myUVU](https://my.uvu.edu/)
Open Search
- [Degrees & Programs](https://catalog.uvu.edu/programs/)
- [Courses](https://catalog.uvu.edu/courses/)
- [Colleges & Schools](https://www.uvu.edu/collegesandschools/)
- [Academic Departments](https://www.uvu.edu/directory/department/list.html)
- [Graduate Studies](https://www.uvu.edu/graduatestudies/)
- Print Options
- [Archives](https://catalog.uvu.edu/archives/)
Open Search
Please visit the [catalog archive](https://catalog.uvu.edu/archives/) for details about previous years degrees and programs.
2026-2027 Edition
## [2026-2027 Edition](https://catalog.uvu.edu/)
- [Courses](https://catalog.uvu.edu/courses/)
- [Accounting (ACC)](https://catalog.uvu.edu/courses/acc/)
- [Aerospace Studies (AERO)](https://catalog.uvu.edu/courses/aero/)
- [American Indian Studies (AIST)](https://catalog.uvu.edu/courses/aist/)
- [American Sign Language (ASL)](https://catalog.uvu.edu/courses/asl/)
- [American Studies (AMST)](https://catalog.uvu.edu/courses/amst/)
- [Anthropology (ANTH)](https://catalog.uvu.edu/courses/anth/)
- [Applied Behavior Analysis (EDAB)](https://catalog.uvu.edu/courses/edab/)
- [Apprentice (APPR)](https://catalog.uvu.edu/courses/appr/)
- [Architecture (ARC)](https://catalog.uvu.edu/courses/arc/)
- [Art (ART)](https://catalog.uvu.edu/courses/art/)
- [Art History (ARTH)](https://catalog.uvu.edu/courses/arth/)
- [Astronomy (ASTR)](https://catalog.uvu.edu/courses/astr/)
- [Autism Studies (AUTS)](https://catalog.uvu.edu/courses/auts/)
- [Auto Mechanics (AUT)](https://catalog.uvu.edu/courses/aut/)
- [Automation and Electrical Technology (AET)](https://catalog.uvu.edu/courses/aet/)
- [Automotive Power Sports (PST)](https://catalog.uvu.edu/courses/pst/)
- [Aviation Science (AVSC)](https://catalog.uvu.edu/courses/avsc/)
- [Biology (BIOL)](https://catalog.uvu.edu/courses/biol/)
- [Biotechnology (BTEC)](https://catalog.uvu.edu/courses/btec/)
- [Botany (BOT)](https://catalog.uvu.edu/courses/bot/)
- [Building Inspection Technology (BIT)](https://catalog.uvu.edu/courses/bit/)
- [Business Management (MGMT)](https://catalog.uvu.edu/courses/mgmt/)
- [Business/​Marketing Education (BMED)](https://catalog.uvu.edu/courses/bmed/)
- [Cabinetry and Archit Woodwork (CAW)](https://catalog.uvu.edu/courses/caw/)
- [Chemistry (CHEM)](https://catalog.uvu.edu/courses/chem/)
- [Chinese (CHIN)](https://catalog.uvu.edu/courses/chin/)
- [Chinese Studies (CHST)](https://catalog.uvu.edu/courses/chst/)
- [Cinema Studies (CINE)](https://catalog.uvu.edu/courses/cine/)
- [Civil Engineering (CIVE)](https://catalog.uvu.edu/courses/cive/)
- [Classical Studies (CLST)](https://catalog.uvu.edu/courses/clst/)
- [Clinical Mental Health Counseling (CMHC)](https://catalog.uvu.edu/courses/cmhc/)
- [Collision Repair Technology (CRT)](https://catalog.uvu.edu/courses/crt/)
- [Communication (COMM)](https://catalog.uvu.edu/courses/comm/)
- [Community Health (HLTH)](https://catalog.uvu.edu/courses/hlth/)
- [Computer Science (CS)](https://catalog.uvu.edu/courses/cs/)
- [Computing (COMP)](https://catalog.uvu.edu/courses/comp/)
- [Constitutional Government, Civics, and Law (CGCL)](https://catalog.uvu.edu/courses/cgcl/)
- [Constitutional Studies (CNST)](https://catalog.uvu.edu/courses/cnst/)
- [Construction Management (CMGT)](https://catalog.uvu.edu/courses/cmgt/)
- [Criminal Justice (CJ)](https://catalog.uvu.edu/courses/cj/)
- [Culinary Arts (CA)](https://catalog.uvu.edu/courses/ca/)
- [Cybersecurity (CYBR)](https://catalog.uvu.edu/courses/cybr/)
- [Dance (DANC)](https://catalog.uvu.edu/courses/danc/)
- [Dental Hygiene (DENT)](https://catalog.uvu.edu/courses/dent/)
- [Diesel Mechanics (DMT)](https://catalog.uvu.edu/courses/dmt/)
- [Digital Media (DGM)](https://catalog.uvu.edu/courses/dgm/)
- [Digital Media Animation/​Games/​Visual Effects (DAGV)](https://catalog.uvu.edu/courses/dagv/)
- [Digital Media Audio Production (DAPR)](https://catalog.uvu.edu/courses/dapr/)
- [Digital Media Cinema Production (DCPR)](https://catalog.uvu.edu/courses/dcpr/)
- [Digital Media Web Design Development (DWDD)](https://catalog.uvu.edu/courses/dwdd/)
- [Economics (ECON)](https://catalog.uvu.edu/courses/econ/)
- [Edu Child and Family Studies (ECFS)](https://catalog.uvu.edu/courses/ecfs/)
- [Edu Early Childhood Education (EDEC)](https://catalog.uvu.edu/courses/edec/)
- [Edu Elementary Education (EDEL)](https://catalog.uvu.edu/courses/edel/)
- [Edu Secondary Education (EDSC)](https://catalog.uvu.edu/courses/edsc/)
- [Edu Special Education (EDSP)](https://catalog.uvu.edu/courses/edsp/)
- [Education Curr and Instruction (EDUC)](https://catalog.uvu.edu/courses/educ/)
- [Electrical Comp Engineering (ECE)](https://catalog.uvu.edu/courses/ece/)
- [Emerg Serv Aircraft Resc FF (ESAF)](https://catalog.uvu.edu/courses/esaf/)
- [Emergency Services (ES)](https://catalog.uvu.edu/courses/es/)
- [Emergency Services Emerg Care (ESEC)](https://catalog.uvu.edu/courses/esec/)
- [Emergency Services Emerg Mgmt (ESMG)](https://catalog.uvu.edu/courses/esmg/)
- [Emergency Services FireFighter (ESFF)](https://catalog.uvu.edu/courses/esff/)
- [Emergency Services FireOfficer (ESFO)](https://catalog.uvu.edu/courses/esfo/)
- [Emergency Services Wildlnd FF (ESWF)](https://catalog.uvu.edu/courses/eswf/)
- [Eng Graphics/​Design Tech (EGDT)](https://catalog.uvu.edu/courses/egdt/)
- [Engineering (ENGR)](https://catalog.uvu.edu/courses/engr/)
- [Engineering Technology (ENGT)](https://catalog.uvu.edu/courses/engt/)
- [English (ENGL)](https://catalog.uvu.edu/courses/engl/)
- [English as a Second Lang (ESL)](https://catalog.uvu.edu/courses/esl/)
- [Entrepreneurship (ENTR)](https://catalog.uvu.edu/courses/entr/)
- [Environmental Management (ENVT)](https://catalog.uvu.edu/courses/envt/)
- [Environmental Studies (ENST)](https://catalog.uvu.edu/courses/enst/)
- [Exercise Science (EXSC)](https://catalog.uvu.edu/courses/exsc/)
- [Facilities Management (FAC)](https://catalog.uvu.edu/courses/fac/)
- [Family Science (FAMS)](https://catalog.uvu.edu/courses/fams/)
- [Finance (FIN)](https://catalog.uvu.edu/courses/fin/)
- [Fine Arts Music and Theatre (FAMT)](https://catalog.uvu.edu/courses/famt/)
- [Forensic Science (FSCI)](https://catalog.uvu.edu/courses/fsci/)
- [French (FREN)](https://catalog.uvu.edu/courses/fren/)
- [Geographic Information Systems (GIS)](https://catalog.uvu.edu/courses/gis/)
- [Geography (GEOG)](https://catalog.uvu.edu/courses/geog/)
- [Geology (GEO)](https://catalog.uvu.edu/courses/geo/)
- [German (GER)](https://catalog.uvu.edu/courses/ger/)
- [Greek (GRK)](https://catalog.uvu.edu/courses/grk/)
- [Health Sciences (HLSC)](https://catalog.uvu.edu/courses/hlsc/)
- [Higher Education Leadership (EDHE)](https://catalog.uvu.edu/courses/edhe/)
- [History (HIST)](https://catalog.uvu.edu/courses/hist/)
- [Honors (HONR)](https://catalog.uvu.edu/courses/honr/)
- [Hospitality Management (HM)](https://catalog.uvu.edu/courses/hm/)
- [Human Resource Management (HR)](https://catalog.uvu.edu/courses/hr/)
- [Humanities (HUM)](https://catalog.uvu.edu/courses/hum/)
- [Information Management (IM)](https://catalog.uvu.edu/courses/im/)
- [Information Systems and Technology (INFO)](https://catalog.uvu.edu/courses/info/)
- [Information Technology (IT)](https://catalog.uvu.edu/courses/it/)
- [Integrated College and Community Studies (ICCS)](https://catalog.uvu.edu/courses/iccs/)
- [Integrated Studies (IS)](https://catalog.uvu.edu/courses/is/)
- [Intelligence Studies (INTS)](https://catalog.uvu.edu/courses/ints/)
- [Interdisciplinary Studies Prog (IDST)](https://catalog.uvu.edu/courses/idst/)
- [Japanese (JPNS)](https://catalog.uvu.edu/courses/jpns/)
- [K-​12 Education Leadership (EDLE)](https://catalog.uvu.edu/courses/edle/)
- [Land Surveying (SURV)](https://catalog.uvu.edu/courses/surv/)
- [Languages (LANG)](https://catalog.uvu.edu/courses/lang/)
- [Latin (LATN)](https://catalog.uvu.edu/courses/latn/)
- [Legal Studies (LEGL)](https://catalog.uvu.edu/courses/legl/)
- [Literacies and Composition (ENGH)](https://catalog.uvu.edu/courses/engh/)
- [Marketing (MKTG)](https://catalog.uvu.edu/courses/mktg/)
- [Marriage and Family Therapy (MFT)](https://catalog.uvu.edu/courses/mft/)
- [Mathematics (MATH)](https://catalog.uvu.edu/courses/math/)
- [Mathematics Developmental (MAT)](https://catalog.uvu.edu/courses/mat/)
- [Mechanical Engineering (ME)](https://catalog.uvu.edu/courses/me/)
- [Mechatronics Engineering Tech (MECH)](https://catalog.uvu.edu/courses/mech/)
- [Meteorology (METO)](https://catalog.uvu.edu/courses/meto/)
- [Microbiology (MICR)](https://catalog.uvu.edu/courses/micr/)
- [Military Science (MILS)](https://catalog.uvu.edu/courses/mils/)
- [Music (MUSC)](https://catalog.uvu.edu/courses/musc/)
- [National Security Studies (NSS)](https://catalog.uvu.edu/courses/nss/)
- [Nursing (NURS)](https://catalog.uvu.edu/courses/nurs/)
- [Nutrition (NUTR)](https://catalog.uvu.edu/courses/nutr/)
- [Occupational Therapy (OT)](https://catalog.uvu.edu/courses/ot/)
- [Peace and Justice Studies (PJST)](https://catalog.uvu.edu/courses/pjst/)
- [Philosophy (PHIL)](https://catalog.uvu.edu/courses/phil/)
- [Physical Education Sports (PES)](https://catalog.uvu.edu/courses/pes/)
- [Physical Education Teacher Ed (PETE)](https://catalog.uvu.edu/courses/pete/)
- [Physical Science (PHSC)](https://catalog.uvu.edu/courses/phsc/)
- [Physician Assistant Studies (PAS)](https://catalog.uvu.edu/courses/pas/)
- [Physics (PHYS)](https://catalog.uvu.edu/courses/phys/)
- [Political Science (POLS)](https://catalog.uvu.edu/courses/pols/)
- [Portuguese (PORT)](https://catalog.uvu.edu/courses/port/)
- [Psychology (PSY)](https://catalog.uvu.edu/courses/psy/)
- [Public Administration (PADM)](https://catalog.uvu.edu/courses/padm/)
- [Recreation (REC)](https://catalog.uvu.edu/courses/rec/)
- [Religious Studies (RLST)](https://catalog.uvu.edu/courses/rlst/)
- [Respiratory Therapy (RESP)](https://catalog.uvu.edu/courses/resp/)
- [Russian (RUS)](https://catalog.uvu.edu/courses/rus/)
- [School Counseling (EDCO)](https://catalog.uvu.edu/courses/edco/)
- [Science Education (SCIE)](https://catalog.uvu.edu/courses/scie/)
- [Social Work (SW)](https://catalog.uvu.edu/courses/sw/)
- [Sociology (SOC)](https://catalog.uvu.edu/courses/soc/)
- [Spanish (SPAN)](https://catalog.uvu.edu/courses/span/)
- [Statistics (STAT)](https://catalog.uvu.edu/courses/stat/)
- [Student Leadership and Success (SLSS)](https://catalog.uvu.edu/courses/slss/)
- [Substance Use Disorder Counsel (SUDC)](https://catalog.uvu.edu/courses/sudc/)
- [Technology Management (TECH)](https://catalog.uvu.edu/courses/tech/)
- [Theatre (THEA)](https://catalog.uvu.edu/courses/thea/)
- [Transportation Technologies (TT)](https://catalog.uvu.edu/courses/tt/)
- [University Studies (UVST)](https://catalog.uvu.edu/courses/uvst/)
- [Zoology (ZOOL)](https://catalog.uvu.edu/courses/zool/)
- [Section Search](https://catalog.uvu.edu/course-search/)
- [Programs](https://catalog.uvu.edu/programs/)
- [College of Health and Public Service](https://catalog.uvu.edu/health-public-service/)
- [College of Humanities and Social Sciences](https://catalog.uvu.edu/humanities-social-sciences/)
- [College of Science](https://catalog.uvu.edu/science/)
- [School of Education](https://catalog.uvu.edu/education/)
- [School of the Arts](https://catalog.uvu.edu/arts/)
- [Smith College of Engineering and Technology](https://catalog.uvu.edu/engineering-technology/)
- [Woodbury School of Business](https://catalog.uvu.edu/business/)
- [Academic Policies &​ Standards](https://catalog.uvu.edu/academic-policies-standards/)
- [Administration](https://catalog.uvu.edu/administration/)
- [Archives](https://catalog.uvu.edu/archives/)
- [Faculty](https://catalog.uvu.edu/faculty/)
- [General Education](https://catalog.uvu.edu/general-education/)
- [General Information](https://catalog.uvu.edu/general-information/)
- [Graduation](https://catalog.uvu.edu/graduation/)
- [Student Code of Conduct](https://catalog.uvu.edu/student-code-conduct/)
- [Tuition &​ Fees](https://catalog.uvu.edu/tuition-fees/)
- [Home](https://catalog.uvu.edu/)›
- [Courses](https://catalog.uvu.edu/courses/)›
- Computer Science (CS)
# Computer Science (CS)
*To register for courses and see a real-time listing of classes and sections offered, [view the add/drop system](https://userve.uvu.edu/StudentRegistrationSsb/ssb/term/termSelection?mode=search).*
**CS 1030.** **Foundations of Computer Science.** **(3 Credits)**
Introduces the basics of computing, including computer hardware, and programming concepts and language. Explores how computers work and how a computer may be programmed. Includes a brief history of computer, programming languages, and computer numbering systems. Presents basic programming constructs; students produce a variety of introductory level programs. Surveys various computing professions. May be delivered hybrid and/or online.
Lab access fee of \$45 computers applies.
**CS 1380.** **Modern Programming Essentials.** **(3 Credits)**
Prerequisite(s): Mathematics at least equivalent to college algebra
Provides a solid foundation in programming while introducing essential development tools and practices for beginning programmers.
**CS 1400.** **Fundamentals of Programming.** **(3 Credits)**
Prerequisite(s): Math at least equivalent to high school algebra and trigonometry. [CS 1030](https://catalog.uvu.edu/search/?P=CS%201030 "CSÂ 1030") recommended.
Introduces techniques and tools to formulate and solve problems where computer algorithms and programs are a core part of an effective, repeatable solution. Demonstrates algorithmic thinking using procedural programs composed of sequences of commands, functions, loops, conditionals, and basic data structures.
Lab access fee of \$45 for computers applies.
**CS 1410.** **Object Oriented Programming.** **(3 Credits)**
Prerequisite(s): [CS 1400](https://catalog.uvu.edu/search/?P=CS%201400 "CSÂ 1400") and Math equivalent to at least college algebra
Emphasizes proper program structure using the core concepts of object-oriented programming: classes, objects, encapsulation, inheritance and polymorphism. Presents problems of increasing size and complexity requiring OOP techniques, standard libraries and other appropriate language constructs.
Lab access fee of \$45 for computers applies.
**CS 1420.** **Accelerated Introduction to Programming.** **(3 Credits)**
Prerequisite(s): Math at least equivalent to high school algebra and trigonometry.
Introduces techniques, tools and skills necessary to effectively program computers. Demonstrates algorithmic thinking using procedural and object-oriented concepts. Presents problems of increasing size and complexity requiring standard libraries and other appropriate language constructs.
**CS 2250.** **Java Programming.** **(3 Credits)**
Prerequisite(s): [CS 1400](https://catalog.uvu.edu/search/?P=CS%201400 "CSÂ 1400") or [CS 1420](https://catalog.uvu.edu/search/?P=CS%201420 "CSÂ 1420")
Covers practical Java programming in-depth, including abstract classes and interfaces, proper use of core packages and libraries, GUI design and implementation.
Lab access fee of \$45 for computers applies.
**CS 2300.** **Discrete Mathematical Structures I.** **(3 Credits)**
Prerequisite(s): ([CS 1410](https://catalog.uvu.edu/search/?P=CS%201410 "CSÂ 1410") or [INFO 2200](https://catalog.uvu.edu/search/?P=INFO%202200 "INFOÂ 2200")) and [MATH 1050](https://catalog.uvu.edu/search/?P=MATH%201050 "MATHÂ 1050") or higher
Covers algebraic structures applied to computer programming. Includes logic, sets, elementary number theory, mathematical induction, recursion, algorithm complexity, combinatorics, relations, graphs, and trees.
Lab access fee of \$45 for computers applies.
**CS 2310.** **Probability in Computing.** **(3 Credits)**
Prerequisite(s): [CS 1400](https://catalog.uvu.edu/search/?P=CS%201400 "CSÂ 1400"), [CS 2300](https://catalog.uvu.edu/search/?P=CS%202300 "CSÂ 2300"), [MATH 1210](https://catalog.uvu.edu/search/?P=MATH%201210 "MATHÂ 1210").
Explores randomness as used throughout many areas of computer science, including algorithm design, machine learning, cryptography, distributed systems, networking, data mining, data privacy, and complexity theory. Covers basic probability concepts and methods used to understand and analyze random processes, and highlights applications of randomness in computing. Includes discrete and continuous probability, random variables, expectation, distributions, and sampling methods.
**CS 2370.** **C Plus Plus Programming.** **(3 Credits)**
Prerequisite(s): [CS 1410](https://catalog.uvu.edu/search/?P=CS%201410 "CSÂ 1410")
Introduces C++ programming for students with prior programming experience. Covers language fundamentals, core standard library components, error handling, value semantics, pointers and memory management, object-oriented programming, and templates.
Lab access fee of \$45 for computers applies.
**CS 2420.** **Introduction to Algorithms and Data Structures.** **(3 Credits)**
Prerequisite(s): [CS 1410](https://catalog.uvu.edu/search/?P=CS%201410 "CSÂ 1410")
Uses data abstraction to design and implement modular programs of medium size and complexity. Structures solutions to problems using common data structures and algorithms such as advanced arrays, lists, stacks, records, dynamic data structures, searching and sorting, vectors, trees, linked lists, and graphs. Evaluates alternative solutions to problems. Analyzes algorithmic complexity metrics in Big-O notation.
Lab access fee of \$45 for computers applies.
**CS 2450.** **Software Engineering.** **(3 Credits)**
Prerequisite(s): [CS 2300](https://catalog.uvu.edu/search/?P=CS%202300 "CSÂ 2300"), [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420")
Presents concepts, methodology and best-practices necessary to develop large scale software projects. Includes step-wise software requirements analysis, design, implementation, testing and release. Discusses software generation, reuse, scheduling, verification, and maintenance. Emphasizes current "real world" industry best-practices and tools.
Lab access fee of \$45 for computers applies.
**CS 2550.** **Web Programming I.** **(3 Credits)**
Prerequisite(s): [CS 1410](https://catalog.uvu.edu/search/?P=CS%201410 "CSÂ 1410") or [DWDD 2720](https://catalog.uvu.edu/search/?P=DWDD%202720 "DWDDÂ 2720") or [INFO 2200](https://catalog.uvu.edu/search/?P=INFO%202200 "INFOÂ 2200")
Covers design and development of browser-based programs with an emphasis on single-page applications. Teaches generation and modification of HTML via JavaScript, debugging techniques, communicating with web servers, and use of XML and JSON.
Lab access fee of \$45 for computers applies.
**CS 2600.** **Computer Networks I.** **(3 Credits)**
Prerequisite(s): [CS 2810](https://catalog.uvu.edu/search/?P=CS%202810 "CSÂ 2810") or ([INFO 1200](https://catalog.uvu.edu/search/?P=INFO%201200 "INFOÂ 1200") and [IT 1600](https://catalog.uvu.edu/search/?P=IT%201600 "ITÂ 1600"))
Introduces students to core networking concepts and practices, with a focus on the seven layers of the Open Systems Interconnection (OSI) model. Provides a comprehensive overview of network architecture, encompassing various network types, topologies, characteristics, and services. Develops a deep understanding of network structure and function. Includes network protocols, IP addressing, fundamental network configuration and troubleshooting techniques. Builds essential skills for designing, implementing, and managing basic network systems through a combination of practical labs and theoretical instruction. Lays the foundation for advanced network studies and professional expertise.
Lab access fee of \$45 for computers applies.
**CS 2700.** **Causal Inference.** **(3 Credits)**
Prerequisite(s): [STAT 2050](https://catalog.uvu.edu/search/?P=STAT%202050 "STATÂ 2050") or [ECE 3710](https://catalog.uvu.edu/search/?P=ECE%203710 "ECEÂ 3710")
Explores a variety of data generating processes of importance for causal inference with computer simulations. Includes stratified sampling, inverse probability weighting, matching, blocking, propensity, sensitivity, causal graphs, d-separation, identifiability, the causal Markov condition, and the back-door criterion for selecting an admissible set of covariates. Examines causal mechanisms, the Rubin causal model, and both deterministic and stochastic counterfactuals. Develops ethical A/B testing procedures.
**CS 2810.** **Computer Organization and Architecture.** **(3 Credits)**
Prerequisite(s): [CS 1400](https://catalog.uvu.edu/search/?P=CS%201400 "CSÂ 1400") or [CS 1420](https://catalog.uvu.edu/search/?P=CS%201420 "CSÂ 1420")
Uses assembly language to introduce basic concepts of computer organization. Includes number systems, CPU organization, instruction sets, programming in assembly, memory organization, debugging, program design, and documentation. Covers interrupts, vector tables, and disk I/O.
Lab access fee of \$45 for computers applies.
**CS 2812R.** **Internship.** **(1-8 Credits)**
Prerequisite(s): Department approval
Provides on-the-job work experience for CS majors. Develops skills and abilities in the fields of computer science, software engineering, networking, and/or computer engineering. May be repeated for a maximum of three credits toward graduation. May be graded credit/no credit.
**CS 2900.** **Data Privacy and Security.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and University Advanced Standing
Covers the fundamental theory, concepts and practical applications of computer security. Includes networking fundamentals, cryptography, authentication and authorization, access control, malware, physical security, computing systems hardening, threat detection and response, secure code, and secure applications development. Emphasizes developing, deploying, and maintaining a secure computing infrastructure with a hands-on approach.
**CS 2910R.** **Independent Study.** **(1-6 Credits)**
This course will allow the student to pursue an independent topic in computer science and study this topic in-depth in a flexible non-classroom environment. A maximum of three hours may be counted towards graduation without prior written CNS Department approval. The topic must be approved by the instructor and the CNS Department Chair.
Lab access fee of \$45 for computers applies.
**CS 2960R.** **CS Seminar.** **(1-3 Credits)**
Presents topics of current interest to computer science in a seminar environment. Includes invited lectures by experts in the field, or a review of a particular technology by a faculty member. A maximum of three hours may be counted towards graduation without prior written CS Department approval.
Lab access fee of \$45 for computers applies.
**CS 2990.** **Topics in Computer Science.** **(3 Credits)**
Covers topics of emerging interest, announced before the beginning of each semester.
**CS 3050G.** **Global Social and Ethical Issues in Computing.** **(3 Credits)**
Prerequisite(s): [ENGL 2010](https://catalog.uvu.edu/search/?P=ENGL%202010 "ENGLÂ 2010") and ([CS 1030](https://catalog.uvu.edu/search/?P=CS%201030 "CSÂ 1030") or [CS 1400](https://catalog.uvu.edu/search/?P=CS%201400 "CSÂ 1400") or [CS 1420](https://catalog.uvu.edu/search/?P=CS%201420 "CSÂ 1420") or [INFO 1120](https://catalog.uvu.edu/search/?P=INFO%201120 "INFOÂ 1120") or [DGM 1110](https://catalog.uvu.edu/search/?P=DGM%201110 "DGMÂ 1110")) and University Advanced Standing
Examines how computers have affected global society and how they could further affect it in the future. Examines various ethical issues surrounding computer usage, particularly in differing societal contexts. Explores the responsibilities borne by software professionals, including how their actions can affect both society and individual people in their own and other cultural settings. Presents examples of the moral and professional issues that those who work with computers might expect to face.
Lab access fee of \$45 for computers applies.
**CS 3060.** **Operating Systems Theory.** **(3 Credits)**
Prerequisite(s): [CS 2370](https://catalog.uvu.edu/search/?P=CS%202370 "CSÂ 2370"), [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420"), and University Advanced Standing. If a computer science or software engineering major, also [CS 2810](https://catalog.uvu.edu/search/?P=CS%202810 "CSÂ 2810") and matriculation to computer science or software engineering. If a computer engineering major, also [ECE 2700](https://catalog.uvu.edu/search/?P=ECE%202700 "ECEÂ 2700") and [ECE 3730](https://catalog.uvu.edu/search/?P=ECE%203730 "ECEÂ 3730")
Introduces the Unix operating system. Presents the underlying theory and concepts of an operating system, and covers the following topics in depth: device management, processes, threads, synchronization, scheduling, deadlocks, memory management, virtual memory, and file systems. Provides practical experience in writing programs that use standard Unix system calls to interface directly with the operating system.
Lab access fee of \$45 for computers applies.
**CS 3110.** **Applied Cryptography.** **(3 Credits)**
Prerequisite(s): [CS 2300](https://catalog.uvu.edu/search/?P=CS%202300 "CSÂ 2300") and ([CYBR 2700](https://catalog.uvu.edu/search/?P=CYBR%202700 "CYBRÂ 2700") or [CS 2900](https://catalog.uvu.edu/search/?P=CS%202900 "CSÂ 2900")) and University Advanced Standing
Investigates advanced topics in cryptography. Provides an overview of the necessary background in algebra and number theory, private- and public-key cryptosystems, and basic signature schemes. Explores relevant number theory, basic Galois fields as applied to cryptography, the history of primality algorithms and the polynomial-time test of primality, discrete logarithm-based cryptosystems including those based on elliptic-curves and interactive protocols including the role of zero-knowledge proofs in the authentication.
**CS 3120.** **Ethical Hacking Tools Development.** **(3 Credits)**
Prerequisite(s): [CS 2900](https://catalog.uvu.edu/search/?P=CS%202900 "CSÂ 2900") and University Advanced Standing
Develops the structured knowledge base needed to discover vulnerabilities and recommend solutions for tightening network security and protecting data from potential attackers. Emphasizes developing cutting-edge tools and techniques to hack vulnerable systems.
**CS 3140.** **Network and Cloud Security.** **(3 Credits)**
Prerequisite(s): [CS 2600](https://catalog.uvu.edu/search/?P=CS%202600 "CSÂ 2600"), [CS 2900](https://catalog.uvu.edu/search/?P=CS%202900 "CSÂ 2900"), and University Advanced Standing
Explores standards, protocols, and implementation techniques for secure socket communication and network protocols used to develop back-end agents and services that communicate in a cloud-based environment. Includes designing and implementing secure versions of cloud-based agents and services in a potentially hostile environment. Emphasizes minimizing potential attack vectors beyond user authentication at the service level.
**CS 3240.** **Discrete Mathematical Structures II.** **(3 Credits)**
Prerequisite(s): [CS 2300](https://catalog.uvu.edu/search/?P=CS%202300 "CSÂ 2300"), [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420"), [CS 2810](https://catalog.uvu.edu/search/?P=CS%202810 "CSÂ 2810"), computer engineering major or (matriculation to computer science or software engineering), and University Advanced Standing
Presents concepts from discrete mathematics including formal languages, and automata, including Turing machines, regular expressions, grammars, and computability.
Lab access fee of \$45 for computers applies.
**CS 3250.** **Java Software Development.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420"), matriculation to computer science or software engineering if computer science or software engineering major, and University Advanced Standing
Covers object-oriented, functional programming and event-driven features of the Java Programming Language using common libraries, idioms, and software design patterns and principles. Includes abstract classes, interfaces, inner classes, lambda expressions, collections, streams, modern GUIs, I/O, serialization, socket programming, concurrency and parallel multicore programming.
Lab access fee of \$45 for computers applies.
**CS 3260.** **CsharpNET Software Development.** **(3 Credits)**
Prerequisite(s): Matriculation to computer science or software engineering and University Advanced Standing
Introduces the C\# programming language and the .NET Framework. Discusses the various datatypes, built-in class in namespaces, and how to develop user defined classes and namespaces. Includes programming assignments for console, GUI, and ASP.NET applications.
Lab access fee of \$45 for computers applies.
**CS 3270.** **Python Software Development.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420"), matriculation to computer science or software engineering if computer science or software engineering major, and University Advanced Standing
Explores optimal Python programming techniques, focusing on design and implementation. Outlines the lifecycle of a large-scale Python program. Includes creating elegant designs using modularization, best practices, design patterns, scaling applications beyond a single thread, reusable, scalable data pipelines, advanced Python features, and web development using Python, iterative software development.
Lab access fee of \$45 for computers applies.
**CS 3310.** **Analysis of Algorithms.** **(3 Credits)**
Prerequisite(s): Matriculation into Computer Science or Software Engineering, and University Advanced Standing
Develops and reinforces ability to write and mathematically analyze foundational computer algorithms. Includes formalizing NP-completeness, divide and conquer strategies, greedy algorithms, dynamic programming, backtracking, branch and bound, approximation algorithms and multicore parallelization.
Lab access fee of \$45 for computers applies.
**CS 3360.** **Rust Software Development.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and University Advanced Standing. Matriculation if Computer Science or Software Engineering major.
Introduces the Rust programming language. Provides an overview of common programming concepts and explores specific Rust topics in depth such as: value ownership, structures, enumerations, pattern matching, generics, strings, collections, error handling, iterators, closures, asynchronous programming and concurrency. Provides practical experience in writing programs in the Rust programming language through individual and group assignments.
**CS 3370.** **C Plus Plus Software Development.** **(3 Credits)**
Prerequisite(s): [CS 2370](https://catalog.uvu.edu/search/?P=CS%202370 "CSÂ 2370"), ([CS 2810](https://catalog.uvu.edu/search/?P=CS%202810 "CSÂ 2810") or [ECE 4700](https://catalog.uvu.edu/search/?P=ECE%204700 "ECEÂ 4700")), matriculation to computer science or software engineering, and University Advanced Standing
Teaches C++ programming in a production environment, emphasizing mastery of the standard C++ library. Covers the following topics in-depth: const correctness, operator overloading, exception handling, exception-safe design, programming with assertions, automated unit testing, advanced memory management, generic programming with templates, containers, iterators, algorithms, concurrency, and functional programming. Introduces library development, common idioms, and other advanced topics. Emphasizes accepted software engineering practices.
Lab access fee of \$45 for computers applies.
**CS 3380.** **JavaScript Software Development.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420"), ([CS 2550](https://catalog.uvu.edu/search/?P=CS%202550 "CSÂ 2550") or [DWDD 2720](https://catalog.uvu.edu/search/?P=DWDD%202720 "DWDDÂ 2720")) matriculation into the Computer Science or Software Engineering program if a Computer Science or Software Engineering major, and University Advanced Standing
Covers modern JavaScript features of functional programming, not JavaScript programming limited to the browser. Covers rest/spread operators, string interpolation, regular expressions, object property shorthand, computed properties, method properties, destructuring assignments using object and array matching, module export/import, classes & inheritance, promises, iterators, generators, map/set, reflection, localization & formatting. Introduces common idioms and design patterns. Emphasizes accepted software engineering practices.
Lab access fee of \$45 for computers applies.
**CS 3390R.** **Advanced Programming Language Other.** **(3 Credits)**
Prerequisite(s): University Advanced Standing
Introduces and explores state-of-the-art programming languages and concepts such as language-specific syntax, operational semantics, libraries, idioms, integrated development environments, and debugging techniques. Demonstrates language concepts by developing and writing programs. May only be repeated for additional credit in another computer language with prior written departmental approval.
Lab access fee of \$45 for computers applies.
**CS 3410.** **Human Factors in Software Development.** **(3 Credits)**
Prerequisite(s): University Advanced Standing
Explores the analysis, design, and implementation of User Interfaces. Delves into all aspects of the user experience while interacting with computer systems, including cognitive, social, and emotional aspects of the user experience and methodical interaction design. Teaches how to observe users, collect requirements, design user experiences, create prototypes for customers and how to evaluate the effectiveness of any user interface. Includes both individual and group work.
Lab access fee of \$45 for computers applies.
**CS 3450.** **Principles and Patterns of Software Design.** **(3 Credits)**
Prerequisite(s): ([CS 3250](https://catalog.uvu.edu/search/?P=CS%203250 "CSÂ 3250") or [CS 3260](https://catalog.uvu.edu/search/?P=CS%203260 "CSÂ 3260") or [CS 3270](https://catalog.uvu.edu/search/?P=CS%203270 "CSÂ 3270") or [CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370") or [CS 3380](https://catalog.uvu.edu/search/?P=CS%203380 "CSÂ 3380")) and University Advanced Standing
Gives students familiarity with modern principles and practices of software design. Emphasizes design patterns, including their motivation and the design principles on which they are based.
Lab access fee of \$45 for computers applies.
**CS 3456.** **Parallel Computation.** **(3 Credits)**
Prerequisite(s): [CS 3060](https://catalog.uvu.edu/search/?P=CS%203060 "CSÂ 3060") and University Advanced Standing.
Introduces several different parallel programming paradigms. Demonstrates the creation of parallel software using a variety of abstractions. Compares the relative advantages of different paradigms and abstractions for different tasks.
**CS 3520.** **Database Theory.** **(3 Credits)**
Prerequisite(s): [CS 2300](https://catalog.uvu.edu/search/?P=CS%202300 "CSÂ 2300"), [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and University Advanced Standing
Introduces the underlying theories of Relational Database Management Systems (RDBMS) as well as their practical use retrieving data using both embedded SQL and relational algebra. Implements queries that start from simply joining, selecting, and projecting data, then progresses to more complex data retrieval techniques that require the use of set operations, sub-queries, and group by having clauses. Discusses entity-relationship (ER) modeling, creating a RDBMS from an ER model, B+ Trees, ACID transactions, normalization, locking, concurrency issues, and alternatives to an RDBMS.
Lab access fee of \$45 for computers applies.
**CS 3530.** **Data Management For Data Sciences.** **(3 Credits)**
Prerequisite(s): [CS 3520](https://catalog.uvu.edu/search/?P=CS%203520 "CSÂ 3520") and University Advanced Standing
Covers advanced relational databases and issues related to managing non-relational data sets. Has two major components: (1) advances knowledge in relational database and skills in using SQL and database indexing; and (2) introduces NoSQL databases such as a document-oriented database, key-value database, column-oriented database, graph database, and Hadoop system and data warehousing. Justifies the need for NoSQL databases, and shows how they are implemented in database systems. Presents criteria that decision makers should consider when choosing between relational and non-relational databases and techniques for selecting the NoSQL database that best addresses specific use cases.
**CS 3540.** **Game Programming.** **(3 Credits)**
Prerequisite(s): Matriculation to computer science or software engineering and University Advanced Standing
Teaches techniques for two and three-dimensional graphics programming using modern graphics libraries or a game engine. Presents principles of game design that relate to the design and implementation of game software, including procedural generation of assets and compelling storylines. Incorporates AI game programming and network programming for multiplayer games.
Lab access fee of \$45 for computers applies.
**CS 3660.** **Web Programming II.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420"), ([CS 2550](https://catalog.uvu.edu/search/?P=CS%202550 "CSÂ 2550") or [DWDD 2720](https://catalog.uvu.edu/search/?P=DWDD%202720 "DWDDÂ 2720")), matriculation into CS or Software Engineering if a CS or SE major, and University Advanced Standing. [CS 3520](https://catalog.uvu.edu/search/?P=CS%203520 "CSÂ 3520") and [CS 3380](https://catalog.uvu.edu/search/?P=CS%203380 "CSÂ 3380") recommended.
Teaches how to design, implement, test, and debug medium sized web applications using both client and server side technologies. Includes web security, data markup languages, server side scripting technologies, web application interactions with databases, and web service architectures. Teaches how to develop a full web-site having sophisticated user interactions at a variety of security levels.
Lab access fee of \$45 for computers applies.
Software fee of \$18 applies.
**CS 3680.** **Mobile Device Programming.** **(3 Credits)**
Prerequisite(s): Matriculation to CS or Software Engineering if a CS or SE major and University Advanced Standing
Teaches software design and programming principles and practices for developing applications for mobile devices. Addresses issues such as application life-cycle, user interfaces on touch-screen devices, options for data storage and communication, power and performance, and using graphics and media. Examines hardware features common in mobile devices such as GPS, accelerometers, and cameras.
Lab access fee of \$45 for computers applies.
**CS 3720.** **Database Programming.** **(3 Credits)**
Prerequisite(s): [CS 3520](https://catalog.uvu.edu/search/?P=CS%203520 "CSÂ 3520") and University Advanced Standing
Develops the mastery of programming interfaces to local, remote, web and cloud databases. Uses console, Microsoft Windows WPF and web user interfaces.
Lab access fee of \$45 for computers applies.
**CS 3800.** **Data Science Through Statistical Reasoning.** **(3 Credits)**
Prerequisite(s): ([STAT 2050](https://catalog.uvu.edu/search/?P=STAT%202050 "STATÂ 2050") or [ECE 3710](https://catalog.uvu.edu/search/?P=ECE%203710 "ECEÂ 3710")) and University Advanced Standing
Develops statistical reasoning and computational skills required to clean transform data, implement solutions to complex problems, explore and visualize data, develop and test hypotheses, use simulation to investigate stochastic processes and model real-world situations of interest. Presents cases that require various statistical methods, data technologies, developing algorithms and using powerful statistical and data science tools in a modern scripting language.
**CS 3820.** **Visualization Analytics for Data Science.** **(3 Credits)**
Prerequisite(s): ([STAT 2040](https://catalog.uvu.edu/search/?P=STAT%202040 "STATÂ 2040") or [STAT 2050](https://catalog.uvu.edu/search/?P=STAT%202050 "STATÂ 2050") or [ECE 3710](https://catalog.uvu.edu/search/?P=ECE%203710 "ECEÂ 3710")), [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420"), University Advanced Standing
Introduces visual analytics methods and techniques to support human reasoning and decision-making with data. Presents visualization as the primary tool for recognizing and communicating the significance, meaning and decision-making from massive, dynamic, often conflicting, data. Includes both theoretical foundations and application methods, which presents a comprehensive view of this emerging, multidisciplinary field beyond simply learning to use visualization tools. Includes choosing the right visualization for the questions being asked, the data and the target audience; translating numbers to images; showing data or statistics; showing uncertainty, time trends; presenting results of machine learning techniques; many variables; big data; and maps and networks. Covers pie charts, bar charts, histograms, simple metrics, scatterplots, maps.
**CS 4120.** **Security Vulnerability Analysis.** **(3 Credits)**
Prerequisite(s): [CS 2900](https://catalog.uvu.edu/search/?P=CS%202900 "CSÂ 2900") and University Advanced Standing
Presents a methodology for attacking, assessing, analyzing, categorizing, and remediating security weaknesses in software and software systems. Develops insight into system architecture, process execution, operating systems, and error conditions that create opportunities for attack surfaces. Develops the ability to scan and exploit popular third-party applications rather than simulated lab exercises. Emphasizes writing and running working exploits and payloads.
**CS 4200.** **Secure Computing Capstone.** **(3 Credits)**
Prerequisite(s): [CS 3110](https://catalog.uvu.edu/search/?P=CS%203110 "CSÂ 3110") and [CS 3120](https://catalog.uvu.edu/search/?P=CS%203120 "CSÂ 3120") and ([CYBR 4350](https://catalog.uvu.edu/search/?P=CYBR%204350 "CYBRÂ 4350") or [CS 3140](https://catalog.uvu.edu/search/?P=CS%203140 "CSÂ 3140")), and University Advanced Standing
Focuses on student's chosen field of the security domain. Solves a real-world computer security-related problem or dilemma. Brings all pieces of secure computing experience into a complete capstone project. Covers design, development, and deployment of all parts of the security domain.
**CS 4230.** **Software Testing and Quality Engineering.** **(3 Credits)**
Prerequisite(s): [CS 2450](https://catalog.uvu.edu/search/?P=CS%202450 "CSÂ 2450"), one of ([CS 3250](https://catalog.uvu.edu/search/?P=CS%203250 "CSÂ 3250") or [CS 3260](https://catalog.uvu.edu/search/?P=CS%203260 "CSÂ 3260") or [CS 3270](https://catalog.uvu.edu/search/?P=CS%203270 "CSÂ 3270") or [CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370")), [ECE 3710](https://catalog.uvu.edu/search/?P=ECE%203710 "ECEÂ 3710") or [STAT 2050](https://catalog.uvu.edu/search/?P=STAT%202050 "STATÂ 2050"), and University Advanced Standing
Provides a comprehensive exploration of strategies for testing software systems. Includes unit testing, system testing, developing software testing organization, and establishing software Total Quality Management (TQM) programs. Students will conduct system tests of software packages.
Lab access fee of \$45 for computers applies.
**CS 4380.** **Advanced High Performance Computer Architecture.** **(3 Credits)**
Prerequisite(s): [CS 3060](https://catalog.uvu.edu/search/?P=CS%203060 "CSÂ 3060"), ([CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370") Recommended), and University Advanced Standing
Presents theory and concepts of high-performance computer architectures. Includes digital logic, buses, registers, ALU's, control units, pipelining, parallelism, DASD's, SASD's, RAID, caching, instruction-sets, memory hierarchy, multiprocessing, interconnection via networks.
Lab access fee of \$45 for computers applies.
**CS 4390R.** **Advanced Current Topics in Computer Science.** **(1-3 Credits)**
Prerequisite(s): Department approval and University Advanced Standing
Provides exposure to emerging technologies and topics of current interest in computer science. Varies each semester depending upon the state of technology. A maximum of 6 hours may be counted toward graduation without CS Department approval.
Lab access fee of \$45 for computers applies.
**CS 4400.** **Software Engineering II.** **(3 Credits)**
Prerequisite(s): [CS 2450](https://catalog.uvu.edu/search/?P=CS%202450 "CSÂ 2450"), [CS 2600](https://catalog.uvu.edu/search/?P=CS%202600 "CSÂ 2600"), [CS 3520](https://catalog.uvu.edu/search/?P=CS%203520 "CSÂ 3520"), and ([CS 3250](https://catalog.uvu.edu/search/?P=CS%203250 "CSÂ 3250") or [CS 3260](https://catalog.uvu.edu/search/?P=CS%203260 "CSÂ 3260") or [CS 3270](https://catalog.uvu.edu/search/?P=CS%203270 "CSÂ 3270") or [CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370")), and University Advanced Standing
Pre- or Corequisite(s): [CS 3450](https://catalog.uvu.edu/search/?P=CS%203450 "CSÂ 3450")
Covers principles and practices of early phases of software development life cycle. Studies software requirements elicitation, analysis, and design. Includes in-depth, practical study of at least one major software development approach as applied to a realistic organizational systems problem. Explores requirements definition, analysis including prototyping, functional and nonfunctional requirements specification, legacy systems, and architecture patterns.
Lab access fee of \$45 for computers applies.
**CS 4440.** **Applied 3D Computer Graphics.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") with a C or better and (CS 3220 or [CS 3250](https://catalog.uvu.edu/search/?P=CS%203250 "CSÂ 3250") or [CS 3260](https://catalog.uvu.edu/search/?P=CS%203260 "CSÂ 3260") or [CS 3270](https://catalog.uvu.edu/search/?P=CS%203270 "CSÂ 3270") or [CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370") or [CS 3390R](https://catalog.uvu.edu/search/?P=CS%203390R "CSÂ 3390R")), and University Advanced Standing
Presents theory and implementation concepts of 2D and 3D computer graphics as used in areas such as computer games, movie special effects, scientific visualization and art. Focuses on the development of applications using an existing cross-platform graphics library rather than on the development of a graphics library.
Lab access fee of \$45 for computers applies.
**CS 4450.** **Analysis of Programming Languages.** **(3 Credits)**
Prerequisite(s): [CS 3240](https://catalog.uvu.edu/search/?P=CS%203240 "CSÂ 3240"), (one of [CS 3250](https://catalog.uvu.edu/search/?P=CS%203250 "CSÂ 3250"), [CS 3260](https://catalog.uvu.edu/search/?P=CS%203260 "CSÂ 3260"), [CS 3270](https://catalog.uvu.edu/search/?P=CS%203270 "CSÂ 3270") or [CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370")) and University Advanced Standing
Offers the mature student an in-depth understanding of the design and implementation of programming languages. Explores criteria for evaluating programming languages as a context for comparing both traditional and current popular languages. Includes the evolution of programming languages, the concept of binding, type checking, static and dynamic scoping, control structures, subprograms and parameter passing methods, and concurrency. Explores the functional programming paradigm in-depth. Includes programming assignments in at least two different programming languages, at least one of which being a functional language such as LISP, Scheme, ML, or Haskell.
Lab access fee of \$45 for computers applies.
**CS 4470.** **Artificial Intelligence.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and ([CS 3250](https://catalog.uvu.edu/search/?P=CS%203250 "CSÂ 3250") or [CS 3260](https://catalog.uvu.edu/search/?P=CS%203260 "CSÂ 3260") or [CS 3270](https://catalog.uvu.edu/search/?P=CS%203270 "CSÂ 3270") or [CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370") or [CS 3380](https://catalog.uvu.edu/search/?P=CS%203380 "CSÂ 3380")), and University Advanced Standing
Presents theory, organization, concepts, and principles of artificial intelligence methodologies including neural networks, expert systems, machine learning algorithms, and genetic algorithms.
Lab access fee of \$45 for computers applies.
**CS 4480.** **Digital Image Processing and Computer Vision.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and University Advanced Standing. [MATH 1210](https://catalog.uvu.edu/search/?P=MATH%201210 "MATHÂ 1210") and [MATH 2270](https://catalog.uvu.edu/search/?P=MATH%202270 "MATHÂ 2270") strongly recommended.
Develops cutting-edge software solutions for processing multimedia. Covers digital sampling of analog signals, fundamental and advanced image processing techniques in the spatial and frequency domains, edge and line detection, photo enhancement, feature extraction, object recognition, and the integration of AI and machine learning methods. Provides hands-on experience with classical image processing techniques as well as modern AI-driven approaches.
Lab access fee of \$45 for computers applies.
**CS 4490.** **Compiler Construction.** **(3 Credits)**
Prerequisite(s): [CS 3450](https://catalog.uvu.edu/search/?P=CS%203450 "CSÂ 3450"), [CS 4380](https://catalog.uvu.edu/search/?P=CS%204380 "CSÂ 4380"), [CS 4450](https://catalog.uvu.edu/search/?P=CS%204450 "CSÂ 4450"), and University Advanced Standing
Builds on software created in [CS 4380](https://catalog.uvu.edu/search/?P=CS%204380 "CSÂ 4380"). Presents concepts necessary to create a modern compiler. Reinforces theoretical and practical software development skills from previous courses through an immersive, expressive approach to compiler construction.
Lab access fee of \$45 for computers applies.
**CS 4500.** **Advanced Topics in Database.** **(3 Credits)**
Prerequisite(s): ([CS 3520](https://catalog.uvu.edu/search/?P=CS%203520 "CSÂ 3520") or [INFO 3410](https://catalog.uvu.edu/search/?P=INFO%203410 "INFOÂ 3410")) and University Advanced Standing
Covers transaction processing, concurrency control techniques, database recovery techniques, database security and authorization, database integrity, distributed databases and client-server architectures, load balancing, data warehousing, data mining, database machines, mobile database, multimedia database, GIS, genome data management, data fragmentation, data encryption, locking, and deadlock.
Lab access fee of \$45 for computers applies.
**CS 4620.** **Data Mining.** **(3 Credits)**
Prerequisite(s): [CS 3520](https://catalog.uvu.edu/search/?P=CS%203520 "CSÂ 3520") and University Advanced Standing
Introduces the process of knowledge discovery and the basic theory of automatic extracting models from data, validating those models, solving the problems of how to extract (mine) valid, useful, and previously unknown interesting patterns from a source (database or web) which contains an overwhelming amount of information. Explains various models (decision trees, association rules, linear model, clustering, bayesian network, neural network) and how to apply them in practice. Algorithms applied include searching for patterns in the data, using machine learning, and applying artificial intelligence techniques. Teaches how to implement several relevant algorithms and use existing tools to mine real-world, business driven databases.
Lab access fee of \$45 for computers applies.
**CS 4690.** **Distributed Internet Application Development.** **(3 Credits)**
Prerequisite(s): [CS 3660](https://catalog.uvu.edu/search/?P=CS%203660 "CSÂ 3660") and University Advanced Standing
Constructs robust software solutions for large, heterogeneous software and hardware networks. Explores heterogeneous operating systems, data store architectures, and remote resource management. Focuses on the intricacies of remote services, data exchange mechanisms, and interactions among agents in peer-to-peer and client-server networks. Explores protocols and standards that ensure interoperability across diverse systems. Analyzes strategies to ensure confidentiality, availability, and data integrity in distributed applications.
Lab access fee of \$45 for computers applies.
**CS 4700.** **Machine Learning.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and University Advanced Standing
Explores the philosophy, utility, mathematics and algorithms of machine learning in order to understand the basic concepts and issues at the heart of machine learning. Covers the implementation and use of machine learning algorithms to solve real-world problems or to pursue a graduate program. Includes feature selection and extraction, decision trees, neural networks, nearest-neighbors, support vector machines, naive Bayes classifier, clustering, ensembles, reinforcement learning and deep learning.
**CS 4710.** **Machine Learning II.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and University Advanced Standing
Applies Deep Learning models to problems in a variety of application domains that use massive data sets, such as recommender systems, novel text, image and music generation, sentiment analysis. Implements working models using algorithms such as recurrent neural nets, convolutional neural nets, deep belief nets, and deep reinforcement learning. Uses modern toolkits such as Tensorflow.
**CS 4720R.** **AI Business and Tech Solutions.** **(3 Credits)**
Prerequisite(s): University Advanced Standing, [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") if a Computer Science, Software Engineering, Computational Data Science or BAS Software Development major.
Provides interdisciplinary platform to work on real-world projects where generative AI plays a central role. Teaches cross-disciplinary teams to design and implement AI-driven solutions for industry partners, integrating technical expertise with strategic business insights. Addresses novel problems by applying AI technologies to create impactful business solutions. May be repeated for a maximum of 6 hours toward graduation.
**CS 4730.** **Natural Language Programming Foundations and Applications.** **(3 Credits)**
Prerequisite(s): [CS 2420](https://catalog.uvu.edu/search/?P=CS%202420 "CSÂ 2420") and University Advanced Standing. Some experience with Python, machine learning, probability and linear algebra is recommended.
Provides a comprehensive introduction to Natural Language Processing (NLP), focusing on both foundational techniques and modern applications. Explores classical NLP concepts such as text preprocessing, statistical models, and word embeddings, and modern approaches using transformer architectures and pre-trained language models. Emphasizes a hands-on, project-driven approach, teaching how to build NLP pipelines, fine-tune language models, and implement text summarization, generation, and conversational AI systems. Explores prompt engineering, few-shot learning and other cutting-edge NLP methods.
**CS 4770.** **Software Development for Robotics.** **(3 Credits)**
Prerequisite(s): [CS 3370](https://catalog.uvu.edu/search/?P=CS%203370 "CSÂ 3370") and University Advanced Standing; [CS 4470](https://catalog.uvu.edu/search/?P=CS%204470 "CSÂ 4470") recommended
Teaches students through hands on development the intricacies of programming robots such as autonomous vehicles and/or industrial manufacturing robots. Includes behavior based programming, intelligent agents, low level device drivers, sensor calibration and processing, real time programming requirements, motion planning and navigation, and machine learning.
Lab access fee of \$45 for computers applies.
**CS 4800.** **Data Science Capstone.** **(3 Credits)**
Prerequisite(s): [CS 3530](https://catalog.uvu.edu/search/?P=CS%203530 "CSÂ 3530") and University Advanced Standing
Solves a real-world data science problem or dilemma for an industry partner. Provides an opportunity to work in teams on a project from an industrial firm. Includes realistic industry evaluations such as teamwork, communication, individual initiative, and final product.
**CS 4810R.** **Internship.** **(1-8 Credits)**
Prerequisite(s): Matriculation to computer science or software engineering, Instructor Approval, and University Advanced Standing
Provides opportunity to use work experience to add to educational background and academic experience. A maximum of 3 credit hours may be counted towards graduation without prior written CS Department approval. May be graded credit/no credit.
**CS 4880.** **Cloud Computing.** **(3 Credits)**
Prerequisite(s): Matriculation into the Computer Science or Software Engineering program, and University Advanced Standing
Develops programming cloud-based applications, services and databases. Emphasizes real-world scenarios involving tiered and peer-to-peer architectures, building, developing, testing, and deploying on commercially-available cloud platforms. Covers concurrent programming, distributed programming, microservices, migration strategies, and hybrid cloud solutions. Teaches skills needed to design scalable, reliable, and secure cloud architectures, best practices and compliance measures. Teaches how to monitor and optimize cloud resources using modern management tools. Implements modern continuous integration (CI) and continuous delivery/deployment (CD) pipelines using automation tools to streamline infrastructure deployment and application delivery.
Lab access fee of \$45 for computers applies.
Software fee of \$18 applies.
**CS 4890R.** **Undergraduate Research Project.** **(2-6 Credits)**
Prerequisite(s): Department approval and University Advanced Standing
Combines and integrates concepts, methodologies, and skills developed in previous Computer Science course work. Studies the specification, analysis, design, implementation, and completion of a complex and comprehensive project. Requires a project/portfolio using project management techniques. A maximum of 3 hours may be counted towards graduation without prior written Computer Science Department approval.
Lab access fee of \$45 for computers applies.
**CS 4900.** **Full Stack Web Senior Capstone.** **(3 Credits)**
Prerequisite(s): [CS 3410](https://catalog.uvu.edu/search/?P=CS%203410 "CSÂ 3410"), [CS 3520](https://catalog.uvu.edu/search/?P=CS%203520 "CSÂ 3520"), [CS 3660](https://catalog.uvu.edu/search/?P=CS%203660 "CSÂ 3660"), and University Advanced Standing
Brings all pieces of full stack web development into a complete capstone project. Covers design, development and deployment of all parts of a web application.
Lab access fee of \$45 for computers applies.
**CS 4910R.** **Independent Study.** **(1-6 Credits)**
Prerequisite(s): Prior written Department Chair approval and University Advanced Standing
Offers independent study as directed by a faculty advisor in reading, individual projects, etc. Varies each semester depending upon the state of technology. A maximum of 3 credit hours may be counted towards graduation without prior written Department approval.
Lab access fee of \$45 for computers applies.
**CS 4960R.** **Senior Seminar.** **(1-3 Credits)**
Prerequisite(s): University Advanced Standing
Presents current state-of-the-art and/or best-practices topics in a seminar format. A maximum of 3 credits will count towards graduation.
Lab access fee of \$45 for computers applies.
**CS 6100.** **Database Management System Construction.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science Program or Graduate Certificate in Artificial Intelligence Program
Explores issues associated with implementing a DBMS. Provides experience designing and implementing a relational DBMS with features such as projection, select and join, indexing, B+ trees, and parsing. Examines database performance and implements query optimization.
**CS 6150.** **Advanced Algorithms.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program.
Explores applications and tradeoffs of state of the art algorithms in parallel/concurrent programming, data search, graphics, graph theory, data structures, mathematical programming, machine reasoning, machine learning, network flow, and other domains. Applies both theory and practice to various projects with a focus on concurrent/parallel programming.
**CS 6200.** **Cyberphysical Security.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Studies the principles, practices and algorithms related to securing computers and other network-visible devices. Analyzes the problems of security associated with computers and cyberphysical systems. Identifies threats, attacks, and actors. Applies cryptography and other techniques to address those problems.
**CS 6300.** **Software Engineering Leadership.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Prepares students to be software project leaders. Evaluates modern software processes and project management. Identifies important roles in software projects and their contribution to project success. Explores interaction of business needs and project development.
**CS 6400.** **Modern Databases.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science Program or Graduate Certificate in Artificial Intelligence Program
Evaluates recent trends in database technology, including the history of NoSQL, NoSQL aggregate data, distribution models, and NoSQL consistency. Teaches data analysis and machine learning by exploring concepts associated with processing massive data sets such as parallel data analysis through mapReduce and other algorithms. Explores technologies associated with modern databases management systems, such as in-memory databases, cloud database management systems.
**CS 6460.** **Artificial Intelligence.** **(3 Credits)**
Prerequisite(s): Acceptance into a graduate program, or approval of the graduate program director.
Presents foundational AI algorithms. Explores state space search, local search, adversarial search, constraint satisfaction problems, logic and reasoning, expert systems, Markov Models, Bayesian networks, particle filters, planning, reinforcement learning, and multilayer perceptrons. Studies practical implementations of AI algorithms.
**CS 6470.** **Machine Learning.** **(3 Credits)**
Prerequisite(s): Acceptance into a graduate program, or approval of the graduate program director.
Explores the theory and algorithms, concepts and issues of machine learning. Topics include feature selection, neural networks, decision trees, K-nearest neighbor, clustering, reinforcement learning, genetic algorithms, deep learning and data mining. Implements machine learning approaches in real-world applications.
**CS 6480.** **Deep Learning.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Applies deep learning models to problems in a variety of application domains that use massive data sets, such as recommender systems, novel text, image and music generation, sentiment analysis. Implements working models using algorithms such as recurrent neural nets, convolutional neural nets, deep belief nets, and deep reinforcement learning. Uses modern toolkits.
**CS 6500.** **Software Architecture.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Evaluates software architecture and the high level design of large scale software systems. Explores common architectural styles and patterns. Teaches techniques of documenting and assessing software architectures. Teaches characteristics of software architecture evolution. Evaluates several large-scale software architectures.
**CS 6510.** **Design and Simulation of Operating Systems.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Analyzes current topics in operating systems design and simulation. Covers modern computer architecture; several types of memory management; current scheduling algorithms for multiple processes; disk management; virtual memory and interprocess communication.
**CS 6530.** **Computer Graphics and Mixed Realities.** **(3 Credits)**
Prerequisite(s): Acceptance into a graduate program, or approval of the graduate program director.
Introduces computer graphics beyond 2D and 3D graphics into mixed reality, where virtual objects interact with the real world. Explores topics such as 2D/3D graphics, augmented reality, virtual reality, immersive visualization, the use of graphics/physics engines, and 3D printing.
**CS 6600.** **Graduate Project I.** **(3 Credits)**
Prerequisite(s): [CS 6300](https://catalog.uvu.edu/search/?P=CS%206300 "CSÂ 6300"), [CS 6510](https://catalog.uvu.edu/search/?P=CS%206510 "CSÂ 6510")
Teaches the design and development of a walking skeleton with students participating in all aspects of software development, including: requirements elicitation, architecture, design, implementation, testing, and deployment. First semester of a two-semester capstone course.
**CS 6610.** **Graduate Project II.** **(3 Credits)**
Prerequisite(s): [CS 6600](https://catalog.uvu.edu/search/?P=CS%206600 "CSÂ 6600")
Guides through completion and delivery of the large-scale system started in [CS 6600](https://catalog.uvu.edu/search/?P=CS%206600 "CSÂ 6600"). Delivers appropriate system documentation. Teaches the writing and execution of system tests that ensure a high quality system. Must be taken immediately after [CS 6600](https://catalog.uvu.edu/search/?P=CS%206600 "CSÂ 6600").
**CS 6620.** **Advanced Data Mining and Visualization.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Explores advanced concepts of data mining and knowledge discovery including sequence mining, audio video mining, and text mining. Analyzes, designs, develops, and evaluates data mining techniques and tools, including data preprocessing, data characterization and comparison, decision trees, association rule mining in large databases, classification and prediction. Uses clustering and cluster analysis and statistical modeling, advanced methods and applications, extracting meaningful patterns from massive datasets using methods such as neural networks and machine learning algorithms.
**CS 6700.** **Advanced Mathematics for Computer Science.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Solves computer science problems using advanced mathematical models. Applies calculus functions of multiple variables, linear equations, matrix algebra, determinants, Gaussian elimination, eigenvalues, linear programming, and finite-state Markov chains.
**CS 6730.** **Advanced Embedded Systems Engineering.** **(3 Credits)**
Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Provides a hands-on design experience of software design at the system layer where hardware meets software. Explores embedded computing platforms, interacting with the external world, real-time operation, constraints and optimization, and other techniques which are important for building embedded systems that work in the real world. Applies design/implementation/debugging of embedded functionality through a series of projects and homework exercises.
**CS 6790R.** **Special Topics in Computer Science.** **(3 Credits)**
Prerequisite(s): Acceptance into a graduate program, or approval of the graduate program director.
Explores emerging technologies. Adapts to reflect current developments and research frontiers in computer science, and engages with contemporary computing challenges. Emphasizes independent inquiry, technical proficiency, and research methodology while investigating topics at the forefront of computing innovation. Topics vary each semester based on faculty expertise and current trends in the discipline. May be repeated for a maximum of 6 credits toward graduation.
**CS 6960R.** **Advanced Software Development and Research Methods.** **(1-4 Credits)**
Prerequisite(s): Have completed at least 15 hours of CS graduate coursework.
Provides the opportunity to conceptualize, design, and implement a substantial software project or to conduct research culminating in a master's thesis. Addresses complex challenges or research questions in computer science. Emphasizes independent problem-solving, advanced software development methodologies, research design, and professional communication skills. Requires regular meetings with faculty advisors while developing projects or scholarship through an iterative process of planning, implementation, evaluation, and refinement.
- Catalog
- [catalog@uvu.edu](mailto:catalog@uvu.edu)
- (801) 863-7485
- Room BA-113
## Student
- [Admissions](https://www.uvu.edu/admissions/)
- [Academics](https://www.uvu.edu/academics)
- [Campus Life](https://www.uvu.edu/campuslife/)
- [Looking to attend UVU](https://www.uvu.edu/whyuvu/)
- [Current Student](https://www.uvu.edu/students/)
- [Accreditation](https://www.uvu.edu/accreditation/)
## Staff
- [Areas of Support](https://www.uvu.edu/facstaff/)
- [Directory](https://www.uvu.edu/directory/)
- [Talent Bureau](https://www.uvu.edu/talentbureau/)
- [Work at UVU](https://www.schooljobs.com/careers/uvu)
- [Human Resources](https://www.uvu.edu/hr)
## Faculty
- [Meet the faculty](https://www.uvu.edu/facsenate/)
- [Alumni](https://www.uvualumni.org/)
## Community
- [Visitors & Community](https://www.uvu.edu/visitors/)
- [Office of the President](https://www.uvu.edu/president/)
- [About UVU / History](https://www.uvu.edu/visitors/history.html)
- [Inclusion & Diversity](https://www.uvu.edu/inclusion/)
- [Español](https://www.uvu.edu/latinos/)
- [Give to UVU](https://www.uvu.edu/give/)
- [Contact Us](https://www.uvu.edu/visitors/contact.html)
## Utility
- [COVID-19 Info](https://www.uvu.edu/covidinfo)
- [Maps / Parking](https://www.uvu.edu/maps/)
- [Service Desk](https://www.uvu.edu/servicedesk/)
- [Emergency](https://www.uvu.edu/emergencymanagement/index.html)
- [Police](https://www.uvu.edu/police/)
- [Get Help](https://www.uvu.edu/servicedesk/)
- [Search](https://www.uvu.edu/search/)
- [Accessibility](https://www.uvu.edu/accessibility-services/index.html)
- [Title IX / Equal Opportunity](https://www.uvu.edu/equityandtitleix/)
- [News](https://www.uvu.edu/news/)
- [Events](https://www.uvu.edu/events/)
- [800 West University Parkway, Orem, UT 84058](https://goo.gl/maps/9SQ5CSuqAoG1gw6J8 "See Utah Valley University on Google Maps")
- (801) 863-8888
- [© Utah Valley University](https://www.uvu.edu/legal/copyright/)
- [Terms of Use](https://www.uvu.edu/legal/index.html)
- [Privacy Statement](https://www.uvu.edu/legal/privacy.html)
- [Copyright Complaints](https://www.uvu.edu/legal/copyright/copyright-infringement.html)
- [Non-Discrimination](https://www.uvu.edu/legal/non-discrimination.html)
- [Linkedin](https://www.linkedin.com/school/utah-valley-university/ "Opens UVU's Linkedin profile in a new tab")
- [Instagram](https://www.instagram.com/utah.valley.university/ "Opens UVU's Instagram profile in a new tab")
- [Facebook](https://www.facebook.com/UtahValleyUniversity/ "Opens UVU's Facebook profile in a new tab")
- [YouTube](https://www.youtube.com/user/UtahValleyUniversity "Opens UVU's YouTube channel in a new tab")
- [Twitter](https://twitter.com/UVU "Opens UVU's Twitter profile in a new tab")
- [Athletics](https://gouvu.com/ "Opens the UVU Athletics site in a new tab")
[Utah Valley Login](https://a.cms.omniupdate.com/11/?skin=uvu&account=UVU-WWW&site=Catalog&action=de&path=/current/index.pcf)
[Back to top](https://catalog.uvu.edu/courses/cs/#header)
Close this window
## Print Options
- [Send Page to Printer](https://catalog.uvu.edu/courses/cs/)
Print this page.
- [Download Page (PDF)](https://catalog.uvu.edu/courses/cs/cs.pdf)
The PDF will include all information unique to this page.
Ă— |
| Readable Markdown | *To register for courses and see a real-time listing of classes and sections offered, [view the add/drop system](https://userve.uvu.edu/StudentRegistrationSsb/ssb/term/termSelection?mode=search).*
**CS 1030.** **Foundations of Computer Science.** **(3 Credits)**
**CS 1380.** **Modern Programming Essentials.** **(3 Credits)**
**CS 1400.** **Fundamentals of Programming.** **(3 Credits)**
**CS 1410.** **Object Oriented Programming.** **(3 Credits)**
**CS 1420.** **Accelerated Introduction to Programming.** **(3 Credits)**
**CS 2250.** **Java Programming.** **(3 Credits)**
**CS 2300.** **Discrete Mathematical Structures I.** **(3 Credits)**
**CS 2310.** **Probability in Computing.** **(3 Credits)**
**CS 2370.** **C Plus Plus Programming.** **(3 Credits)**
**CS 2420.** **Introduction to Algorithms and Data Structures.** **(3 Credits)**
**CS 2450.** **Software Engineering.** **(3 Credits)**
**CS 2550.** **Web Programming I.** **(3 Credits)**
**CS 2600.** **Computer Networks I.** **(3 Credits)**
**CS 2700.** **Causal Inference.** **(3 Credits)**
**CS 2810.** **Computer Organization and Architecture.** **(3 Credits)**
**CS 2812R.** **Internship.** **(1-8 Credits)**
**CS 2900.** **Data Privacy and Security.** **(3 Credits)**
**CS 2910R.** **Independent Study.** **(1-6 Credits)**
**CS 2960R.** **CS Seminar.** **(1-3 Credits)**
**CS 2990.** **Topics in Computer Science.** **(3 Credits)**
**CS 3050G.** **Global Social and Ethical Issues in Computing.** **(3 Credits)**
**CS 3060.** **Operating Systems Theory.** **(3 Credits)**
**CS 3110.** **Applied Cryptography.** **(3 Credits)**
**CS 3120.** **Ethical Hacking Tools Development.** **(3 Credits)**
**CS 3140.** **Network and Cloud Security.** **(3 Credits)**
**CS 3240.** **Discrete Mathematical Structures II.** **(3 Credits)**
**CS 3250.** **Java Software Development.** **(3 Credits)**
**CS 3260.** **CsharpNET Software Development.** **(3 Credits)**
**CS 3270.** **Python Software Development.** **(3 Credits)**
**CS 3310.** **Analysis of Algorithms.** **(3 Credits)**
**CS 3360.** **Rust Software Development.** **(3 Credits)**
**CS 3370.** **C Plus Plus Software Development.** **(3 Credits)**
**CS 3380.** **JavaScript Software Development.** **(3 Credits)**
**CS 3390R.** **Advanced Programming Language Other.** **(3 Credits)**
**CS 3410.** **Human Factors in Software Development.** **(3 Credits)**
**CS 3450.** **Principles and Patterns of Software Design.** **(3 Credits)**
**CS 3456.** **Parallel Computation.** **(3 Credits)**
**CS 3520.** **Database Theory.** **(3 Credits)**
**CS 3530.** **Data Management For Data Sciences.** **(3 Credits)**
**CS 3540.** **Game Programming.** **(3 Credits)**
**CS 3660.** **Web Programming II.** **(3 Credits)**
**CS 3680.** **Mobile Device Programming.** **(3 Credits)**
**CS 3720.** **Database Programming.** **(3 Credits)**
**CS 3800.** **Data Science Through Statistical Reasoning.** **(3 Credits)**
**CS 3820.** **Visualization Analytics for Data Science.** **(3 Credits)**
**CS 4120.** **Security Vulnerability Analysis.** **(3 Credits)**
**CS 4200.** **Secure Computing Capstone.** **(3 Credits)**
**CS 4230.** **Software Testing and Quality Engineering.** **(3 Credits)**
**CS 4380.** **Advanced High Performance Computer Architecture.** **(3 Credits)**
**CS 4390R.** **Advanced Current Topics in Computer Science.** **(1-3 Credits)**
**CS 4400.** **Software Engineering II.** **(3 Credits)**
**CS 4440.** **Applied 3D Computer Graphics.** **(3 Credits)**
**CS 4450.** **Analysis of Programming Languages.** **(3 Credits)**
**CS 4470.** **Artificial Intelligence.** **(3 Credits)**
**CS 4480.** **Digital Image Processing and Computer Vision.** **(3 Credits)**
**CS 4490.** **Compiler Construction.** **(3 Credits)**
**CS 4500.** **Advanced Topics in Database.** **(3 Credits)**
**CS 4620.** **Data Mining.** **(3 Credits)**
**CS 4690.** **Distributed Internet Application Development.** **(3 Credits)**
**CS 4700.** **Machine Learning.** **(3 Credits)**
**CS 4710.** **Machine Learning II.** **(3 Credits)**
**CS 4720R.** **AI Business and Tech Solutions.** **(3 Credits)**
**CS 4730.** **Natural Language Programming Foundations and Applications.** **(3 Credits)**
**CS 4770.** **Software Development for Robotics.** **(3 Credits)**
**CS 4800.** **Data Science Capstone.** **(3 Credits)**
**CS 4810R.** **Internship.** **(1-8 Credits)**
**CS 4880.** **Cloud Computing.** **(3 Credits)**
**CS 4890R.** **Undergraduate Research Project.** **(2-6 Credits)**
**CS 4900.** **Full Stack Web Senior Capstone.** **(3 Credits)**
**CS 4910R.** **Independent Study.** **(1-6 Credits)**
**CS 4960R.** **Senior Seminar.** **(1-3 Credits)**
**CS 6100.** **Database Management System Construction.** **(3 Credits)**
**CS 6150.** **Advanced Algorithms.** **(3 Credits)**
**CS 6200.** **Cyberphysical Security.** **(3 Credits)**
**CS 6300.** **Software Engineering Leadership.** **(3 Credits)**
**CS 6400.** **Modern Databases.** **(3 Credits)**
**CS 6460.** **Artificial Intelligence.** **(3 Credits)**
**CS 6470.** **Machine Learning.** **(3 Credits)**
**CS 6480.** **Deep Learning.** **(3 Credits)**
**CS 6500.** **Software Architecture.** **(3 Credits)**
**CS 6510.** **Design and Simulation of Operating Systems.** **(3 Credits)**
**CS 6530.** **Computer Graphics and Mixed Realities.** **(3 Credits)**
**CS 6600.** **Graduate Project I.** **(3 Credits)**
**CS 6610.** **Graduate Project II.** **(3 Credits)**
**CS 6620.** **Advanced Data Mining and Visualization.** **(3 Credits)**
**CS 6700.** **Advanced Mathematics for Computer Science.** **(3 Credits)**
**CS 6730.** **Advanced Embedded Systems Engineering.** **(3 Credits)**
**CS 6790R.** **Special Topics in Computer Science.** **(3 Credits)**
**CS 6960R.** **Advanced Software Development and Research Methods.** **(1-4 Credits)** |
| Shard | 140 (laksa) |
| Root Hash | 6753130060628888540 |
| Unparsed URL | edu,uvu!catalog,/courses/cs/ s443 |