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 collegewide 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

  • “Browsing Data as a Predictor of Web Page Relevancy”
  • “Implementation of the Solution to the Conjugacy Problem in Thompson’s Groups”
  • “Texture Analysis in Painting Classification”
  • “Using Multi-Agent Reinforcement Learning to Structure the Behavior of Virtual Dinosaurs”


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 DatabasesMobile Applications and InterfacesThe Computational Image, and Embedded Operating Systems.