===== Marc L. Smith ===== //(he/him)// \\ **Professor and Chair**\\ [[http://computerscience.vassar.edu|Computer Science Department]]\\ [[http://www.vassar.edu|Vassar College]] /*** Computer Science Department\\ Vassar College ***/ ~~NOTOC~~ ==== Coordinates ==== | **Office:** SP 104.5 \\ **Voice:** 845 437 7497 [[https://vassar.zoom.us/j/8904060254?pwd=ZGN2OEdPNEpvMUVFTlphT0xSRk5jQT09|Zoom]]\\ **E-mail:** mlsmith@vassar.edu | | Vassar College, Box 399\\ 124 Raymond Avenue\\ Poughkeepsie, NY 12604-0399 | ==== Spring 2025 ==== * [[https://moodle.vassar.edu/course/view.php?id=30054 | CMPU-101: Problem-Solving and Abstraction]] * Lectures: Mon/Wed 1:30am--2:45pm, SC 006 * Labs: Fri 11:00am--1:00pm, SC 006 \\ \\ * Office hours: * In person in SP 104.5 (and [[https://vassar.zoom.us/j/8904060254?pwd=ZGN2OEdPNEpvMUVFTlphT0xSRk5jQT09|Zoom]] by appointment) * Wed 10:30am--12pm * Thu 3-5pm * //and by appointment// /**** * [[https://www.cs.vassar.edu/courses/cs377-202401/top | CMPU-377: Parallel Programming]] * Lectures: Tue/Thu 3:10--4:25pm \\ \\ * CMPU-377: Parallel Programming * Lectures: Mon/Wed 12:00--1:15pm (remote) \\ \\ * CMPU-311: Database Systems * Lectures: Mon 3:10--5:10pm \\ \\ * [[https://moodle.vassar.edu/course/view.php?id=25594|BIOL/CMPU-353: Bioinformatics]] * Lectures: Tue/Thu 1:00--3:00pm \\ \\ * CMPU-101: Problem-Solving and Abstraction\\ ****/ ==== Research Interests ==== * Bioinformatics (phylogenetic analysis, evolutionary robotics) * Models of Parallel and Distributed Computation * Unifying Theories of Programming \\ \\ ==== Quotes ==== //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, [[http://worrydream.com/EarlyHistoryOfSmalltalk/|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 /* (( λ (x) (x x)) ( λ (x) (x x))) \\ */ $((\lambda(x)\ (x\ x))\ (\lambda(x)\ (x\ x)))$