The goal of the Department of Computer Science is to prepare students for an intriguing and satisfying career in computer science in industry, research, or academia. The huge number of technical jobs and the continuing shortage of people to fill them mean that opportunities are great for today's computer science graduates when seeking career options or to continue on to graduate school.

The BS degree program in computer science emphasizes knowledge and awareness of computing at all levels, from circuits and computer architecture through operating systems and programming languages to large application systems; the theoretical and mathematical aspects of computing; the interdependence of hardware and software; and the challenge of large-scale software production and the engineering principles used to meet that challenge. Students may choose to take classes that touch on a wide variety of computing topics, or may select classes that focus on a particular specialization.

For more information, visit the department's BS Degree webpage.

Western Colorado University/University of Colorado Boulder Partnership Program (Computer Science)

Western Colorado University (Western) and CU Boulder have created a partnership to deliver specific engineering and computer science baccalaureate programs in their entirety in Gunnison, Colorado. The first two years of coursework are taught by Western faculty and the second two years of coursework are taught by CU Boulder faculty located in Gunnison. Students completing the programs will be awarded a Bachelor of Science from CU Boulder.

Degrees are offered in mechanical engineering and computer science, with additional details on the Computer Science and Mechanical Engineering partnership websites.

Coursework requirements and plans of study specific to this partnership can be found on the Western Colorado University computer science partnership website. Learn more about this program on the CU Boulder partnership website.

Requirements

Requirements for the BS degree in computer science include coursework in computer science, mathematics, natural science, and the humanities and social sciences, as well as free elective coursework. Students must meet the graduation requirements of earning the BS degree as laid out by the College of Engineering and Applied Science.

The degree provides considerable freedom in the selection of specific courses to fulfill these requirements, allowing students to tailor the degree to their individual needs and interests.

A student may not earn both a BS degree in computer science and a BA degree in computer science from CU Boulder. A student may not earn a bachelor's degree in computer science and a minor in computer science from CU Boulder.

For more information, visit the department's BS Degree webpage.

Course Requirements

Computer Science Foundation
CSCI 1000Computer Science as a Field of Work and Study1
or ASEN 1000 Introduction to Aerospace Engineering Sciences
or BMEN 1000 Exploring Biomedical Engineering
or CHEN 1300 Introduction to Chemical Engineering
or COEN 1500 CEAS Design Lab: Engineering Your Life
or CSCI 1000 Computer Science as a Field of Work and Study
or CVEN 1317 Introduction to Civil and Environmental Engineering
or ECEN 1100 Exploring ECE
or EVEN 1000 Introduction to Environmental Engineering
CSCI 1300Computer Science 1: Starting Computing (ASEN 1320 requires minimum grade of B-)4
or ASEN 1320 Aerospace Computing and Engineering Applications
or ECEN 1310 C Programming for ECE
CSCI 2270Computer Science 2: Data Structures4
CSCI 2400Computer Systems4
CSCI 3104Algorithms4
CSCI 3155Principles of Programming Languages4
CSCI 3308Software Development Methods and Tools3
Computer Science Core15-18
Select five courses from approved list below; exact number of credit hours earned may vary based on courses selected.
Fundamentals of Human Computer Interaction
Introduction to Artificial Intelligence
Design and Analysis of Database Systems
Introduction to Robotics
Introduction to CyberSecurity for a Converged World
Theory of Computation
Numerical Computation
Numerical Methods and Scientific Computing
Computational Methods
Design and Analysis of Operating Systems
Advanced Data Science
Network Systems
Object-Oriented Analysis and Design
Computer Science Electives7-12
Select additional approved coursework to bring total Computer Science credit hours to at least 58. 1
Senior Capstone
CSCI 4308
CSCI 4318
Software Engineering Project 1
and Software Engineering Project 2
8
or CSCI 4348
CSCI 4358
Startup Essentials: Entrepreneurial Projects in Computing
and Entrepreneurial Projects II
or CSCI 4950
CSCI 3100
Senior Thesis
and Software and Society
or CSCI 4368
& CSCI 4378
Multidisciplinary Design Project 1
and
Mathematics
APPM 1350Calculus 1 for Engineers4
or MATH 1300 Calculus 1
or APPM 1345 Calculus 1 with Algebra, Part B
APPM 1360Calculus 2 for Engineers4
or MATH 2300 Calculus 2
CSCI 2824Discrete Structures3
or ECEN 2703 Discrete Mathematics for Computer Engineers
or APPM 3170 Discrete Applied Mathematics
or MATH 2001 Introduction to Discrete Mathematics
CSCI 2820Linear Algebra with Computer Science Applications3
or MATH 2130 Introduction to Linear Algebra for Non-Mathematics Majors
or MATH 2135 Introduction to Linear Algebra for Mathematics Majors
or MATH 3130 Introduction to Linear Algebra
or MATH 3135 Honors Introduction to Linear Algebra
or APPM 3310 Matrix Methods and Applications
CSCI 3022Introduction to Data Science with Probability and Statistics3
or APPM 3570 Applied Probability
or APPM 4570
or CHEN 3010 Applied Data Analysis
or CVEN 3227 Probability, Statistics and Decision
or ECEN 3810 Introduction to Probability Theory
or ECON 3818 Introduction to Statistics with Computer Applications
or MATH 3510 Introduction to Probability and Statistics
or MATH 4510 Introduction to Probability Theory
or STAT 3100 Applied Probability
or STAT 4000 Statistical Methods and Application I
Logic & Ethics
Logic
PHIL 1440Critical Thinking3
or PHIL 2440 Symbolic Logic
Ethics
PHIL 1100Ethics3
or PHIL 1160 Introduction to Medical Ethics
or PHIL 1200 Contemporary Social Problems
or PHIL 2160 Ethics and Information Technology
or CSCI 2750 Computing, Ethics and Society
or INFO 4601 Ethical and Policy Dimensions of Information and Technology
or ENLP 2000 Leadership, Fame and Failure
or EHON 1151 Critical Encounters
or ENES 2020 The Meaning of Information Technology
or HONR 2250 Ethics of Ambition
Humanities/Social Sciences/Writing 218
Natural Science
PHYS 1110General Physics 14
or PHYS 1115 General Physics 1 for Majors
PHYS 1120
PHYS 1140
General Physics 2
and Experimental Physics 1
5
or PHYS 1125
PHYS 1140
General Physics 2 for Majors
and Experimental Physics 1
or CHEN 1201
CHEM 1114
General Chemistry for Engineers 1
and Laboratory in General Chemistry 1
or CHEN 1211
CHEM 1221
Accelerated Chemistry for Engineers
and Engineering General Chemistry Lab
or CHEM 1113
CHEM 1114
General Chemistry 1
and Laboratory in General Chemistry 1
or EBIO 1210
EBIO 1230
General Biology 1
and General Biology Laboratory 1
or MCDB 1150
MCDB 1161
Introduction to Cellular and Molecular Biology
and From Dirt to DNA: Phage Genomics Laboratory I
or MCDB 1150
MCDB 1171
Introduction to Cellular and Molecular Biology
and Antibiotics Discovery Through Hands-on Screens I
Natural Science Electives8-9
Additional natural science electives to reach 17 credits, number of credits needed may vary based on natural science sequence completed. See department website for list of approved courses.
Free Electives16
Additional coursework to bring cumulative total credit hours to at least 128, number of credits needed may vary based on options selected to complete other requirements.
Total Credit Hours128-137

