About the Computer Science Major

A liberal arts education helps students appreciate the complexities of the real world and understand the interdisciplinary nature of problems. Computer science is at the heart of this enterprise; it leads to new ways of thinking, new ways of exploring multidisciplinary terrain, and new ways of understanding facets of the natural world. It is much more than a training ground for hackers or a pathway to a lucrative career.

Studying Computer Science at Colorado College allows students to learn this fascinating field while still having the flexibility in their schedule to discover and explore other interests. A typical computer science course has a class in the morning with either lab sessions or professor office hours in the afternoon.

The Department of Mathematics and Computer Science offers a BA degree in Computer Science.

Included Courses

Computational Thinking

This course is designed for students who have never programmed and takes them from zero to Python programmers in 3.5 weeks. The course is recommended as both the entry into the computer science major or minor and for anyone interested in learning programming skills that are valuable in many fields.

Advanced Python

This is a second course in Python programming.  Building on Computational Thinking or other prior programming skills, the course will allow you to develop your programming skills further, in preparation for Computer Science 1 and 2.

Computer Science 1 and 2

This course sequence introduces fundamental ideas in computer science including programming skills, data structures, and analysis of basic algorithms. Students learn the Java language and the basics of object-oriented programming.

Computer Thinking

This course covers the technical foundations of modern computer technology. Topics include the C programming language, machine-level representations of data and code, and the basics of computer networking.

Software Design

Working code is critical, but for code to be truly useful over time it also needs to be well-designed so it can be extended and maintained. Most software is developed in teams and teams need to have a well-defined development process to ensure that they both build the right system and build the system right.

300-Level Electives

After completing the introductory sequence (including both Computer Organization and Software Design), students can choose from a variety of elective courses. Recent offerings have included Artificial Intelligence, Computer Graphics, Database Systems, Parallel Programming, Programming Languages, and Web Programming.


Senior Project

All students demonstrate their computer science skills by working on a block-long team project under the supervision of a faculty member. This is typically done in the senior year and culminates in a project presentation and report.


Theory of Computation and Analysis of Algorithms

These are the two culminating courses in the major. Theory of Computation covers abstract models of computation, including discussions of computability and complexity. Analysis of Algorithms covers both specific solutions to common computational problems as well as theoretical analyses of the hardness of problems in general.

Mathematical Foundations

There are strong links between Computer Science and Mathematics. To guarantee a solid mathematical background, students are required to take Calculus 1 and 2 and either Discrete Mathematics or Number Theory. Other math courses that are broadly relevant in computing include linear algebra, statistics, and graph theory.

Report an issue - Last updated: 08/22/2023