Enrolled in the minor before fall 2019? View your requirements

Computational skills are highly sought-after in almost every career field imaginable. The computer science minor at CU Boulder allows students to first learn foundational computing skills, and then to explore a wide variety of computing topics through their Upper-Division CSCI Electives. Possible topics of study include software development, human-computer interaction, computer systems and networks, and data science and artificial intelligence.

Any CU Boulder undergraduate student can earn a minor in computer science, except those with a declared major in computer science (BA or BS).

Allow six semesters to fulfill the requirements for a CS minor. To avoid delaying graduation, begin no later than sophomore year and consider completing summer courses if needed.

Declaring the Minor

Once you have completed the prerequisites outlined below, and if you have a cumulative grade point average of 2.250 or above, please see Computer Science Academic Advisor Lindsey Morford during Monday 1-3 p.m. drop-in hours or other drop-in hours posted in your Buff Portal. Lindsey's office is ECOT 625. Please bring the College of Engineering & Applied Science Change of Major form with you.

UPDATE: Due to COVID-19, Lindsey is working remotely. Please reach out to her via email, tell her that you want to declare the CSCI minor, and ask her to initiate an electronic “Change of Major” form for you to electronically sign and forward to your primary advisor. Do NOT complete and submit the Change of Major PDF form to her first, or have your primary advisor initiate the form, as this could delay processing of your request. Please do not hesitate to reach out with any questions or concerns. Thank you!

Students in the College of Engineering & Applied Science will also need to obtain a signature from your primary major advisor. Completed Change of Major forms should be delivered to the Dean’s Office in ECAD 100.

You can also email Lindsey with questions or concerns about the minor, or for your requirements if you declared the minor before fall of 2014. 

Students must complete the following before declaring the minor (minimum grade C- except where noted).

  • Calculus 1
    • Options: MATH 1300, MATH 1310, APPM 1350, APPM 1340+1345
  • Calculus 2
    • Options: MATH 2300 or APPM 1360
  • Intro Computing
    • Options: CSCI 1300, CSCI 1320, ECEN 1310, ASEN 1320 (minimum grade B- for ASEN 1320)
    • Note: CHEN 1310 is not approved for this requirement.
  • Data Structures
    • CSCI 2270


Calculus 1 and 2 are required, but do not count toward the 21 computer science credit hours required for the minor. CSCI classes might have additional prerequisites that are not part of the minor; all prerequisites are enforced. See the course catalog for course descriptions and prerequisites.

Please note that while CSCI 2824 (Discrete Structures) or ECEN 2703 (Discrete Math for Computer Engineers) are no longer required courses for the CSCI minor as of fall 2019, both CSCI 3104 (Algorithms) and CSCI 3155 (Principles of Programming Languages) require a discrete mathematics course as a prerequisite. Students who want to take either of these courses as their Core option will need to plan to take an approved discrete mathematics prerequisite course in addition to the course requirements for the minor. Taking an approved discrete mathematics prerequisite course is also encouraged because it significantly increases the number of course options students have for completing their Upper-Division CSCI Electives.

Please note that many computer science courses require linear algebra or probability and statistics, as well as discrete math, as prerequisites. If these courses are not already included in your major curriculum, you may need to take an additional prerequisite course(s) if you want to take specific Upper-Division CSCI Electives. However, the minor CAN be completed without any additional math coursework, besides the Calculus 1 and 2 minor prerequisites. See the CSCI minor advisor for details.

Each of the following is required (minimum grade C- except where noted):

  • CSCI 1300 (4) Starting Computing (completed before adding the minor)
    • Or CSCI 1320 (4) Starting Computing - Engineering Applications
    • Or ECEN 1310 (4) C Programming for ECE
    • Or ASEN 1320 (4) Aerospace Computing and Engineering Applications (minimum grade B-)
  • CSCI 2270 (4) Data Structures (completed before adding the minor)
  • CSCI 2400 (4) Computer Systems
    • Or CSCI/ECEN 4593 (3) Computer Organization

At least one of the following is required (4 credits, minimum grade C-):

  • CSCI 3104 (4) Algorithms
  • CSCI 3155 (4) Principles of Programming Languages
  • CSCI 3753 (4) Design and Analysis of Operating Systems

Complete at least 5-6 credits of upper-division electives from the list to reach minimum 21 computer science credit hours:

  • CSCI 3002 (4) Fundamentals of Human Computer Interaction  
  • CSCI 3010 (3) Programming Project Workshop
  • CSCI 3022 (3) Introduction to Data Science with Probability and Statistics  
  • CSCI 3090 (3) Introduction to Quantum Computing
  • CSCI 3104 (4) Algorithms
  • CSCI 3112 (1-3) Human-Centered Computing Professional Development
  • CSCI 3155 (4) Principles of Programming Languages  
  • CSCI 3202 (3) Introduction to Artificial Intelligence
  • CSCI 3287 (3) Design & Analysis of Data Systems
  • CSCI 3302 (3) Introduction to Robotics
  • CSCI 3308 (3) Software Development Methods and Tools
  • CSCI 3352 (3) Biological Networks
  • CSCI 3403 (4) Introduction to CyberSecurity for a Converged World
  • CSCI 3434 (3) Theory of Computation
  • CSCI 3656 (3) Numerical Computation, or APPM/MATH 4650 (3) Intermediate Numerical Analysis I, or MCEN 3030 (3) Computational Methods (only one of these will count)
  • CSCI 3702 (3) Cognitive Science
  • CSCI 3753 (4) Design & Analysis of Operating Systems
  • CSCI 3832 (3) Natural Language Processing
  • CSCI 4022 (3) Advanced Data Science
  • 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 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) Dynamic Models in Biology 
  • CSCI 4413 (3) Computer Security and Ethical Hacking
  • CSCI 4446 (3) Chaotic Dynamics
  • CSCI 4448 (3) Object-Oriented Analysis and Design
  • CSCI 4502 (3) Data Mining
  • CSCI 4555 (3) Compiler Construction
  • CSCI 4576 (4) High-Performance Scientific Computing
  • CSCI 4593 (3) Computer Organization
  • CSCI 4622 (3) Machine Learning
  • CSCI 4753 (3) Computer Performance Modeling
  • CSCI 4802 (1) Data Science Team Companion Course
  • CSCI 4809 (3) Computer Animation
  • CSCI 4830 (3) Special Topics in Computer Science; topics vary by semester.
  • CSCI 4831 (3) Special Topics in Algorithms; topics vary by semester.
  • CSCI 4849 (3) Input, Interaction, and Accessibility
  • CSCI 4889 (3) Interactive Machine Learning for Customizable and Expressive Interfaces

Completing the Minor

Refer to your degree audit to confirm completion of the minor. If you have questions about completing the minor please contact a Computer Science advisor.

Additional Policies & Requirements

At least three computer science classes must be taken on the CU Boulder campus. At least two of these three must be at the upper-division level.

A grade point average (GPA) of 2.250 or better is required in the courses used to complete this minor.

A grade of C- or better is required for all prerequisites, as well as required courses (CSCI 1300, CSCI 2270, CSCI 2400, choice of CSCI 3104 or CSCI 3155 or CSCI 3753), except ASEN 1320 which requires a grade of B- or better.

A grade of D- or better is required for additional computer science electives.