skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · undergraduate program · 

BS Degree Program

  Computer Science

Computer Science is an exciting and challenging field that has impact on many parts of our lives. As computer scientists, we craft the technologies that keep our cell phones and iPods working. We develop the large scale software that powers business and industry. We advance the computational techniques and write the software that supports scientists in their study of the world around us. Many new computer applications remain to be discovered. Indeed, computing will be at the heart of future revolutions in business, science, and society. Students who study computer science now will be at the forefront of those important advances.

Computer Science is concerned with how computers are constructed, how they store and process data, how they are used in problem-solving, and how the quality of those solutions is assessed. It is about the science of creating software for a variety of users. It is about understanding how that software interacts with the hardware on which it is run. Computer Science goes well beyond the machine to the study of how people interact with the technologies around them. Applications of Computer Science reach far and wide.

Computer Science graduates from the University of Colorado Boulder are engaged in a wide variety of jobs with many different companies in locations all over the world. They produce the software and systems that touch our lives every day in fields ranging from communications to finance to publishing. They are, of course, software developers, but also have become teachers, writers, doctors, lawyers, scientists, military leaders, and entrepreneurs. They work at some of the largest, most influential companies in the world, at research institutions, non-profits, and at the smallest start-ups of every type imaginable. And many lead highly successful companies that they themselves have founded.

The BS degree program in Computer Science is designed to prepare students for careers as computer specialists and for graduate study in computer science. It culminates in a course in which students carry out year-long software engineering projects for industry. This degree 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. In addition, students successfully completing the degree acquire the ability and skills to communicate effectively with users as well as fellow computer professionals about computing issues; adapt techniques drawn from a large standard repertoire to new problems; and understand, assess, and use new and existing technologies. These high-level goals are captured in the program's outcomes and objectives.

Program Outcomes

The BS degree program aims to produce students that at the time of graduation have

  1. an ability to apply knowledge of computing and mathematics appropriate to the discipline

  2. an ability to analyze a problem, and identify and define the computing requirements appropriate to its solution

  3. an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs

  4. an ability to function effectively on teams to accomplish shared computing design, evaluation or implementation goals

  5. an understanding of professional, ethical, legal, security and social issues and responsibilities for the computing profession

  6. an ability to communicate effectively about computing topics with a range of audiences

  7. an ability to analyze impacts of computing on individuals, organizations, and society

  8. a recognition of the need for and ability to engage in continuing professional development

  9. an ability to use current techniques, skills, and tools necessary for computing practice

  10. an ability to apply mathematical foundations, algorithm principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices

  11. an ability to apply design and development principles in the construction of software systems of varying complexity

Program Objectives

The BS degree program aims to produce alumni that within three to five years after graduation

  • are prepared to be valued individual contributors in a software-oriented organization, to be programmers and designers in an entrepreneurial pursuit, to lead small projects and generally begin preparation for a management career, or to succeed in rigorous postgraduate programs

  • are able to focus their careers on pure computer science technology or to bring computer science expertise to a companion discipline

  • are prepared, where appropriate, to specialize in a broad spectrum of computer science sub-disciplines, ranging across formal computer science (e.g., computational science, bioinformatics, and theory), cognitive science (e.g., human/machine learning, human-computer interaction, collaborative work, and human language technologies), and core computing (e.g., systems, networks and software engineering).

ABET Accreditation

The Bachelor of Computer Science degree program is accredited by the Accreditation Board for Engineering and Technology (ABET). ABET accreditation is assurance that the program meets the quality standards established by the computing profession. ABET accreditation is important for many reasons:

  • Accreditation helps students and their parents choose quality college programs.

  • Accreditation enables employers to recruit graduates they know are well-prepared.

  • Accreditation is used by registration, licensure, and certification boards to screen applicants.

  • Accreditation gives colleges and universities a structured mechanism to assess, evaluate, and improve the quality of their programs.

The Bachelor of Computer Science degree program accreditation became effective October 1, 2008. Current accreditation lasts until September 30, 2016.

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

