• Please read the Node.js Wiki pages.
  • Pset2 has been released and is due Monday, Sep. 24 at 11:59pm.
  • Office Hours:
    • Benedict’s permanent office hours will be Tuesdays from 2:30-3:30 and Wednesdays from 2-3 in AKW 202. The Tuesday office hours are right after class, so I will hang around in the classroom as desired before heading to my office.
    • Zach’s office hours are by appointment in AKW 423 (the Graphics lab on the fourth floor).
    • Jacob’s office hours are Monday/Wednesday from 4:30 to 5:30 in the Digital Humanities Lab in Sterling, as well as by appointment.
    • Yoni’s office hours are Friday 9:30 to 10:30 in the Digital Humanities Lab in Sterling.

Course Description

Welcome to CS 276: Applications in the Digital Humanities, CS 376: Advanced Digital Humanities, and Harvard’s CS 100: Software Engineering in the Arts and Humanities. The course looks at a wide range of applications of computing as an analysis tool in the humanities, including literature, history of art, archaeology, and music. On the techincal side, we will cover web application design, including javascript, HTML, SQL database design, and the node.js and Vue web application frameworks.

CS 276 is designed for a wide range of students. Undergraduates from all fields and humanities graduate students who are interested in digital humanities projects need only minimal programming experience. You should know what a variable, a loop, and a function are in some programming language; it doesn’t matter which. CS50, Yale’s CS 112, or equivalent are more than sufficient. There are no formal prerequisites. Yale humanities graduates with an interest in digital humanities are encouraged to join the class and may obtain credit with permission from their DGS.

CS 376 is designed for CS majors interested in learning web development and its applications to digital humanities. You will complete additional sections of each programming assignment and will contribute signficantly more development effort and/or algorithmic components to your group project commensurate with your experience. In the process, you will learn to write larger, more vaguely specified programs than in introductory CS classes, and to use and navigate online documentation for new languages and libraries. Data structures (Yale’s CS 223 or Harvard’s CS 141) is a prerequisite.

Harvard students, regardless of background, will register for CS 100. However you will be graded based on the progress you make relative to your starting point; humanities students and CS majors will not be in competition with other.

Coursework will include four individual programming assignments; weekly readings on digital humanities; a large group project (a variety of projects will be available for you group to pick from) involving a digital humanities web application; and active class participation. You will also be expected to read online course notes and tutorials, and watch online videos prior to class. In return, class time will mostly be devoted to “active learning” where you will discuss the readings, and work together on programming exercises and psets with the course staff circulating to help. Some class will also feature guest talks from humanities faculty on their research and potential projects. Graduate students enrolled in the course will also present their areas of research and a potential related project. Mid-semester, you will form groups of 3-4 students and select projects to work on; most of the second half of the semester will be devoted to working on these projects. Class attendance is required.

Meeting Times

  • Yale: T 1:30-3:20, Th 1:30 - 2:20 for all students. Thu 2:30-3:20 section for CS 276 students only for additional programming instruction and practice.
  • Harvard: TTh 1:30 - 2:45 for everyone. And additional weekly section for humanities students with minimal programming experience may be organized depending on need.

Most talks and discussions will be recorded at each campus and posted for everyone. Guest talks from faculty at both campuses will typically also be video-conferenced to the other campus so everyone can participate.

You should consider taking this class if:

  • You are interested in learning more about the digital humanities;
  • You are considering majoring in Computing and the Arts or Computer Science and want to “test the waters” more first;
  • You are a humanist interest in incorporating computing into your own work, or a computer scientist interested in digital humanities and cultural heritage applications;
  • You are interested in web application development on group development projects, whether or not you are a CS major;
  • You’ve complete the CS introductory sequence and would like to improve your programming skills and self-sufficiency.
  • It will be fun!


Please join the Piazza message board. Most announcements will be made via piazza rather than on the web site. They will never be made via Canvas.