Skip to main content

Foundational Courses

All CS majors must complete foundational courses before enrolling in 3000-level and above Kahlert School of Computing courses. 

Choose one programming sequence:

  • CS 1400 – Introduction to Computer Programming
  • CS 1410 – Introduction to Object-Oriented Programming

OR

  • CS 1420 – Accelerated Introduction to Object-Oriented Programming

AND

CS 2420 – Introduction to Algorithms and Data Structures 

Math 1210 – Calculus I 

Students must complete CS 2420 with a B- or above, and Calculus I with a C or above

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 CS 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.

Degree Requirements

Artificial Intelligence

Degree Worksheets:

Artificial Intelligence BS (PDF)

Artificial Intelligence Minor (PDF)

Elective Guidelines:

Complete 3 AI Depth electives and 3 AI Breadth electives.

  • AI Depth
    • CS 4545: AI for HCC
    • CS 5140: Data Mining
    • CS 5320: Computer Vision
    • CS 5340: Natural Language Processing
    • CS 5350: Advanced Machine Learning
    • CS 5353: Deep Learning
  • AI Breadth
    • CS 3535: Managing Data for and with ML
    • CS 3536: Human-Centered Data Management
    • CS 4305: Advanced AI
    • CS 4640: Image Processing Basics
    • CS 5354: Human-AI Alignment
    • CS 5497: Machine Language Security
    • CS 4960: Theory of Machine Learning
    • CS 4962: Sustainable Computing
    • CS 4963: Algorithmic Foundations of Robotics
    • CS 5966: Interpretability of LLMs
    • CS 5968: Designing Digital Health Systems

General Education Recommendations:

Computer Science

Degree Worksheets:

Computer Science BS (PDF)

Computer Science BS with Application Development, Artificial Intelligence, or Secure Computing emphasis (PDF)

Computer Science BS with Games emphasis (PDF)

Computer Science Minor (PDF)

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 BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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

 

 

Computer Science BS guidelines for elective courses

 

Data Science BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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

Software Development BS with Games emphasis (PDF)

 

Computer Science BS guidelines for elective courses

 

Data Science BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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

Artificial Intelligence BS (PDF)

Artificial Intelligence Minor (PDF)

Elective Guidelines:

Complete 3 AI Depth electives and 3 AI Breadth electives.

  • AI Depth
    • CS 4545: AI for HCC
    • CS 5140: Data Mining
    • CS 5320: Computer Vision
    • CS 5340: Natural Language Processing
    • CS 5350: Advanced Machine Learning
    • CS 5353: Deep Learning
  • AI Breadth
    • CS 3535: Managing Data for and with ML
    • CS 3536: Human-Centered Data Management
    • CS 4305: Advanced AI
    • CS 4640: Image Processing Basics
    • CS 5354: Human-AI Alignment
    • CS 5497: Machine Language Security
    • CS 4960: Theory of Machine Learning
    • CS 4962: Sustainable Computing
    • CS 4963: Algorithmic Foundations of Robotics
    • CS 5966: Interpretability of LLMs
    • CS 5968: Designing Digital Health Systems

General Education Recommendations:

Computer Science

Degree Worksheets:

Computer Science BS (PDF)

Computer Science BS with Application Development, Artificial Intelligence, or Secure Computing emphasis (PDF)

Computer Science BS with Games emphasis (PDF)

Computer Science Minor (PDF)

Elective Guidelines:

  • Complete 6 upper-division CS electives (3000+ level, 3+ credits).
  • Complete 1 approved math, science, or engineering elective (3+ credits).
  • Complete 1 ethics course: CS 2395, CS 3090, CS 3390.

Graduate-level 6XXX courses may be used as CS electives with instructor permission. Check with your academic advisor before enrolling.

Students who complete both CS 3100 AND CS 3200 may count one toward 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 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)

Computer Science BS guidelines for elective courses

 

Data Science BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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

Software Development BS with Games emphasis (PDF)

 

Computer Science BS guidelines for elective courses

 

Data Science BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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

Software Development BS with Games emphasis (PDF)

 

Computer Science BS guidelines for elective courses

 

Data Science BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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

 

Computer Science BS guidelines for elective courses

 

Data Science BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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

Software Development BS with Games emphasis (PDF)

 

Computer Science BS guidelines for elective courses

 

Data Science BS guidelines for elective courses

A student majoring in data science must complete three Data Analysis Breadth elective courses (PDF)  and three Data Domain elective courses (PDF).

 

Software Development BS guidelines for elective courses

A student majoring in software development must complete four CS courses at the 3000 level or above (each 3.0 credits or more).

The following courses are excluded:

 

    • 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 requirements.

A student majoring in software development must also complete two 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