Bachelor of Science Degree Requirements
The following requirements are effective for students starting the degree in Fall 2022 or later.
Students who started the degree before Fall 2022 should see the curriculum guidefor their specific requirement term (term they entered the major).
Table of Contents
- Computer Science Coursework
- Senior Capstone
- Required Courses from Outside CS
- Additional Policies & Requirements
Computer Science Coursework
Students must complete the Foundation, Core, Capstone as well as Computer Science electives to make the 58 required hours. All CSCI course prerequisites are enforced; see the for details.
Foundation Courses
All of the following courses are required (grade of C- or better):
- CSCIÌý1000-1, Computer Science as a Field of Work and Study
- CSCIÌý1300-4, Computer Science 1: Starting Computing (or equivalent)
- CSCIÌý2270-4, Computer Science 2: Data Structures
- CSCIÌý2400-4, Computer Systems
- CSCIÌý3104-4, Algorithms
- CSCIÌý3155-4, Principles of Programming Languages
- CSCI 3308-3, Software Development Methods and Tools
Core Courses
Five of the following courses are required (grade of C- or better).
- CSCIÌý3002-4, Fundamentals of Human Computer Interaction
- CSCIÌý3202-3,ÌýIntroduction to Artificial Intelligence
- CSCIÌý3287-3,ÌýDesign & Analysis of Database Systems
- CSCI 3302-3, Introduction to Robotics
- CSCI 3403-4, Introduction to CyberSecurity for a Converged World
- CSCIÌý3434-3,ÌýTheory of Computation
- CSCIÌý3656-3,ÌýNumerical Computation, or APPM 4650/MATH4650-3 Intermediate Numerical Analysis 1, or APPM 4600-4 Numerical Methods and Scientific Computing, or MCEN 3030-3 Computational Methods (only one of these will count as Computer Science credit)
- CSCIÌý3753-4,ÌýDesign & Analysis of Operating Systems
- CSCI 4022-3, Advanced Data Science
- CSCIÌý4273-3,ÌýNetwork Systems
- CSCIÌý4448-3,ÌýObject-Oriented Analysis and Design
CSCI Upper Division Electives
Additional courses from the Computer Science Core list or the list below to bring the total number of computer science credit hours to 58 or more.
- CSCI 3010-3, Programming Project Workshop
- CSCI 3022-3, Introduction to Data Science with Probability and Statistics (can count for probability/statistics requirement OR CS elective credit, but not both)
- CSCI 3090-3, Introduction to Quantum Computing
- CSCIÌý3112-1,ÌýHuman-Centered Computing Professional Development
- CSCI 3150-3, Universal Design for Digital Media
- CSCI 3352-3, Biological Networks
- CSCI 3593/4593-3,ÌýComputer Organization
- CSCIÌý3702-3,ÌýCognitive Science
- CSCI 3832-3, Natural Language Processing
- CSCI 4113-3, Linux System Administration (previously offered as TLEN 5842; only one of these will count)
- CSCI 4114-3, Practical Algorithmic Complexity
- CSCI 4122-3, Information Visualization
- CSCI 4133-3, Fundamentals of Computer Security
- CSCI 4200-3, Introduction to Wireless Systems
- CSCIÌý4229-3,ÌýComputer Graphics
- CSCI 4239-3,ÌýAdvanced Computer Graphics
- CSCI 4240-3, Introduction to Blockchain
- CSCI 4253-3, Datacenter Scale Computing
- CSCI 4302-3,ÌýAdvanced Robotics
- CSCI 4314-3, Dynamic Models in Biology
- CSCI 4413-3, Computer Security & Ethical Hacking
- CSCI 4444-3, Algorithms and Data Structures for Analyzing DNA
- CSCIÌý4446-3,ÌýChaotic Dynamics
- CSCI 4502-3,ÌýData Mining
- CSCIÌý4555-3,ÌýCompiler Construction
- CSCIÌý4576-4,ÌýHigh-Performance Scientific Computing
- CSCI 4616-3, Introduction to Virtual Reality
- CSCI 4622-3, Machine Learning
- CSCI 4722-3, Computer Vision
- CSCIÌý4753-3,ÌýComputer Performance Modeling
- CSCI 4802-1, Data Science Team Companion Course (can count up to 3 credits)
- CSCIÌý4809-3,ÌýComputer Animation
- CSCI 4830-3, Special Topics in Computer Science (up to 9 credit hours total from 4830/4831 combined can count toward CS electives)
- CSCI 4831-3, Special Topics in Algorithms (up to 9 credit hours total from 4830/4831 combined can count toward CS electives)
- CSCI 4849-3, Input, Interaction, and Accessibility
- CSCI 4900-3, Upper Division, Undergraduate Independent Study
- APPM 4120/MATH 4120-3, Introduction to Operations Research
- APPM 4370-3, Computational Neuroscience
- APPM 4490-3, Theory of Machine Learning
- APPM 4660-3, Intermediate Numerical Analysis 2, or APPM 4610 (3) Numerical Differential Equations
- APPM 4720-3, Open Topics in Applied Mathematics: Randomized Algorithms, instructor permission required
- APPM 4720-3, Open Topics in Applied Mathematics: Applied Deep Learning, instructor permission required
- APPM 4720-3, Open Topics in Applied Mathematics: Data-Driven Modeling, instructor permission required
- ATLS 4120-3, Mobile Application DevelopmentÌý(formerly offered as ATLS 4519 Special Topics:ÌýMobile App Dev; only one of these will count toward the CSEN-BS)
- ATLS 4140-3, Game Development
- ATLS 4214-3, Big Data Architecture (formerly offered as CSCI 4830 Special Topics: Big Data or ATLS 4519 Special Topics: Big Data; only one of these will count toward the CSEN-BS)
- ATLS 4320-3, Mobile Application Development: Advanced Topics (formerly offered as ATLS 4519 Special Topics: Adv Mobile App Development; only one of these will count toward the CSEN-BS)
- ECENÌý2350-3,ÌýDigital Logic
- ECEN 4133-3, Fundamentals of Computer Security
- ECEN 4313-3, Concurrent Programming
- INFO 3504-3, Problems in Information Science: Digital Identity
- INFO 4602-3, Mastery in Information Science: Information Visualization
- INFO 4604-3, Applied Machine Learning
- INFO 4609-3, Mastery in Information Science: User-Centered Design
- INFO 4611-3, Mastery in Information Science: Ubiquitous Computer Experience Design
- INFO 4747-3, Defamiliarizing Data: The Ethnography and Design of Making Data Strange (only thru Ed Abroad)
- MATH 4440-3, Mathematics of Coding and Cryptography
- MCDB 4520-3, Bioinformatics & Genomics
- MCEN 4155-3, Mechatronics and Robotics I
Senior Capstone
One of the following Capstone options is required (grade of C- or better required for each class):
Two semesters: beginning fall, ending spring:
- CSCIÌý4308-4ÌýSoftware Engineering Project 1
- CSCIÌý4318-4,ÌýSoftware Engineering Project 2
This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of the college writing requirement, as well as the Computer Science Foundation (24 credit hours) plus Computer Science Core and Elective courses to reach a minimum of 36 Computer Science credit hours. See Software Design Project for more information.
Two semesters: beginning fall, ending spring:
- CSCIÌý4348-4,ÌýStartup Essentials: Entrepreneurial Projects 1 and
- CSCI 4358-4, Entrepreneurial Projects 2
This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of the college writing requirement, as well as the Computer Science Foundation (24 credit hours) plus Computer Science Core and Elective courses to reach a minimum of 36 Computer Science credit hours. See Entrepreneurial Capstone for more information.
Two semesters: beginning fall, ending spring.
Students who are dual majors with other ABET accredited programs in the College of Engineering and Applied Science are permitted to complete their requiredÌýCapstoneÌýexperience through those departments. For example: ASEN 4018/4028 or ECEN 4610/4620.
Through partnership with Mechanical Engineering, we offer anyÌýCS student the opportunity to participate in the followingÌýCapstone experience with Mechanical Engineering students.Ìý
- CSCI 4368/4378ÌýMultidisciplinary Design Project 1 & 2: ÌýDesign, develop, test, and deploy software that is integrated into a mechanical system. Participate as a member of a multi-disciplinary team that could include students from computer science, mechanical, and electrical disciplines. Develop project management and communication skills as they pertain to a multi-disciplinary team. Support the project team through self-directed study. Second semester of a seniorÌýcapstoneÌýcourse isÌýCSCI 4378. Students must take this course andÌýCSCI 4368 contiguously as the project spans the entire academic year starting fall and ending in spring.Ìý
Two semesters: beginning fall, ending spring:
- CSCIÌý4950-4,ÌýSenior Thesis
- CSCIÌý4950-4,ÌýSenior Thesis
- CSCI 3100-1 Software and Society
Senior Thesis may not be taken before the senior year. Minimum CS GPA 3.0 required. Prerequisites for Senior Thesis include the successful completion of the college writing requirement, as well as the Computer Science Foundation (24 credit hours) plus Computer Science Core and Elective courses to reach a minimum of 36 Computer Science credit hours. SeeÌýSenior ThesisÌýfor more information.
Required Coursework from Outside CS
Mathematics
Courses in the following four categories are required.Ìý
Must take both courses:
- APPM 1350-4, Calculus 1 for Engineers or MATH 1300-5, Calculus 1
- APPM 1360-4, Calculus 2 for Engineers or MATH 2300-5, Calculus 2
Take one of the following courses:
- CSCIÌý2824-3, Discrete Structures
- ECENÌý2703-3, Discrete Mathematics for Computer Engineers
- APPMÌý3170-3,ÌýDiscrete Applied Mathematics
- MATH 2001-3, Introduction to Discrete Mathematics
Students are responsible for knowing and adhering to course prerequisites as listed in the course catalog. Some courses on this approved list may have prerequisites that are not otherwise required for the computer science major.
Take one of the following courses:
- CSCIÌý2820-3, Linear Algebra with CS Applications
- MATH 2130-3,ÌýIntro to Linear Algebra
- ´¡±Ê±Ê²ÑÌý3310-3,ÌýMatrix Methods and Applications
Students are responsible for knowing and adhering to course prerequisites as listed in the course catalog. Some courses on this approved list may have prerequisites that are not otherwise required for the computer science major.
Take one of the following courses:
- APPMÌý3570-3, Applied Probability
- APPMÌý4570-3,ÌýStatistical Methods
- CHEN 3010-3, Applied Data Analysis
- CSCI 3022-3, Introduction to Data Science with Probability and Statistics (can count for probability/statistics requirement OR CS elective, but not both)
- CVENÌý3227-3,ÌýProbability, Statistics and Decision
- ECENÌý3810-3, Introduction to Probability Theory.
- ECON 3818-3, Introduction to Statistics w/ Computer Applications
- MATHÌý3510-3, Introduction to Probability and Statistics
- MATHÌý4510-3, Introduction to Probability Theory
- STAT 3100-3, Applied Probability
- STAT 4000-3, Statistical Methods and Application I
- Other probability/statistics courses if approved by anÌýundergraduate advisor.
Students are responsible for knowing and adhering to course prerequisites as listed in the course catalog. Some courses on this approved list may have prerequisites that are not otherwise required for the computer science major.
Natural Science
A total of at least 17 credit hours of Natural Science is required.Ìý
Your 17 hours must include:
- PHYS1110-4 General Physics 1 (Calculus-based) REQUIRED, grade of C-Ìýor better
- An approved natural science with lab option
Complete one of the following approved Natural Science with LabÌýsequences (D, or better):
- PHYS 1120-4, General Physics 2 and PHYS 1140-1, Experimental Physics 1
- CHEN 1201-4, General Chemistry for Engineers 1 and CHEM 1114-1, Laboratory in General Chemistry 1
- CHEM 1113-4, General Chemistry 1 and CHEM 1114-1, Laborato