Breadcrumb
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, plus possible summer classes, to fulfill the requirements for a CSCI minor. To avoid delays to graduation, students should begin taking classes toward the minor no later than the first semester of their sophomore year.
While we strive to accommodate as many students as possible, the Department of Computer Science is not responsible for resolving scheduling conflicts that may arise as students are completing the minor.
Enrolled in the minor before fall 2019? View your requirements
Requirements & Policies
Declaring the Minor
- Submit by March 1stÌýfor spring requirement term.Ìý
- Submit by June 1stÌýfor summer requirement term.Ìý
- Submit by October 1stÌýfor fall requirement term.
Once you have completed the prerequisites outlined below, please submit theÌý.ÌýAfter the semester’s deadline, the CSCI minor advising team will verify that you have successfully completed the prerequisites and forward your information to the Dean’s Office to have the minor added to your academic plan. Please allow up to a week for the CSCI minor to be added to your record.
Students may notÌýcomplete a computer science (CSMR-MIN) minor if they are also completing a BS in Computer Science, a BA in Computer Science, a BS in Applied Computer Science (post-baccalaureate program), the Computer Science Integration program in Leeds, or a computer engineering (CEMR) minor.
Please reach out toÌýcs-minor@colorado.eduÌýwith any questions or concerns regarding your minor.
Completing the Minor
Refer to your degree audit onÌýto track your progress for the minor. If you have questions about minor requirements or need to request course pointing for your degree audit, please contactÌýcs-minor@colorado.edu.
- CSCI 1300 (4) Starting Computing
- 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
- Calculus 1 (4-5)
- Calculus 2 (4-5)
- Grades of C- or better in prerequisite courses unless otherwise stated.
- ALL prerequisite courses must be completed, with grades posted, before you can complete the form to declare the minor.Ìý
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ÌýÌýfor course descriptions and prerequisites.
Please note:ÌýWhile Discrete Structures (CSCI 2824) or Discrete Math for Computer Engineers (ECEN 2703) are no longer required courses for the CSCI minor as of Fall 2019, both Algorithms (CSCI 3104)Ìýand Principles of Programming Languages (CSCI 3155) require a discrete mathematics course as a prerequisite.
Students who want to take either Algorithms or Principles of Programming Languages 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 for a total of 11–12 credits (minimum grade C- except where noted):
- CSCI 1300 (4) Starting Computing (completed before adding the minor)
- 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 4593/ECEN 3593 (3) Computer Organization
At least one of the following is required with a minimum grade of C-:
- CSCI 3104 (4) Algorithms
- CSCI 3155 (4) Principles of Programming Languages
- CSCI 3753 (4) Design and Analysis of Operating Systems
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.
Complete at least 5–6 credits of upper-division electives from the list to reach a minimum of 21 computer science credit hours.
Note: CSCI 4900 Independent Study does not automatically count as CSCI Upper-Division Elective credit toward the CSCI minor. Students who wish to use CSCI 4900 toward the minor must be approved via the department's petition process. Contact cs-minor@colorado.edu for details.
- 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 3150-3, Universal Design for Digital Media
- CSCI 3155 (4) Principles of Programming Languages Ìý
- CSCI 3202 (3) Introduction to Artificial Intelligence
- CSCI 3287 (3) Design & Analysis of Database 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 4118-3, Software Engineering for Scientists
- CSCI 4122 (3) Information Visualization
- CSCI 4200-3, Introduction to Wireless Systems
- CSCI 4229 (3) Computer Graphics
- CSCI 4239 (3) Advanced Computer Graphics
- CSCI 4240-3, Introduction to Blockchain
- 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 4616-3, Introduction to Virtual Reality
- 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
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.
In order to graduate, a grade point average (GPA) of at least 2.000 (prior to December 2021, this threshold was 2.250) 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.