Courses Explained

Our curriculum is built on the fundamental paradigms of the discipline: theory, abstraction and design. These three are woven throughout the Department, binding the sometimes disparate topics of Computer Science into a cohesive body of knowledge and experience. Because of the rapidly changing character of the field, we review the curriculum regularly. Our work is heavily influenced by the liberal arts mission of the College, in particular our interdisciplinary approach and our inclusion of the cultural, legal and ethical issues surrounding computing within the curriculum.

In the past students have realized this goal in unique ways. Our department tends to offer topics courses which range from the robotics to environmental science. This is usually through the May-Term offerings.

100 Level to 200 Level

These are entry level courses which aim to teach the basics of what is required in an undergraduate computer science course.

300 Level to 400 Level

These are upper level courses which aim to teach the specialized and explore certain paradigms in more detail overall.


These are the required and non-required maths and science courses which computer science students tend to take.