Computer Science

Computer science is an exciting and challenging field with impact on much of modern life. Computer scientists craft the technologies enabling the digital devices used every day; developing the large-scale software powering business and industry, advancing the computational techniques, and writing the software scientists use to identify and analyze patterns in the behavior of social groups and human behavior in social networks and the applications humanists and linguists use to research language development. Many new applications of computing technology remain to be discovered and 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 are used to store and process data, used in problem-solving, and used to assess the quality of solutions to problems.

Creating software for a variety of users is requires understanding how software interacts with the hardware on which it runs. 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.

Career Possibilities

Computer science graduates from CU-Boulder are engaged in a variety of jobs with organizations worldwide in fields such as communications, finance, publishing, and research. They are software developers, teachers, writers, doctors, lawyers, scientists, military leaders, and entrepreneurs. Many computer science graduates lead highly successful companies that they themselves have founded.

Facilities, Programs, and Opportunities

The Department of Computer Science supports its own domain ( and a modern computing infrastructure facilitating its research and educational missions. The department has a variety of computing facilities for use by faculty, staff, and students including general purpose computing labs provided by the university, additional instructional labs and administrative computing resources provided by the department, and specialized labs for individual research groups. The variety of computing resources provides students the opportunity to learn about and use cutting-edge equipment and software.

The Undergraduate Research Opportunities Program (UROP) offers students a chance to work alongside a faculty sponsor on original research. Students learn to write proposals, conduct research, pursue creative work, analyze data, and present the results. For more information, call UROP at 303-492-2596 or visit

The department also provides students networking opportunities throughout the year with companies offering paid internships. CU’s location near Boulder’s tech start-up community, national research labs, and traditional tech companies such as Google, IBM, Oracle, and Microsoft, gives students with computer science skills many employment opportunities while earning their degrees. 

The course code for this program is CSCI.

Bachelor's Degree Program(s)

BA in Computer Science

The bachelor of arts 
in computer science is granted by the College of Arts and Sciences. It may be earned by completing the general requirements of the College of Arts and Sciences, including approximately 46 semester hours of credit in the core curriculum, and the required courses listed below. Credits in the major may also apply toward these core courses. A student may not earn both the BS in computer science and the BA in computer science degrees from CU-Boulder. A student may not earn both the BA in computer science and the minor in computer science from CU-Boulder.

NOTE: In order for the College of Arts and Sciences four-year guarantee to apply, an arts and sciences student would need to have enrolled in the BA in computer science major and have taken Calculus 1 and CSCI 1300 by their second semester.  

Required Courses and Semester Credit Hours

Foundation (all required)

  • CSCI 1300 Computer Science 1: Programming—4
  • CSCI 2270 Computer Science 2: Data Structures—4
  • CSCI 2400 Computer Systems—4 CSCI 2824 Discrete Structures—3

Core Courses (choose four courses from below) 

  • CSCI 3104 Algorithms—4
  • CSCI 3155 Programming Languages—4
  • CSCI 3202 Artificial Intelligence—3
  • CSCI 3287 Database and Information Systems—3
  • CSCI 3308 Software Engineering Methods and Tools—3
  • CSCI 3434 Theory of Computation—3
  • CSCI 3656 Numerical Computation—3
  • CSCI 3753 Operating Systems—4
  • CSCI 4448 Object Oriented Analysis and Design—3
  • CSCI 4839 User Centered Design—3


One of the following sequences:

  • APPM 1350/APPM 1360—8
  • MATH 1300/MATH 2300—10

One of the following courses:

  • APPM 3310 Matrix Methods—3
  • APPM 4570 Statistical Methods—3
  • CSCI 2820 Linear Algebra with Computer Science Applications—3
  • MATH 3130 Introduction to Linear Algebra—3
  • MATH 3510 Probability and Statistics—3


Three or four additional upper-division courses—12-15

For more information, visit the department in Engineering Center, ECOT 727 or visit

Minor in Computer Science

The Department of Computer Science offers a minor in computer science. For more information, visit