2016-17 Curriculum Guide
Students must complete the Foundation, Core, Capstone as well as Computer Science electives to make the 58 required hours. All CSCI course prerequisites are enforced; see the for details.
CS Requirements | Mathematics Requirements | Natural Science Requirements | Humanities, Social Sciences & Writing Requirements | Additional Policies & Requirements
Computer Science
- CSCI1000-1, Computer Science as a Field of Work and Study
- CSCI1300-4, Computer Science 1: Starting Computing (or equivalent)
- CSCI2270-4, Computer Science 2: Data Structures
- CSCI2400-4, Computer Systems
- CSCI3104-4, Algorithms
- CSCI3155-4, Principles of Programming Languages
- CSCI 3308-3, Software Development Methods and Tools
- CSCI3002-4, Fundamentals of Human Computer Interaction
- CSCI 3010-3, Programming Project Workshop
- CSCI 3090-3, Introduction to Quantum Computing
- CSCI3202-3,Introduction to Artificial Intelligence
- CSCI3287-3,Design & Analysis of Database Systems
- CSCI 3302-3, Introduction to Robotics
- CSCI 3352-3, Biological Networks
- CSCI 3403-4, Introduction to CyberSecurity for a Converged World
- CSCI3434-3,Theory of Computation
- CSCI3656-3,Numerical Computationor APPM 4650,Intermediate Numerical Analysis 1 (only one of these will count towards the CSEN-BS)
- CSCI3702-3,Cognitive Science
- CSCI3753-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
- CSCI4229-3,Computer Graphics
- CSCI 4239-3,Advanced Computer Graphics
- CSCI 4253-3, Datacenter Scale Computing
- CSCI4273-3,Network Systems
- CSCI 4302-3,Advanced Robotics
- CSCI 4314-3, Dynamic Models in Biology (formerly Algorithms for Molecular Biology)
- CSCI 4413-3, Computer Security & Ethical Hacking
- CSCI4446-3,Chaotic Dynamics
- CSCI4448-3,Object-Oriented Analysis and Design
- CSCI 4502-3,Data Mining
- CSCI4555-3,Compiler Construction
- CSCI4576-4,High-Performance Scientific Computing
- CSCI4593-3,Computer Organization
- CSCI 4616-3, Introduction to Virtual Reality
- CSCI 4622-3, Machine Learning
- CSCI4753-3,Computer Performance Modeling
- CSCI4809-3,Computer Animation
- CSCI 4849-3, Input, Interaction, and Accessibility
- CSCI 4889-3, Interactive Machine Learning for Customizable and Expressive Interfaces
- ECEN2350-3,Digital Logic
- TLEN 5842-3, Linux Systems Administration (also offered as CSCI 4113, formerly offered as TLEN 5833 Topics; only one of these will count toward the CSEN-BS)
- CSCI 3022-3, Introduction to Data Science with Probability and Statistics (can count for probability/statistics requirement OR CS elective credit, but not both)
- CSCI3112-1,Human-Centered Computing Professional Development
- CSCI 3150-3, Universal Design for Digital Media
- CSCI 4118-3, Software Engineering for Scientists
- CSCI 4122-3, Information Visualization
- CSCI 4200-3, Introduction to Wireless Systems
- CSCI 4240-3, Introduction to Blockchain
- CSCI 4802, Data Science Team Companion Course (up to 3 credits)
- 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 4900-3, Upper Division, Undergraduate Independent Study
- APPM 4120/MATH 4120-3, Introduction to Operations Research
- APPM 4370-3, Computational Neuroscience
- 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, Applied Machine Learning
- INFO 4609-3, Mastery in Information Science: User-Centered Design
- INFO 4611-3, Mastery in Information Science: Ubiquitous Computer Experience Design
- MATH 4440-3, Mathematics of Coding and Cryptography
- MCDB 4520-3, Bioinformatics & Genomics
Software Engineering Project (two semesters: beginning fall, ending spring)
- CSCI4308-4,Software Engineering Project 1and
- CSCI4318-4,Software Engineering Project 2
This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of the college writing requirement, as well as the Computer Science Foundation (24 credit hours) plus Computer Science Core and Elective courses to reach a minimum of 36 Computer Science credit hours.
Entrepreneurial Project(two semesters: beginning fall, ending spring)
- CSCI4348-4,Startup Essentials: Entrepreneurial Projects 1 and
- CSCI 4358-4, Entrepreneurial Projects 2
This sequence must be taken contiguously and may not be taken before the senior year. Prerequisites for Senior Project include the successful completion of the college writing requirement, as well as the Computer Science Foundation (24 credit hours) plus Computer Science Core and Elective courses to reach a minimum of 36 Computer Science credit hours.
Senior Thesis (two semesters: beginning fall, ending spring)
- CSCI4950-4,Senior Thesis
- CSCI4950-4,Senior Thesis
- CSCI 3100-1 Software and Society
Senior Thesis may not be taken before the senior year. Prerequisites for Senior Thesis include the successful completion of the college writing requirement, as well as the Computer Science Foundation (24 credit hours) plus Computer Science Core and Elective courses to reach a minimum of 36 Computer Science credit hours. SeeSenior Thesisfor more information.
Mathematics
Courses in the following four categories are required.
- APPM 1350-4, Calculus 1 for Engineers or MATH 1300-5, Calculus 1
- APPM 1360-4, Calculus 2 for Engineers or MATH 2300-5, Calculus 2
- CSCI2824-3, Discrete Structures
- ECEN2703-3, Discrete Mathematics for Computer Engineers
- APPM3170-3,Discrete Applied Mathematics
- MATH 2001-3, Introduction to Discrete 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.
- CSCI2820-3, Linear Algebra with CS Applications
- MATH 2130-3,Intro to Linear Algebra.
- APPM3310-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.
- APPM4570-3,Statistical Methods
- CSCI 3022-3, Data Science Algorithms(can count for probability/statistics requirement OR CS elective, but not both)
- APPM3570-3, Applied Probability
- APPM4520-3, Introduction to Mathematical Statistics
- CHEN 3010-3, Applied Data Analysis
- CVEN3227-3,Probability, Statistics and Decision
- MATH3510-3, Introduction to Probability and Statistics
- MATH4510-3, Introduction to Probability Theory
- ECEN3810-3, Introduction to Probability Theory.
- ECON 3818-3, Introduction to Statistics w/ Computer Applications
- MCEN4120-3, Engineering Statistics
- STAT 3100-3, Applied Probability
- STAT 4000-3, Statistical Methods and Application I
- Other probability/statistics courses if approved by anundergraduate advisor.
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.
Natural Science
A total of at least 17 credit hours of Natural Science is required.
- PHYS1110-4 General Physics 1 (Calculus-based) REQUIRED
- Complete one of the following sequences:
- PHYS 1120-4, General Physics 2 and PHYS 1140-1, Experimental Physics 1
- CHEN 1211-4, General Chemistry for Engineers and CHEM 1221-1, Engineering General Chemistry lab
- CHEM 1113-4, General Chemistry 1 and CHEM 1114-1, Laboratory in General Chemistry 1(Major restrictions may be enforced by Chemistry department.)
- Complete at least 8 additional hours of acceptable Natural Science electives to make the required 17 hours. Do not repeat any course(s) completed from the above science sequences.
- ASTR 1010-4, Introductory Astronomy 1
- ASTR 1020-4, Introductory Astronomy 2
- ASTR 2030-3, Black Holes
- ASTR 2040-3, The Search for Life in the Universe
- ATOC 1050-3, Weather and the Atmosphere
- ATOC 1060-3, Our Changing Environment: El Nino, Ozone, and Climate
- ATOC 1070-1, Weather and the Atmosphere Laboratory
- CHEN 1211-4, General Chemistry for Engineers —OR— CHEM 1113-4, General Chemistry 1
- CHEM 1221-1, Engineering General Chemistry Lab —OR— CHEM 1114-1, Laboratory in General Chemistry 1
- CHEM 1133-4, General Chemistry 2
- CHEM 1134-1, Laboratory in General Chemistry 2
- COEN 3210-3, Climate Change and Engineering
- EBIO 1030-3, Biology: A Human Approach 1
- EBIO 1040-3, Biology: A Human Approach 2
- EBIO 1210-3, General Biology 1
- EBIO 1220-3, General Biology 2
- EBIO 1230-1, General Biology Laboratory 1
- EBIO 1240-1, General Biology Laboratory 2
- GEOG 1001-4, Environmental Systems 1—Climate and Vegetation
- GEOG 1011-4, Environmental Systems: Landscapes and Water
- GEOL 1010-3, Introduction to Geology
- GEOL 1020-3, Introduction to Earth History
- GEOL 1030-1, Introduction to Geology Laboratory 1
- GEOL 1150-3, Water, Engergy and Environment: An Introduction to Earth Resources
- MCDB 1150-3, Introduction to Cellular and Molecular Biology
- MCDB 1161-2 From Dirt to DNA: Phage Genomics Laboratory I
- MCDB 1171-2 Drug Discovery Through Hands-on Screens I
- PHYS 1120-4, General Physics 2
- PHYS 1140-1, Experimental Physics 1
- PHYS 2130-3, General Physics 3 -OR- PHYS 2170-3, Foundations of Modern Physics
- PHYS 2150-1, Experimental Physics 2
- PSYC 2012-3, Biological Psychology
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.
A grade of C- or better is required in all prerequisite courses to take the subsequent course.
Students may petition to count courses not on the above list as natural science elective credit.
Humanities, Social Science and Writing
A total of at least 24 credit hours of approved coursework in the Humanities and Social Sciences is required.
- Three credits of approved writing:
- ENES 1010-3, Engineering, Ethics and Society (first-year students only, listed as HUEN 1010 prior to Fall 2020)
- ENES 3100-3, Seminar in Engineering, Ethics & Society (listed as HUEN 3100 prior to Fall 2020)
- WRTG 3030-3, Writing on Science and Society
- WRTG 3035-3, Technical Communication and Design
- PHYS 3050-3, Writing in Physics: Problem-Solving and Rhetoric
- other writing courses as approved by the Undergraduate Education Council
- At least six of the remaining 21 credit hours must be at the upper-division undergraduate level or above, i.e. numbered 3000 or above. Upper-division writing does not count towards this 6 credits of upper division coursework. See the for a list of approved courses and more details.
Additional Policies & Requirements
- A cumulative GPA of at least 2.000 (prior to December 2021, this threshold was 2.250) in all CSCI courses taken at CU.
- A cumulative GPA of at least 2.000 (prior to December 2021, this threshold was 2.250) in all courses attempted at CU.
- A cumulative GPA of at least 2.000 (prior to December 2021, this threshold was 2.250) in all CU courses used to satisfy graduation requirements.
Students need to have the following grades in individual courses:
- A grade of C- or better is required in each Computer Science Foundation course, as well as in each course used to satisfy the Computer Science Core and Capstone.
- 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.
- A student may not enroll more than three times in a course that applies towards degree requirements; furthermore, after the third attempt, a student may not substitute an equivalent course. See the from the College of Engineering and Applied Science for more detail.
- The department allows courses counting as free electives to be taken pass/fail. Students must petition the department to take a course pass/fail. The College of Engineering and Applied Science has further restrictions on taking a course Pass/Fail. These restrictions are outlined in the college's .
- The last 45 credit hours toward the degree must be earned on the Boulder campus after admission to the College of Engineering and Applied Science.
- Study abroad courses through a CU Boulder-approved study abroad program are considered resident courses.
- In addition, the courses used to fulfill the Senior Capstone requirement in Computer Science must be taken on the Boulder campus.