Foundational Courses
All CS majors must complete foundational courses before enrolling in 3000-level and above Kahlert School of Computing courses.
Introduction to Programming Sequence (choose one):
- CS 1400 – Introduction to Computer Programming
- CS 1410 – Introduction to Object-Oriented Programming
OR
- CS 1420 – Accelerated Introduction to Object-Oriented Programming
Additional Foundation Courses:
- CS 2420 – Introduction to Algorithms and Data Structures
- Math 1210 – Calculus I
- Math 1220 – Calculus II
Not sure whether to take CS 1410/1410 or CS 1420? Complete the First Course Guidance Activity.
Grade/GPA Requirements
Letter Grades
All courses taken to satisfy Computer Science degree requirements must be taken for a letter grade.
Minimum Grades
- Most CS, math, and science degree requirements require a C- or better.
- Certain courses (e.g., CS 2420) require a higher grade (e.g., B- or better).
- MATH courses used as pre-requisites for advanced MATH courses require a C or better.
GPA Requirement
Students must maintain a 2.5 GPA (cumulative & technical) to remain in good standing with the School of Computing.
Majors
Course List for AI, CS, & SD (PDF)
Artificial Intelligence
Artificial intelligence is the study of the automation of tasks that usually require human-like intelligence, such as learning, perception, reasoning, and decision-making. It fuses skills of computer programming and machine learning. This major prepares students for careers involving developing, using, and auditing generative AI systems.
Degree Worksheets:
Artificial Intelligence BS (PDF)
Computer Science
Computer science encompasses the theory and discipline of solving computational problems. Computer scientists analyze and engineer the software, algorithms, computer systems, and theories that continue to advance the modern technological world. They work in a broad range of areas including artificial intelligence, security, graphics, robotics, operating systems, networking, and communication.
Degree Worksheets:
Computer Science BS with Games emphasis (PDF)
Emphases:
Artificial Intelligence
An emphasis in artificial intelligence (AI) explores the breadth of computing while also specializing in machine learning and AI.
Application Development
An emphasis in application development explores the breadth of computing while also introducing the key principles of end-user software design and development, focusing on application platforms, human-centered design, and end-user security.
Games
An emphasis in games explores the breadth of computing while also preparing to enter gaming and animation.
Secure Computing
An emphasis in secure computing explores the breadth of computing while also specializing in computer security.
Elective Guidelines:
- Complete 6 CS electives (3000+ level, 3+ credits each)
- Complete 1 approved math, science, or engineering elective (3+ credits) with MATH 1220 as a co- or prerequisite.
- Complete 1 ethics course: CS 2395, CS 3090, or CS 3390.
Graduate-level CS 6XXX courses may count as CS electives with instructor permission. Check with your academic advisor before enrolling.
Students who complete both CS 3100 and CS 3200 may use one to satisfy the theory-restricted elective requirement and the other as a CS elective.
Not eligible as CS electives:
- CS 3090* – Ethics in Computing
- CS 3390* – Ethics in Data Science
- CS 3991 – CE Junior Seminar
- CS 3992 – Computer Engineering Pre-Thesis/Pre-Clinic/Pre-Project
- CS 4710 – Computer Engineering Senior Project
- CS 4991 – Computer Engineering Senior Thesis I
- CS 4992 – Computer Engineering Senior Thesis II
*CS 3090 and CS 3390 satisfy the ethics requirement but do not count as CS electives.
Not eligible as the math/science/engineering elective:
- Any CS or DS course
- MATH 3010
- MATH 3070 and/or MATH 5010 (if CS 3130 is taken)
- MATH 2250 (if MATH 2270 and/or MATH 2280 are taken)
Data Science
Data science focuses on the practice and theory of extracting useful knowledge, results, and understanding from raw data. Data scientists typically work with consumers and producers of data in order to analyze, manage, and augment large data sets or work in industries that require automated forms of decision making and analysis.
Degree Worksheets:
Data Science BS with Artificial Intelligence emphasis (PDF)
Emphasis:
Artificial Intelligence
An emphasis in artificial intelligence (AI) explores the breadth of data science while also specializing in machine learning and AI.
Elective Guidelines:
Complete 3 Data Analysis Breadth elective courses (PDF) and 3 Data Domain elective courses (PDF).
Software Development
Software Development is the study of the principles, tools, and techniques for developing modern software. Software developers create the web, mobile, and desktop applications that we use every day. They typically work as full stack developers, writing and maintaining the secure front end and back end code that turns a specification into a real-world, functioning system.
Degree Worksheets:
Software Development BS with Artificial Intelligence emphasis (PDF)
Software Development BS with Games emphasis (PDF)
Emphases:
Artificial Intelligence
An emphasis in artificial intelligence (AI) explores the breadth of software development while also specializing in machine learning and AI.
Games
An emphasis in games explores the breadth of software development while also preparing to enter gaming and animation.
Elective Guidelines:
Complete 4 SD electives (3000+ level, 3+ credits each).
Not eligible as SD electives:
- CS 3390*: Ethics in Data Science
- CS 3991: CE Junior Seminar
- CS 3992: Computer Engineering Pre-Thesis/Pre-Clinic/Pre-Project
- CS 4710: Computer Engineering Senior Project
- CS 4991: Computer Engineering Senior Thesis I
- CS 4992: Computer Engineering Senior Thesis II
*CS 3090: Ethics in Computing must be completed to satisfy the SD core requirements.
A student majoring in software development must also complete 2 design, management, and/or entrepreneurship courses (each 3.0 credits or more) chosen from the following:
- DES 2615: Introduction to Design Thinking
- Any MGT course at the 3000 level or above
- ENTP 1020: Entrepreneurship and the Startup Methods
- ENGIN 5020: Emerging Technologies and Engineering Entrepreneurship
- ENGIN 5030: Patent Law and Strategy
- ENGIN 5790: The Business of Entrepreneurship
- ENGIN 5791: Launching Technology Ventures
Minors
Artificial Intelligence Minor
A minor in artificial intelligence complements undergraduate degrees in fields that work with data, language, design, or computers, and enhances their studies with the tools to apply AI towards those goals.
Minor Requirements: Artificial Intelligence Minor (PDF)
Computer Science Minor
A minor in computer science complements undergraduate degrees that apply computing to automate tasks in their primary field of study.
Degree Requirements: Computer Science Minor (PDF)
Certificates
Certificate programs allow students in other departments to learn about a particular topic in depth and receive a certificate for completing the program. The certificate goes on the official transcript. This helps students in other departments to develop computing skills necessary for their major and round out their understanding of computing as it applies to their field.
Data Fluency
The data fluency certificate is designed to provide students with exposure (i.e., a basic fluency) to the principles, issues, and tools within the field of data science.
View the Data Fluency Certificate in the Course Catalog.
Data Fluency Certificate Application Electives (PDF)
Data Science
The data science certificate is designed to provide exposure to the three major pedagogical categories within data science: understanding of the theoretical underpinnings; computational method design, development and use; and domain-specific applications.
View the Data Science Certificate in the Course Catalog.
Data Science Certificate Application Electives (PDF)
