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.
Outcomes relate to the skills, knowledge, and behaviors that students acquire through courses and 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 major in CS with a concentration in Artificial Intelligence, and a minor in CS. Joint with departments across campus, we also offer a major in Data Science, minor in Data Science, and five interdisciplinary computing majors (CS+X): IC-Theater and Dance, IC-Music, Environmental Computation, Computational Biology, and Computational Psychology. The CS+X 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 (Computational Thinking, 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 Computational Thinking: CS 151, 152, or 154. Students with some programming experience should speak with a professor about taking a placement exam and potentially starting with Computational Thinking: CS 166. 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 Computational Thinking, 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 major or 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.
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 376 and CS 378, undertaking an honors project, and strengthening their math background beyond the minimum required.
Visually, we have
Interested students should look at the example CS Major timelines. As is apparent from the timelines, taking Computational Thinking in your first year is strongly recommended. Students can take only one of the Computational Thinking courses.
A student majoring in Computer Science may not also major in Computer Science with a Concentration in Artificial Intelligence.
Note to students planning to study abroad. If you take a department-approved neural networks course abroad (e.g. a course at DIS), then it will fulfill the core neural networks requirement, but it will not serve as a pre-req for CS443/4 at Colby. That means you may take neural networks abroad and then take CS343 and CS443/4 at Colby, or take neural networks abroad and any other AI sequence at Colby.
A student majoring in Computer Science with a Concentration in Artificial Intelligence may not also major in Computer Science.
The data science major 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 data science may not also major in computer science, statistics, computational biology, computational psychology, environmental computation, music–interdisciplinary computation, or theater and dance-interdisciplinary computation. A student majoring in data science may not minor in computer science or in statistics.
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.
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.
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.
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.
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.
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.
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 minoring in data science may not major in computer science, statistics, computational biology, computational psychology, environmental computation, music–interdisciplinary computation, or theater and dance-interdisciplinary computation. A student minoring in data science may not minor in computer science or in statistics.
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".
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.