Computer Science Curriculum

Mission

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

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

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, a minor in Data Science, and five interdisciplinary computing majors: IC-Theater, IC-Music, Environmental Computation, Computational Biology, and Computational Psychology. The interdisciplinary 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, computational neuroscience, or computational biology.

The initial sequence of CS courses (CS {151, 152, or 153}, CS 231, and CS 251/2) also complements many disciplines. Whether you are an artist or a biology 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, 152, or 153 Computational Thinking. Students with significant programming experience should speak with a professor about taking a placement exam and potentially starting with CS 231.

Students may count only CS 15X, CS 231, and CS 251/2 toward a CS major or minor and any Interdisciplinary major. CS majors or minors may not also obtain a minor in Data Science. CS majors, IC majors, or CS minors interested in Data Science should complete a Statistics minor. Mathematics or Statistics majors interested in Data Science should complete a CS minor.

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 taking CS 375 and CS 378, undertaking 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 a CS 15X course in your first year is strongly recommended. Students can take only one of the CS 15X courses. CS 151, 152, and 153 all satisfy 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 Environmental Computation

The interdisciplinary major in environmental computation provides an introduction to environmental studies as a discipline as well as training in computational techniques used in environmental policy and science. Students become familiar with quantitative tools used to investigate environmental problems. The major is designed to provide students with proficiency in computational thinking, the analysis and understanding of environmental systems, challenges, and solutions, and in the design and implementation of algorithms for modeling and analysis. Students gain experience applying computational thinking and statistical methods to a diverse spectrum of topics in environmental studies and are introduced to the complexity and inter-relatedness of coupled human and natural systems and diverse computational environments. Diverse electives allow students to explore environmental topics in depth, including agriculture and food, conservation science, energy and climate, environmental humanities, marine and freshwater conservation, and public health.

Major in Computational Psychology

The interdiscplinary major in computational psychology provides a strong foundation for students interested in applying advanced computational modeling an analysis techniques to problems in human pscyhology and cognitive development.

Major in IC Theater and Dance

The theater and dance-interdisciplinary computation major focuses on the growing relationship between computation and performance scenography and the multiple applications of software technologies to stage design. It offers a sequenced, stage design-based curriculum while also providing students with exposure to the theory and practice of dance, acting, choreography, and directing. Students should begin by taking Theater and Dance 113 or 114, and Computer Science 151 in their first year, then Theater and Dance 135 and Computer Science 231 (fall) and 251/2 (spring) in their second year. The remaining requirements may be taken in any other semester in consultation with the major advisors in theater and dance and computer science.

Major in IC Music

The music interdisciplinary computation major gives students the opportunity to pursue the creation of music using digital and advanced computational techniques. Students interested in this major should take the introductory CS and Music courses in their first year.

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 a background in both fundamental and applied CS, and the capstone experience explicitly ties together CS and the student's major discipline.

The independent study/capstone option must be pre-approved by a computer science advisor.

Minor in Data Science

The data science minor equips students with the analytical tools and capacities needed to interact with real-world data in a research environment that is changing and growing very quickly.

A student majoring in economics or psychology who has completed the second semester of the respective statistics/methods sequence need not take Statistics 212. A student majoring in computer science, mathematical sciences, or mathematical sciences with a concentration in statistics may not minor in data science. A student minoring in data science may not minor in computer science nor in statistics.

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.6 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 a faculty member to begin a discussion.