Recommended Four-Year Plan of Study

Plan of Study Grid
First Year
Fall SemesterCredit Hours
APPM 1350 Calculus 1 for Engineers 4
CSCI 1000 Computer Science as a Field of Work and Study 1
CSCI 1300 Computer Science 1: Starting Computing 4
Humanities and social sciences elective 1 3
Natural Science Elective 3
 Credit Hours15
Spring Semester
APPM 1360 Calculus 2 for Engineers 4
CSCI 2270 Computer Science 2: Data Structures 4
PHYS 1110 General Physics 1 4
Logic 3
 Credit Hours15
Second Year
Fall Semester
CSCI 2400 Computer Systems 4
CSCI 2824 Discrete Structures (or other approved course) 3
CSCI 3308 Software Development Methods and Tools 3
Natural science elective 3
Ethics 3
 Credit Hours16
Spring Semester
CSCI 3104 Algorithms 4
CS core course from approved core list (1 of 5) 3
CSCI 2820 Linear Algebra with Computer Science Applications (or other approved course) 3
Natural science elective 3
Humanities and social sciences elective 1 3
 Credit Hours16
Third Year
Fall Semester
CSCI 3155 Principles of Programming Languages 4
CS core course from approved core list (2 of 5) 3
CS core course from approved core list (3 of 5) 3
CSCI 3022 Introduction to Data Science with Probability and Statistics (or other approved course) 3
College-approved writing course 2 3
 Credit Hours16
Spring Semester
CS core course from approved core list (4 of 5) 4
CS core course from approved core list (5 of 5) 3
Natural science sequence option 5
Humanities and social sciences elective 1 3
Free Elective 3
 Credit Hours18
Fourth Year
Fall Semester
CSCI Senior Capstone I 4
Computer Science elective 3 3
Computer Science elective 3
Humanities and social sciences elective 1 3
Free elective 3
 Credit Hours16
Spring Semester
CSCI Senior Capstone II 4
Computer science elective 3
Computer science elective 3
Humanities and social sciences elective 1 3
Free elective 3
 Credit Hours16
 Total Credit Hours128

Learning Outcomes

Upon graduation, students are expected to be able to:

  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  • Communicate effectively in a variety of professional contexts.
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. 

Program Educational Objectives

Within 3–5 years after graduating with a Bachelor of Science degree in computer science, our graduates will be:  

  • Broadly educated and versatile. Able to draw upon foundational knowledge, learn, adapt and successfully bring to bear analytical and computational approaches on changing societal and technological challenges.
  • Inspiring and collaborative. Are leaders and responsible citizens whose strengths come from an ability to draw on and contribute to diverse teams, expertise and experiences.
  • Innovative. Drive scientific and societal advancement through technological innovation and entrepreneurship.
  • Engaged. Are engaged with the University of Colorado, the state of Colorado and technical and scientific professional communities.