To begin your journey as a Computer Science major, you should give a little thought as to what kinds of computer science appeal to you. To help you in this task, we have identified tracks through our curriculum geared toward a variety of specializations. These tracks reflect the fact that computer science is transforming such disciplines as medicine, the sciences, and social science. The tracks also illustrate various software and hardware themes within the field of computer science. In addition to the more general degree requirements for all Computer Science majors, majors need to complete the course requirements for one of the following tracks:

General Computing

The General Computing track provides a broad-based background drawing from the entire spectrum of computing. Depending on the courses selected, students can be exposed to the design and architecture of computers, the development of software, and the theory and techniques used in designing efficient computer programs. Students can also learn about application of computers to problems in science, in human-computer interaction, and in data management. This track prepares students for careers in many different areas of computer science.

Computational Biology

Computer Science is rapidly becoming critical to many areas of biology and medicine. This track's flexible requirements reflect the diverse fields of computer science that are applied to problems in biology or medicine, including database design and data mining, algorithms, machine learning, and numerical computation. Students graduating from this track will be ready to work in teams to develop the software and systems for a variety of biomedical applications.

Computational Science and Engineering

Problems considered by computational scientists include climate and weather prediction, spacecraft design, video game construction, and the discovery of new medicines and treatments among many others. This track emphasizes courses in numerical computation, high-performance scientific computing, and supporting areas of science and computer science. It provides exposure to leading-edge computing systems.

Human-Centered Computing

Students in this track will learn how to design, build, and evaluate socio-technical systems of the future that will tie together technology with communication, collaboration, and other social processes to address the challenges and opportunities of our world. The learning opportunities in this track draw on and integrate research in human computer interaction, design of interactive systems, computer supported cooperative work, computer supported collaborative learning, educational technology, tools that support creativity, user-developed knowledge collections, and gaming.

Networked Devices and Systems

It is the role of networked systems professionals to select, design, deploy, integrate, evaluate, and administer network and communication infrastructures. This track emphasizes courses in deployment of networks with specific design and protocol requirements, applying networking to deploy services in multimedia, information storage and distribution, security, and services on the Internet such as the World Wide Web and email, and operating systems analysis and management.

Software Engineering

Software permeates the very fabric of modern society. This track emphasizes courses in core software engineering concepts, methods, and tools, the understanding of user requirements and user interface design, the ability to design programming languages and software tools that support software development, and working in teams to achieve complex objectives. The position of software engineer was recently ranked as the "best job" in America.


Computers benefit almost every part of our lives -- from entertainment to cars to phones to medical devices. Computer systems engineers work with hardware and software to help application developers make these devices a reality. This track emphasizes courses in direct control of hardware through low-level software, the design and implementation of operating systems and programming languages, networking and performance analysis as well as embedded system design.

Our goal is to prepare students for an intriguing and satisfying career in computer science. The huge number of technical jobs and the shortage of people to fill them mean that opportunities are great for today's computer science graduates. Following the curricular track of your choice will equip you with the skills you need for your career of interest, the one in which you will help shape the future.


There are several typical curricula a student might follow:

In addition, a curriculum with a junior year abroad at various universities, including the University of East Anglia in Great Britain, or the University of Wollongong in Australia can be arranged.

Active Learning Opportunities

Active learning involves enhancing knowledge, skills, and understanding through practical experience. Students may participate in enrichment experiences and partnerships with individual faculty in discovery, service and professional learning.

Certificate Programs

In the course of completing an undergraduate degree a student may also obtain a "certificate" in an approved certificate program. Although a certificate is not equivalent to a major or minor, it does appear on the official transcript. The certificate also demonstrates that the student has completed an academic program beyond the major and demonstrates that the student has interdisciplinary breadth in a special field.

A number of certificate programs are open to Computer Science majors. These include certificates in


The following online advising information is available:

If you want to talk to a real person, the best place to start is with Undergraduate Program Advisor Lesley McDowell:

Undergraduate Program Advisor
Lesley McDowell
University of Colorado Boulder
Department of Computer Science
430 UCB
Boulder, CO 80309-0430

Engineering Center ECOT 727
email: email
Phone: +1-303-492-6362
Lesley McDowell photo

She'll be happy to help you get answers to any questions you might have.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
April 30, 2012 (07:23)