Discrete Mathematics for Computer Science


Class Notes

Class notes are available as a single zip file either here or on the syllabus page.

We will use Piazza to communicate with each other outside of class and Sakai to collect homework. Other class information is on this site.

There is a midterm exam on Thursday, March 5th, from 10:05am to 11:20am and a final exam on Friday, May 1st, from 2pm to 5pm. The schedule for the final is set by Duke's Registrar.

Detail of Ada Lovelace portrait Punch cards for the analytical engine

Augusta Ada King, the Countess of Lovelace (1815-1852) wrote what is arguably the first computer program for Charles Babbage’s Analytical Engine, a general-purpose mechanical computer for which Ada had only a design on paper (below). The program was to be encoded on punch cards (above right), some of which stored numerical values and some of which stored operations, and computed the nonzero Bernoulli numbers by an algorithm equivalent to this Python function or this Racket function.

This class follows in Lady Lovelace's footsteps and explores the basics of the intimate connection between mathematics and computers. It meets in room B101 (Love Auditorium) of the Levine Science Research Building.

Analytical engine diagram

COMPSCI , Duke University, Site based on the fluid 960 grid system