2019 Curriculum Guide - BA

The following requirements are effective for students starting the degree in Fall 2019 or Spring 2020.

Students who started the degree before Fall 2019 should see the curriculum guide for their specific requirement term (term they entered the major).

Outside Area of Study

Any declarable program of at least 15 hoursfrom any CU Boulder college (approved major, minor, certificate)

Computer Science

All of the following courses are required:
  • CSCI1300Computer Science 1: Starting Computing (4)
  • CSCI2270Computer Science 2: Data Structures (4)
  • CSCI2400Computer Systems(4)
  • CSCI3104Algorithms* (4)
  • CSCI3155Principles* of Programming Languages(4)
  • CSCI3308Software Development Methods and Tools(3)

* These CSCI coursesapply toward A&S requirement of 30 hours upper division A&S hours

Select four of the following (12-15):

  • Fundamentals of Human Computer Interaction
  • Introduction to Artificial Intelligence*
  • Design and Analysis of Data Systems
  • Introduction to Robotics
  • Introduction to CyberSecurity for a Converged World
  • Theory of Computation*
  • Numerical Computation*or APPM 4650,Intermediate Numerical Analysis 1 (only one of these will count towards the CSCI-BA)
  • Design and Analysis of Operating Systems
  • Network Systems
  • Object-Oriented Analysis and Design

* These CSCI coursesapply toward A&S requirement of 30 hours upper division A&S hours

Additional courses from the Computer Science Core list or the list below to bring the total number of computer science credit hours to 45 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*
  • CSCI3112-1,Human-Centered Computing Professional Development(can count up to 3 credits only)
  • CSCI 3352-3, Biological Networks
  • CSCI3702-3,Cognitive Science*
  • CSCI 3832-3, Natural Language Processing
  • CSCI 4113-3, Linux System Administration (also offered as TLEN 5842; only one of these will count)
  • CSCI 4114-3, Practical Algorithmic Complexity
  • CSCI 4122-3, Information Visualization
  • CSCI4229-3,Computer Graphics
  • CSCI 4239-3,Advanced Computer Graphics
  • 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
  • CSCI4446-3,Chaotic Dynamics
  • CSCI 4502-3,Data Mining
  • CSCI4555-3,Compiler Construction
  • CSCI4576-4,High-Performance Scientific Computing
  • CSCI4593-3,Computer Organization
  • CSCI 4622-3, Machine Learning
  • CSCI4753-3,Computer Performance Modeling
  • CSCI 4802-1, Data Science Team Companion Course (can count up to 3 credits)
  • CSCI4809-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 4889-3, Interactive Machine Learning for Customizable and Expressive Interfaces
  • CSCI 4900-3, Upper Division, Undergraduate Independent Study(maximum of 8 hours will count toward major)
  • APPM 4120/MATH 4120-3, Introduction to Operations Research
  • APPM 4370-3, Computational Neuroscience
  • 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
  • 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 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 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, Mastery in Information Science:Applied Machine Learning
  • INFO 4609-3, Mastery in Information Science: User Centered Design
  • INFO 4611-3, Mastery in Information Science: Ubiquitous Computer Experience Design(formerly INFO 4871Experience Design in Ubicomp)
  • MATH 4440-3, Mathematics of Coding and Cryptography
  • MCDB 4520-3, Bioinformatics & Genomics

* These CSCI coursesapply toward A&S requirement of 30 hours upper division A&S hours

Required Coursework from Outside Computer Science

Select one of the following calculus sequences (8-12):

Sequence 1 (preferred)

  • MATH1300 Calculus 1
  • MATH2300 Calculus 2

Sequence 2

  • APPM1350 Calculus 1 for Engineers
  • APPM1360Calculus 2 for Engineers

Sequence 3

  • APPM1340 Calculus 1 with Algebra, Part A
  • APPM1345 Calculus 1 with Algebra, Part B
  • APPM1360 Calculus 2 for Engineers
Select one of the following courses (3):
  • CSCI2824Discrete Structures
  • MATH 2001 Introduction to Discrete Mathematics
  • APPM3170Discrete Applied 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. CSCI 2824 is not approved for MATH courses that require MATH 2001;students may seek instructor approval to take such courses but admission is not guaranteed.

Select one of the following courses (3-4):

