The study of computer science at Bennington entails a rigorous inquiry into the nature and applications of computers and computational principles. Our courses are project-based, and reinforce theory by emphasizing and exploring real-world applicability.
Every student concentrating in Computer Science begins with an introduction to the field, including:
- Tools and operating system fundamentals – development tools, overview of Unix/Linux, basic operating system layout and principles
- Computational thinking – problem solving, algorithm/program design, introductory programming skills (Python)
- An overview of the field – people, areas of research and study, and problems of note to computer scientists
From here, students may choose from a variety of courses in the following areas:
- Data Structures (currently taught using C)
- Operating Systems
- Database Management Systems (including NoSQL and distributed databases)
- Distributed & Internet-Scale Systems
- Object-Oriented Programming (C++, Java, C#)
- Computer Architecture & Assembly Language
- Computing for the Developing World
- Computing for Activism
- Environmental Impacts of Computing
In addition, students may pursue Field Work Term (FWT) projects in the areas of computing and computer science. Some recent examples include:
- 2 students working as interns for Nebula (cloud computing startup) under faculty supervision
- Independent research / senior projects in computer science
FWT projects and experience also help build a strong resume and marketable job skills for future employment. Students concentrating in computer science are advised on how to build a great resume, tips for interviewing for jobs in the technology industry, and/or how to prepare for graduate school.
Visit the Computer Science at Bennington web site for more information on current courses, faculty, and projects.