[an error occurred while processing this directive]

cs150: Notes 27

Assignments Due


What is a computer virus?

Why is it impossible to define a procedure that determines if a file contains a computer virus?

Is it impossible to define a procedure that protects computer users from all viruses? (Tricky, think carefully)

What is object-oriented programming?

Here's how Alan Kay describes his first assignment in graduate school:

Head whirling, I found my desk. ON it was a pile of tapes and listings, and a note: "This is the Algol for the 1108. It doesn't work. Please make it work." The latest graduate student gets the latest dirty task.

The documentation was incomprehensible. Supposedly, this was the Case-Western Reserve 1107 Algol--but it had been doctored to make a language called Simula; the documentation read like Norwegian transliterated into English, which in fact it was. There were uses of words like activity and process that didn't seem to coincide with normal English usage.

Finally, another graduate student and I unrolled the program listing 80 feet down the hall and crawled over it yelling discoveries to each other. The weirdest part was the storage allocator, which did not obey a stack discipline as was usual for Algol. A few days later, that provided the clue. What Simula was allocating were structures very much like the instances of Sketchpad. There wee descriptions that acted like masters and they could create instances, each of which was an independent entity. What Sketchpad called masters and instances, Simula called activities and processes. Moreover, Simula was a procedural language for controlling Sketchpad-like objects, thus having considerably more flexibility than constraints (though at some cost in elegance) [Nygaard, 1966, Nygaard, 1983].

This was the big hit, and I've not been the same since.

Alan Kay, The Early History of Smalltalk, 1993.

Don't worry about what anybody else is going to do The best way to predict the future is to invent it. Really smart people with reasonable funding can do just about anything that doesn't violate too many of Newton's Laws!
— Alan Kay


Paul Graham, Undergraduation (on what to do in college)

Mark W. Eichin and Jon A. Rochlis, With Microscope and Tweezers: An Analysis of the Internet Virus of November 1988, IEEE Symposium on Security and Privacy, 1989.

The Art of Computer Virus Research and Defense, Peter Szor (One Page Review in IEEE Security and Privacy, by Nathanael Paul, UVa student)

Disk-Level Malware Detection research project

If you have an idea, and its not a good idea, take a nap instead of implementing it. — Alan Kay

cs1120: Computer Science
University of Virginia
Using these Materials