Enrolled in the minor before fall 2019? View your requirements

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.

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 (all minimum grade C-).

  • 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
    • Note: CHEN 1310 is not approved for this requirement.
  • Data Structures
    • CSCI 2270

Requirements

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.

Each of the following is required:

  • 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
  • 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):

  • 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 (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 (also 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).

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