Division of Science, Mathematics, and Computing

Computer Science

Computing is an integral part of contemporary life. Computer science encompasses the study of computing technology, theory, and applications in all contexts, including mobile computing, desktop computing, robotics and autonomous vehicles, and the Internet. The Computer Science Program at Bard offers courses tailored to the interests of students from across the College. The program focuses on the fundamental ideas of computer science and introduces students to multiple programming languages and paradigms. It offers broad coverage of theoretical, applied, and systems-oriented topics. Most courses include hands-on projects so students can learn by building and participate in research projects in laboratories devoted to cognition, robotics, and symbolic computation.

The curriculum is designed to offer many opportunities for students whose interest in computing arises from their own disciplinary context. Computer science has links with cognitive science, experimental humanities, mathematics, film and electronic arts, and many other fields, and students from these fields often use their computing skills and knowledge in carrying out Senior Projects.

Before Moderation, a student in the Computer Science Program should complete or be enrolled in Computer Science 143, 145, and 201, as well as Mathematics 141 (or the equivalents). Students are expected to follow standard divisional procedures for Moderation and to fulfill the college-wide distribution and First-Year Seminar requirements. To graduate, a student in the program must take Computer Science 301, 305, and 312; one systems course such as 326, 327, or 360; at least two other computer science courses, one numbered above 201 and the other numbered 300 or above; and complete a Senior Project.

Recent Senior Projects in Computer Science

  • “Content-Aware Image Resizing”
  • “Design and Implementation of an Improved Android Application for Bard Shuttle Services”
  • “Go with the Flow: An Exploration of Distributed Network Flow for Robot Pathfinding”
  • “Sun Tzu and the Mathematics of War: A Predictive Assistant for Warhammer 40,000”
Program facilities at the Gabrielle H. Reem and Herbert J. Kayden Center for Science and Computation include computer and hardware teaching labs, a cognitive systems lab, robotics lab, dedicated computer server room, and study space with wireless networking.

The following core courses are offered every year or every other year: Computer Science 143, Object-Oriented Programming with Robots; Computer Science 145, Discrete Mathematics; Computer Science 201, Data Structures; Computer Science 301, Algorithms; Computer Science 305, Design of Programming Languages; Computer Science 312, Theory of Computation; and Computer Science 326, Operating Systems. Elective courses are offered at least once every three years or by tutorial; recent examples include Databases, Mobile Applications and Interfaces, The Computational Image, and Embedded Operating Systems.

Program Website: