Computer Science Curriculum


Computer Science studies the design of computational processes, computing systems, and virtual objects.

The Colby Department of Computer Science is committed to making computer science an integral part of a liberal arts education. Our goal is to provide Colby students with a strong background in computer science, including the integration of knowledge from other disciplines. Our graduates will have the ability and experience to enable and produce new and innovative discoveries.

The Department of Computer Science has the broader goal of enabling computational thinking throughout the college community. Computational thinking is the ability to decompose a problem or process and describe it at the level of computable operations. Computational thinking integrates abstraction, hierarchical design, information management, and an understanding of complexity.


Objectives are broad statements that describe the career and professional accomplishments that the program is preparing graduates to achieve.

We expect that graduates of the Colby Computer Science program will


Outcomes relate to the skills, knowledge, and behaviors that students acquire through courses and degree programs.

Graduates of Colby College with a major in computer science will possess

  1. proficiency in computational thinking,
  2. the ability to analyze systems at the three levels of computer science: theory, software, and hardware,
  3. proficiency in the design and implementation of algorithms using multiple programming languages,
  4. the ability to apply computational thinking to a diverse set of problems and disciplines,
  5. the ability to communicate effectively and collaborate with others, and
  6. the ability to adapt to new challenges and computational environments.

Degree Programs

Students with a variety of interests may want to explore Computer Science, as it impacts and interacts with virtually every discipline. Many advances in the natural and social sciences, engineering, and the humanities would not have been possible without the exponential growth in computing power and the corresponding design of advanced algorithms by computer scientists. Students who become majors or minors, or take just a few courses, will expand their possibilities by knowing more about how to effectively use computers and computation.

Computer science offers a major in CS, a minor in CS, and four interdisciplinary computing majors: IC-Theater, IC-Music, IC-Environmental Studies, and IC-Biology. The initial sequence of CS courses (CS 151 or 152, CS 231, and CS 251) also complements many disciplines. Whether you are an artist or a bio major, you will benefit by knowing more about how to apply computing to you area of interest. The first CS course for most students will be CS 151 or 152 Computational Thinking. Students with significant programming experience should speak with a professor about starting with CS 231 or CS 232.

Major in Computer Science

The major in computer science is designed to prepare students for either graduate study or a career in a computation-related field. Colby CS majors have been successful in a wide variety of career paths.

Students planning to attend graduate school in CS should strongly consider doing an honors project and strengthening their math background beyond the minimum required.

Interested students should look at the example CS Major timelines. As is apparent from the timelines, taking CS 151 or 152 in your first year is strongly recommended. Note that CS 151 or 152 satisfies a Q (Quantitative) requirement for graduation, in addition to providing an introduction to the fundamental concepts of computer science.

Major in Computational Biology

The Computational Biology major is intended for students interested in industry or post-graduate work in that area. Computational biology is a broad term describing many areas where computation is used to model or analyze biological systems. These include: mathematical and computational modeling of cells, cell networks, individual organisms, and ecosystems; the analysis of genomes, their evolution, and the relationships between species and ecosystems; and understanding the expression of genomes in response to growth, stress, and other environmental factors.

Major in Interdisciplinary Computing

The interdisciplinary computing major is intended for students interested in integrating computer science tightly with a focus discipline. There are currently IC majors with four focus disciplines: Theatre and Dance, Music, Environmental Studies, and Biology.

The IC majors are designed to give students depth in both computer science and their focus discipline, preparing them for careers or interdisciplinary graduate programs with a computational focus, such as digital media, geographic information systems, and bioinformatics or computational biology.

Students interested in an IC major should speak with advisors in both departments and plan to take the introductory courses in each area within their first two semesters.

Minor in Computer Science

The minor in computer science is intended to give students the ability to apply computing and computation appropriately and effectively within their major discipline. The core and electives provide background in both fundamental and applied CS, and the capstone experience explicitly ties together CS and the student's major discipline.

Honors in Computer Science

Honors in computer science is for students who wish to pursue a topic more deeply than may be available in their regular coursework. Honors projects can be significant software projects or research in some area of computer science. Projects that have applications in or ties to other disciplines at Colby are strongly encouraged.

Students who with to pursue honors must have a grade point average of 3.25 in all computer science courses numbered 200 or higher and discuss potential projects with a CS advisor in the spring of their junior year.

The honors project itself consists of two semesters of independent study (CS 483-484), culminating in both a written paper and a colloquium presentation. Students who successfully complete the requirements and receive the recommendation of the department will graduate "With Honors in Computer Science".

Independent Study in Computer Science

An independent study is a course in which a student conducts an independent project under the direction of a faculty sponsor. Independent studies are typically part of a faculty research project or a student honors project. If you are interested in an independent study, please read this document and contact Bruce, Dale, Stephanie, or Ying.