Bachelor's–Accelerated Master's Degree Program(s)

The bachelor's–accelerated master's (BAM) degree program options offer currently enrolled CU Boulder undergraduate students the opportunity to receive a bachelor's and master's degree in a shorter period of time. Students receive the bachelor's degree first, but begin taking graduate coursework as undergraduates (typically in their senior year).

Because some courses are allowed to double count for both the bachelor's and the master's degrees, students receive a master's degree in less time and at a lower cost than if they were to enroll in a stand-alone master's degree program after completion of their baccalaureate degree. In addition, staying at CU Boulder to pursue a bachelor's–accelerated master's program enables students to continue working with their established faculty mentors.

The following BAM programs are available with the BS in computer science:

  • BS and MS in Computer Science
  • BS in Computer Science, MS in Computational Linguistics, Analytics, Search and Informatics
  • BS in Computer Science, MS in Data Science
  • BS in Computer Science, MS in Network Engineering

Admissions Requirements

BS and MS in Computer Science

In order to gain admission to the BAM program named above, a student must meet the following criteria:

  • Have a cumulative GPA of 3.50 or higher.
  • Have completed all prerequisite courses with grades of B or better:
CSCI 1300Computer Science 1: Starting Computing4
CSCI 2270Computer Science 2: Data Structures4
CSCI 2400Computer Systems4
CSCI 3104Algorithms4
or CSCI 3434 Theory of Computation
CSCI 3155Principles of Programming Languages4
or CSCI 3753 Design and Analysis of Operating Systems
  • Students who do not meet the first two criteria, must have one letter of reference from a faculty member or their undergraduate academic advisor outlining why they should be considered. The letter-writer should send their letter directly to gradadms@cs.colorado.edu.
  • Have at least junior status within the bachelor’s degree program.

BS in Computer Science, MS in Computational Linguistics, Analytics, Search and Informatics

In order to gain admission to the BAM program named above, a student must meet the following criteria:

  • Have a cumulative GPA of 3.50 or higher.
  • Have completed all prerequisites with grades of B or better:
CSCI 1300Computer Science 1: Starting Computing4
CSCI 2270Computer Science 2: Data Structures4
CSCI 3104Algorithms4
or CSCI 3022 Introduction to Data Science with Probability and Statistics
LING 2000Introduction to Linguistics3
CSCI 3832/5832Natural Language Processing3
or CSCI 3202/4622 Introduction to Artificial Intelligence
One of the following during the semester the student applies:
Semantics and Pragmatics
Morphology and Syntax
Linguistic Phonetics
  • Have at least junior status within the bachelor's degree program.
  • Provide two letters of reference, one from the instructor of the LING 5XXX course they are taking during the semester they apply, the other from an instructor from an upper-division course in Computer Science. Letters should be sent directly to the CLASIC Program Coordinator.

BS in Computer Science, MS in Data Science

In order to gain admission to the BAM program named above, a student must meet the following criteria:

  • Have a cumulative GPA of 3.250 or higher. 
  • Have completed all prerequisite courses with grades of B or better:
CSCI 1300Computer Science 1: Starting Computing4
CSCI 2270Computer Science 2: Data Structures4
CSCI 2400Computer Systems4
CSCI 3022Introduction to Data Science with Probability and Statistics3
CSCI 3308Software Development Methods and Tools3
  • Have at least junior status within the bachelor’s degree program.
  • Students may submit their intent to apply during the term they are completing their final class from the list of prerequisites.

BS in Computer Science, MS in Network Engineering

In order to gain admission to the BAM program named above, a student must meet the following criteria:

  • Have a cumulative GPA of 3.300 or higher
  • Have completed the following prerequisite courses with a B or better. (If a student has transfer credit for one of the following courses, or has taken a commonly accepted course substitution for one of the above courses, their grade in that alternate course can be used to determine their eligibility for this BAM program.)
CSCI 1300Computer Science 1: Starting Computing4
CSCI 2270Computer Science 2: Data Structures4
CSCI 2400Computer Systems4
CSCI 3403Introduction to CyberSecurity for a Converged World4
CSCI 3753Design and Analysis of Operating Systems4
  • Have at least junior status within the bachelor’s degree program.
  • Students may submit their intent to apply during the term they are completing their final class from the list of prerequisites.
  • If a student not have at least a 3.3 cumulative GPA or required prerequisite courses, they must have one letter of reference from a faculty member or their academic advisor outlining why they should be considered. The letter-writer should send their letter directly to nteng@colorado.edu.

Program Requirements

Students may take up to and including 12 hours while in the undergraduate program which can later be used toward the master's degree. However, only 6 credits may be double-counted toward the bachelor's degree and the master's degree. Students must maintain a 3.000 GPA while in the BAM program.

Students must apply to graduate with the bachelor's degree, and apply to continue with the master's degree, early in the semester in which the undergraduate requirements will be completed.

Please see the computer science accelerated master's webpage for more information.