In addition to the requirements you must fulfill for the computer science BA, the College of Arts and Sciences requires you to complete approximately 40 semester hours of credit in the core curriculum. Credits in the major may also apply toward these core hours. The core curriculum is designed to provide you with a broad liberal arts education. Courses in the core are distributed through three skills acquisition areas and seven content areas of study. Please refer to the A&S Core Curriculum for more details.

Note: BA students are encouraged to take as many A&S Core classes as upper division (3000 and above) as possible to help in meeting the A&S degree requirement for 30 hours of upper division A&S coursework. Contact the BA advisor if you have questions about this requirement.

Sample 4-Year Curriculum

Computer Science Requirements | Optional Computer Science Capstone / Honors Thesis | Mathematics Requirements | Additional Policies & Requirements

Computer Science

All of the following courses are required:
  • CSCI 1300-4, Computer Science 1: Starting Computing (or equivalent)
  • CSCI 2270-4, Computer Science 2: Data Structures
  • CSCI 2400-4, Computer Systems

Four of the following are required:
  • CSCI 3002-3, Human-Centered Computing Foundations/User-Centered Design & Development
  • CSCI 3104-4, Algorithms*
  • CSCI 3155-4, Principles of Programming Languages*
  • CSCI 3202-3, Introduction to Artificial Intelligence*
  • CSCI 3287-3, Design &Analysis of Data Systems
  • CSCI 3308-3, Software Development Methods and Tools
  • CSCI 3434-3, Theory of Computation*
  • CSCI 3656-3, Numerical Computation* or APPM/MATH 4650, Intermediate Numerical Analysis (only one course will count toward CSCI-BA)
  • CSCI 3753-4, Design & Analysis of Operating Systems
  • CSCI 4448-3, Object Oriented Analysis and Design

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

Additional courses from the below list to bring the total number of computer science credit hours to 42 or more:
  • CSCI 3112-1, Human-Centered Computing Professional Development
  • CSCI 3022-3, Data Science Algorithms (can count for probability/statistics requirement OR upper division CS elective credit, but not both)
  • CSCI 3302-3, Introduction to Robotics
  • CSCI 3702-3, Cognitive Science*
  • CSCI 3832-3, Machine Translation
  • CSCI 4229-3, Computer Graphics
  • CSCI 4239-3, Advanced Computer Graphics
  • CSCI 4253-3, Datacenter Scale Computing
  • CSCI 4273-3, Network Systems
  • CSCI 4302-3, Advanced Robotics
  • CSCI 4314-3, Algorithms for Molecular Biology*
  • CSCI 4413-3, Computer Security & Ethical Hacking
  • CSCI 4446-3, Chaotic Dynamics
  • CSCI 4502-3, Data Mining
  • CSCI 4555-3, Compiler Construction
  • CSCI 4576-4, High-Performance Scientific Computing 1
  • CSCI 4586-4, High-Performance Scientific Computing 2
  • CSCI 4593-3, Computer Organization
  • CSCI 4753-3, Computer Performance Modeling
  • CSCI 4809-3, Computer Animation
  • CSCI 4830-3, Special Topics in Computer Science
  • CSCI 4831-3, Special Topics in Algorithms
  • CSCI 4900-3, Upper Division, Undergraduate Independent Study
  • APPM 4120-3 / MATH 4120-3, Introduction to Operations Research
  • ATLS 4120-3, Mobile Application Development (formerly offered as ATLS 4519 Special Topics: Mobile App Dev; only one of these will count toward the CSCI-BA)
  • 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 CSCI-BA)
  • 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 CSCI-BA)
  • INFO 4602-3, Information Visualization
  • INFO 4871-3, Experience Design in Ubicomp
  • MATH 4440-3, Mathematics of Coding and Cryptography
  • TLEN 5460-3, Telecommunication Systems Laborartory (formerly CSCI 4123)
  • TLEN 5540-3, Network Secutiry Laboratory (formerly CSCI 4133)
  • TLEN 5842-3, Linux Systems Administration (formerly CSCI 4113 or TLEN 5830 Special Topics; only one of these will count toward the CSCI-BA)

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.

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 Projects 1
  • CSCI 4358-4, Entrepreneurial Projects 2

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 the above 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 Capstone for the future, use the criteria as guidelines for your upcoming course plans. 

Senior Capstone are 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 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 A&S Honors Program webpage or contact Shiv Mishra for more details

Mathematics

The BA requires two semesters of calculus, one discrete mathematics course and an additional math course in either linear algebra or probability/statistics (calculus-based). Completing both linear algebra and probability/stats is encouraged. Any course starting with CSCI used to complete these requirements/options will count towards the overall 42 hours of CS coursework for the major.

Must take Calculus 1 and 2, can interchange APPM and MATH courses:
  • APPM 1350-4, Calculus 1 for Engineers; MATH 1300-5 Calculus 1; MATH 1310, Calculus, Systems and Modeling
  • APPM 1360-4 , Calculus 2 for Engineers, MATH 2300-5 Calculus 2

Take one of the following courses:
  • CSCI 2824-3, Discrete Structures
  • MATH 2001-3, Introduction to Discrete Mathematics
  • APPM 3170-3, Discrete 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

BA students are required to take one course in either linear algebra or probability/statistics (calculus-based). Completing both linear algebra and probability/stats is encouraged, however.

Options for linear algebra include:

  • CSCI 2820-3, Linear Algebra with CS Applications
  • MATH 2130-3, Introduction to Linear Algebra for Non-Mathematics Majors
  • MATH 2135-3, Introduction to Linear Algebra for Mathematics Majors
  • MATH 3130-3, Introduction to Linear Algebra (no longer offered)
  • MATH 3135-3, Honors Introduction to Linear Algebra (no longer offered)
  • APPM 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.

BA students are required to take one course in either linear algebra or probability/statistics (calculus-based). Completing both linear algebra and probability/stats is encouraged, however.

Options for probability/statistics include:

  • CSCI 3022-3, Introduction to Data Science Algorithms
  • MATH 3510-3, Introduction to Probability and Statistics
  • MATH 4510-3, Introduction to Probability Theory
  • APPM 3570-3, Applied Probability
  • APPM 4570-3, Statistical Methods
  • ECON 3818-4, Introduction to Statistics w/ Computer 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.

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.

Students need to have the following grade point averages:
  • A cumulative GPA of 2.0 or better in all CSCI courses taken at CU
  • A cumulative GPA of 2.0 or better in all CU courses used to satisfy graduation requirements
  • A grade of C- or better is needed in all prerequisite courses to take a subsequent course

The minimum passing grade for a course that is considered a prerequisite for another required course is C-. If a grade of D+ or lower is received in a course which is prerequisite to another, the student is required to repeat the course until the minimum acceptable course grade has been earned. If a student takes the advanced course, it does not remove the obligation to repeat the prerequisite course, even if the grade earned in the advanced course is a C- or above. In general, aside from the above restrictions, any passing grade (i.e. a D- or better) is acceptable to fulfill a degree requirement. Different restrictions may apply for foreign language courses.

For A&S students, at least 45 hours must be completed on the Boulder campus. For A&S students, at least 30 upper division hours in Arts and Sciences must be completed after matriculation into the college. These hours may include courses from non-A&S departments (such as CS) that have been explicitly approved to meet this requirement.

[expandable]Students must meet all MAPS requirements or complete MAPS deficiencies. Visit the Undergraduate Admissions MAPS page for more information.

The College of Arts and Science recommends that you apply for graduation by going to MyCUInfo the semester before the semester you plan to graduate. Check with your undergraduate advisor to see if you have completed the degree requirements.