Office: SP 104.5 Voice: 845 437 7497 Zoom E-mail: mlsmith@vassar.edu Vassar College, Box 399 124 Raymond Avenue Poughkeepsie, NY 12604-0399
• on sabbatical

• Office hours:
• In person (and Zoom by appointment)
• by appointment
• Bioinformatics (phylogenetic analysis, evolutionary robotics)
• Models of Parallel and Distributed Computation
• Unifying Theories of Programming

Computer Science is the art of turning constants into variables. –Donald Knuth

The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds castles in the air, from air, creating by exertion of the imagination. –Fred Brooks (The Mythical Man Month)

Computer science inverts the normal. In normal science, you're given a world, and your job is to find out the rules. In computer science, you give the computer the rules, and it creates the world. –Alan Kay

I did make up this term [object oriented] and it was a bad choice because it under-emphasized the more important idea of message sending. – Alan Kay (A to Z of programming languages: Smalltalk-80 - 2010)

Though OOP came from many motivations…the small scale [motivation] was to find a more flexible version of assignment, and then to try to eliminate it altogether. –Alan Kay, The Early History of SmallTalk

Controlling complexity is the essence of computer programming. –Brian Kernighan

There are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiences and the other way is to make it so complicated that there are no obvious deficiencies. –C.A.R. Hoare (The emperor's old clothes - 1981)

SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing. –Philip Greenspun

$((\lambda(x)\ (x\ x))\ (\lambda(x)\ (x\ x)))$