(he/him)
Professor and Chair
Computer Science Department
Vassar College

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
  • CMPU-101: Problem-Solving and Abstraction
    • Lectures: Mon/Wed 9:00am–10:15am
    • Labs: Thu 9:00am–11:00am

    • Lectures: Tue/Thu 3:10–4:25pm

  • Office hours:
    • In person in SP 104.5 (and Zoom by appointment)
    • Wed 10:30–12:30
    • Thu 11:00–1:00
    • and 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. The first method is far more difficult. –C.A.R. Hoare (The emperor's old clothes - 1981)

Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. –Edsger Dijkstra

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

If you give someone Fortran, he has Fortran. If you give someone Lisp, he has any language he pleases. –Guy L. Steele, Jr.

Do the best you can until you know better. Then when you know better, do better. –Maya Angelou

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