Skip to Main Content
Skidmore College
Computer Science Department

Computer Science at Skidmore

At Skidmore, we teach the principles of computer science by deliberatively weaving stories through the curriculum. For example, students’ progress from studying simple problem solving in CS 106, to analyzing how structuring data affects problem solving in CS 209, to designing efficient algorithms to solve problems in CS 305. Finally, in CS 306, students investigate the nature of computation, what it means to solve a problem, what problems can be solved efficiently, and what to do when faced with problems that cannot be solved efficiently. We are intentional about making connections between each course in this sequence so that students are presented with a complete story of computational problem solving.

In the other course sequences, students see how software is built from the ground up, studying digital logic, the architecture of computer systems, operating systems, software design, and the fundamentals of programming languages.

Our focus on the principles of computation and software systems provides Skidmore’s Computer Science graduates with the flexibility and perspective to respond to the rapidly changing landscape of computer science and thereby to develop successful and rewarding careers. For those students whose main interests lie in other fields, the Computer Science major or minor not only provides students with valuable practical skills but also with the ability to understand their major fields, and indeed the world, through a computational lens.

Students in Computer Science have the opportunity to work on a wide range of research projects in areas such as distributed systems, mobile devices, computer vision and data science.

What is unique about CS at Skidmore?

The department has embraced the liberal arts approach in the design of the computer science major by requiring a relatively small number of courses. This allows Skidmore computer science majors the flexibility to choose to focus in computer science by taking additional elective courses and engaging in computer science research projects; or to focus in multiple areas of study through a second major, a minor, or a self-directed course of study in addition to the computer science major.