[an error occurred while processing this directive]

cs150: Notes 42


Office Hours

I will not hold my normally scheduled office hours this week, but I will have office hours on Thursday morning (May 3) from 11am-12:30pm. I will not answer specific questions about exam questions, but will be happy to discuss anything else you want.

Final Exam

Turn in your final exam and course improvement survey before 4:55pm on Monday, 7 May. You may turn in the exams to me at my office, or to Brenda Perkins in the CS office.

Project Presentations

Magic Bushttp://www.johndevor.com/
   Eric Montgomery, John Devor, Jung Hong

Social RPGhttp://www.jellywars.com/something
   Ben Morrison

Hoo's Junkhttp://people.virginia.edu/~rar8j/html/
   Alex Rawls

Metro Routerhttp://people.virginia.edu/~mwl3k/metrorouting/
   Kristen Henderson, Michael Lew

The Awesome Tank Gamehttp://people.virginia.edu/~msk2c/cs150/tank/main.html
    Jessica Geist, Mark Berry, Meghan Knoll

The Apartment Complexhttp://www.people.virginia.edu/~mvs6f/cs150final
    Sara Alspaugh, Ellen Clarke, Becky Elstad, Mike Szlamowicz

    Andrew Baker, Jonathan Faulkner, Jordan Buller

Course Evaluations

CS150 will be offered again next Spring. If you found the course to be worthwhile, please encourage your friends to take it. If you found the lectures to be torturous, the problem sets to be a ridiculous amount of work, and the exams to be unfathomable, you can encourage your enemies to take it instead.

On the course pledge, you signed:

I will provide useful feedback. I realize that CS150 is an evolving course and it is important that I let the course staff know what they need to improve the course. I will not wait until the end of the course to make the course staff aware of any problems. I will provide feedback either anonymously (using the course feedback form) or by contacting the course staff directly. I will fill out all course evaluation surveys honestly and thoroughly.

If I like the course, I will help promote it by telling my friends about it. If I really like the course, I may even tell professors and deans about it. If I don't like the course, I will make sure the course staff know why.

One way to honor this pledge is to submit the two course evaluations: If you are having a hard time thinking of something to write in the comments box on your SEAS evaluation, you might use this quote from one of William Barton Rogers' teaching evaluations for inspiration:
Who can forget that stream of English undefiled, so smooth, so deep, and yet so clear, that passed from point to point with gentle touch, that commonly flowed along with the quiet of conscious power, yet sometimes became tumultuous with feeling, and then came the music of the cataract and the glory of the rainbow!

History of the University of Virginia, 1819-1919, Vol. 2

Where to Go From Here

I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

Alan Perlis, quoted in Abelson & Sussman, Structure and Interpretation of Computer Programs

Although CS150 has striven to be consistent with Perlis' spirit, when you fly in an airplane, put your money in a bank, get LASIK eye surgery, or live near a nuclear power plant, you would be worried if the people who programmed those things agreed with Alan Perlis that their job was not to make then "error-free". If you want to learn how to make robust programs and reason about their correctness, take CS205: Engineering Software in the fall. CS205 focuses on engineering, not computer science. That means the course is mostly about ideas and methods for building programs that behave reliably under constraints of cost and time (how long does it take to get the program working, and how expensive will it be to change it). The ideas and techniques you learn from CS205 will enable you to think about design more clearly (whether of software, or something else), and will lead you to build more useful and exciting programs than you would without them. In Fall 2007, CS205 will be taught by Professor Paul Reynolds. Class meetings will be Mondays, Wednesdays, and Fridays 1-1:50pm in Olsson 009.

If you are interested in Malware Detection and Response, System Security, or Physical Cryptography and Security or you have your own idea for and interesting project, talk to me about opportunities for students in my research group.

If you want to learn more about the history of computing, take MDST 110.

If you want to learn more about Ada Byron's father, take ENNC382.

If you want to learn more about logic, take PHIL 242.

If you want to learn more about how language works, try AMEL 365.

If you want to learn about music and computers, take MUSI 339.

If you want to learn more about cryptology, take CS588. (You have enough background to take this next time it is offered.)

If you want to learn more about how biology programs, take BIOL 405.

If you want to learn more about quantum physics, try PHYS 355 (at your own risk!).

If you finish reading GEB and want to read more by Hofstadter, try Metamagical Themas: Questing for the Essence of Mind and Pattern (a collection of his essays for Scientific American) and then Le Ton Beau De Marot : In Praise of the Music of Language (all about translation). Hofstadter also has a new book out that revisits many of the ideas in GEB: I Am a Strange Loop.

cs1120: Computer Science
University of Virginia
Using these Materials