Linear Algebra

  • Linear Algebra with Computer Science Applications
  • orIntroduction to Linear Algebra for Non-Mathematics Majors
  • orIntroduction to Linear Algebra for Mathematics Majors
  • orMatrix Methods and Applications

Probability/Statistics

  • Introduction to Data Science with Probability and Statistics
  • orIntroduction to Probability and Statistics
  • orIntroduction to Probability Theory
  • orApplied Probability
  • orApplied Probability
  • orIntroduction to Statistics with Computer Applications
  • orStatistical Methods and Application I

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.

Logic (3)

Select one of the following logic courses:

  • Critical Thinking
  • orSymbolic Logic

Ethics (3)

Select one of the following ethics courses:

  • Ethics
  • orContemporary Social Problems
  • or Ethics and Information Technology
  • orMastery in Information Science: Ethical and Policy Dimensions of Information and Technology
  • or Computing, Ethics and Society

Upper Division PHIL Logic or Ethics courses may be substituted by petition.

Optional CS Senior Capstone / Honors Thesis

BA students are eligible to participate in the Software Engineering Project or Entrepreneurial Project courses, provided they meet the following criteria.

Software Engineering Project

  • CSCI 4308-4, Software Engineering Project 1 (fall)
  • CSCI 4318-4, Software Engineering Project 2 (spring)

Entrepreneurial Project

  • CSCI 4348-4, Startup Essentials: Entrepreneurial Project1
  • CSCI 4358-4, Entrepreneurial Project2

Either sequence must be taken contiguously and may not be taken before the senior year.

To participate in either option, BA students must have taken the following courses:
  • CSCI 1300-4 (or equivalent)
  • CSCI 2270-4
  • CSCI 2400-4
  • CSCI 2824-3 (or other discrete math option)
  • CSCI 2820-3 (or other linear algebra option)
  • CSCI 3308-3, Software Development Methods and Tools
  • CSCI 3155-4, Principles of Programming Languages
  • At least two CS upper division courses (BA core preferred) in addition to CSCI 3308 and CSCI 3155 – 6-8 hours
  • TOTAL at least 31 hours in the major

Other requirements:Back to Top

  • GPA 3.0 or better in CSCI
  • Completed upper division writing course
  • Must have fall and spring semesters remaining in academic plan.

If you meet theabove criteria and want to apply for the upcoming fall, make an appointment with the BA advisor to review your degree audit. If you are not about to start your senior year, but have an interest in Senior Capstonefor the future, use the criteria as guidelines for your upcoming course plans.

Senior Capstoneare controlled enrollment courses. The CS department will give priority to BS students for whom they are a requirement. BA students taking them for elective credit will be enrolled with instructor approval on a space-available, first-come, first-served basis.

BA students can enroll in CSCI 4900-3 Independent Study followed by CSCI 4960-3 Computer Science Honors Thesis for two semesters (total 6 hours), conduct exploratory research in computer science, and complete and defend an A&S Honors Thesis as part of the A&S Honors Program. Visit the or contact Shiv Mishra for more details

Additional Policies and Requirements

BA students are part of the College of Arts and Sciences and are subject to the requirements of that college.

Satisfying course requirements for the Computer Science BA major and A&S Core typically leaves about 20 hours for “free elective” courses. Students often need to complete free electives as upper division A&S Coursework to meet the degree requirement of 30 hours upper division A&S course work, even though courses from any CU Boulder college can be counted as free elective hours. Discuss any questions you have about these requirements with your academic advisor.

CSCI courses that are approved to count for uppper division A&S hours are listed in the Degree Audit with the Computer Science Major Required Courses. As of Fall 2017 only the following CSCI courses are approved for upper division A&S credit: CSCI 3104, 3155, 3202, 3434, 3702, 4314, 3656.

Graduating in Four Years

Consult the four-year guarantee requirements for information on eligibility. The concept of "adequate progress" as it is used here only refers to maintaining eligibility for the four-year guarantee; it is not a requirement for the major. To maintain adequate progress toward a BA in computer science, students should meet the following requirements:

  • Declare the computer science BA major and have taken Calculus 1 andby the end of their second semester.
  • Consult with a major advisor to determine adequate progress toward completion of the major and meeting upper-division Arts and Sciences requirements.