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 continuing 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.

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 and Biological Engineering
or CVEN 1317 Introduction to Civil and Environmental Engineering
or ECEN 1100 Exploring ECE
or EVEN 1000 Introduction to Environmental Engineering
or MCEN 2000 Mechanical Engineering as a Profession
CSCI 1300Computer Science 1: Starting Computing4
or ECEN 1310 Introduction to C Programming
CSCI 2270Computer Science 2: Data Structures4
or CSCI 2275 Programming and Data Structures
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
Intermediate Numerical Analysis 1
Computational Methods
Design and Analysis of Operating Systems
Advanced Data Science
Network Systems
Object-Oriented Analysis and Design
Computer Science Electives10-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 Multidisciplinary Design Project 2
or CSCI 4550
CSCI 4580
Designing for Defense 1
and Designing for Defense 2
Mathematics
APPM 1350Calculus 1 for Engineers4
or MATH 1300 Calculus 1
or MATH 1310 Calculus for Life Sciences
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 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 Information Ethics and Policy
or ENLP 2000 Leadership, Fame and Failure
or EHON 1151 Critical Encounters
or HONR 2250 Ethics of Ambition
Humanities/Social Sciences/Writing 218
Physics & Natural Science with Lab
PHYS 1110General Physics 14
or PHYS 1115 General Physics 1 for Majors
PHYS 1120
PHYS 1140
General Physics 2
and Experimental Physics 1 (Natural Science with Lab)
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 Electives13
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-134

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
Natural Science Elective 3
Humanities and social sciences elective 1 2
COEN 1500 CEAS First Year Seminar 1
 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
CSCI Core course (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
CSCI Core course (2 of 5) 3
Computer Science Elective 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
CSCI Core course (3 of 5) 4
Computer Science Elective 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
CSCI Core course (4 of 5) 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
CSCI Core course (5 of 5) 3
Computer Science Elective 3
Humanities and social sciences elective 1 3
Free elective 3
 Credit Hours16
 Total Credit Hours128

Learning Outcomes

By the completion of the program, students will 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.