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.
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 program 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
Code | Title | Credit Hours |
---|---|---|
Computer Science Foundation | ||
CSCI 1000 | Computer Science as a Field of Work and Study | 1 |
or ASEN 1000 | Introduction to Aerospace Engineering Sciences | |
or BMEN 1000 | Exploring Biomedical Engineering | |
or CHEN 1300 | Introduction to Chemical and Biological 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 | |
or MCEN 2000 | Mechanical Engineering as a Profession | |
CSCI 1300 | Computer Science 1: Starting Computing (ASEN 1320 requires minimum grade of B-) | 4 |
or ASEN 1320 | Aerospace Computing and Engineering Applications | |
or ECEN 1310 | Introduction to C Programming | |
CSCI 2270 | Computer Science 2: Data Structures | 4 |
CSCI 2400 | Computer Systems | 4 |
CSCI 3104 | Algorithms | 4 |
CSCI 3155 | Principles of Programming Languages | 4 |
CSCI 3308 | Software Development Methods and Tools | 3 |
Computer Science Core | 15-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 | ||
or APPM 4600 | Numerical Methods and Scientific Computing | |
or MCEN 3030 | Computational Methods | |
Design and Analysis of Operating Systems | ||
Advanced Data Science | ||
Network Systems | ||
Object-Oriented Analysis and Design | ||
Computer Science Electives | 7-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 | |
Mathematics | ||
APPM 1350 | Calculus 1 for Engineers | 4 |
or MATH 1300 | Calculus 1 | |
or MATH 1310 | Calculus for Life Sciences | |
or APPM 1345 | Calculus 1 with Algebra, Part B | |
APPM 1360 | Calculus 2 for Engineers | 4 |
or MATH 2300 | Calculus 2 | |
CSCI 2824 | Discrete Structures | 3 |
or ECEN 2703 | Discrete Mathematics for Computer Engineers | |
or APPM 3170 | Discrete Applied Mathematics | |
or MATH 2001 | Introduction to Discrete Mathematics | |
CSCI 2820 | Linear Algebra with Computer Science Applications | 3 |
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 3022 | Introduction to Data Science with Probability and Statistics | 3 |
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 1440 | Critical Thinking | 3 |
or PHIL 2440 | Symbolic Logic | |
Ethics | ||
PHIL 1100 | Ethics | 3 |
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 HONR 2250 | Ethics of Ambition | |
Humanities/Social Sciences/Writing 2 | 18 | |
Natural Science | ||
PHYS 1110 | General Physics 1 | 4 |
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 Electives | 8-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 Electives | 16 | |
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 Hours | 128-137 |
1 | For list of approved courses, see department website. |
2 | Complete the College's Humanities, Social Sciences and Writing requirements (18 credits total) as specified. |
Recommended Four-Year Plan of Study
First Year | ||
---|---|---|
Fall Semester | Credit 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 | |
COEN 1830 | Special Topics (Engineering First Year Seminar) | 1 |
Humanities and social sciences elective 1 | 2 | |
Credit Hours | 15 | |
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 Hours | 15 | |
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 Hours | 16 | |
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 Hours | 16 | |
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 Hours | 16 | |
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 Hours | 18 | |
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 Hours | 16 | |
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 Hours | 16 | |
Total Credit Hours | 128 |
1 | Students may choose courses from the list of college-approved humanities and social sciences (HSS) electives. |
2 | Students may choose a course from the list of college-approved writing courses. |
3 | See department website for Computer Science Electives |
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:
Code | Title | Credit Hours |
---|---|---|
CSCI 1300 | Computer Science 1: Starting Computing | 4 |
CSCI 2270 | Computer Science 2: Data Structures | 4 |
CSCI 2400 | Computer Systems | 4 |
CSCI 3104 | Algorithms | 4 |
or CSCI 3434 | Theory of Computation | |
CSCI 3155 | Principles of Programming Languages | 4 |
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:
Code | Title | Credit Hours |
---|---|---|
CSCI 1300 | Computer Science 1: Starting Computing | 4 |
CSCI 2270 | Computer Science 2: Data Structures | 4 |
CSCI 3104 | Algorithms | 4 |
or CSCI 3022 | Introduction to Data Science with Probability and Statistics | |
LING 2000 | Introduction to Linguistics | 3 |
CSCI 3832/5832 | Natural Language Processing | 3 |
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:
Code | Title | Credit Hours |
---|---|---|
CSCI 1300 | Computer Science 1: Starting Computing | 4 |
CSCI 2270 | Computer Science 2: Data Structures | 4 |
CSCI 2400 | Computer Systems | 4 |
CSCI 3022 | Introduction to Data Science with Probability and Statistics | 3 |
CSCI 3308 | Software Development Methods and Tools | 3 |
- 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.)
Code | Title | Credit Hours |
---|---|---|
CSCI 1300 | Computer Science 1: Starting Computing | 4 |
CSCI 2270 | Computer Science 2: Data Structures | 4 |
CSCI 2400 | Computer Systems | 4 |
CSCI 3403 | Introduction to CyberSecurity for a Converged World | 4 |
CSCI 3753 | Design and Analysis of Operating Systems | 4 |
- 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.