View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Fall2001 Midterm Review: Historical Context

Link back to Fall 2001 Midterm Review

1. I think it was Ivan Sutherland

2. C++ mainly uses primitive. Most programming in C++ is just wrapped in an object and doesn't use effective object oriented programming Robert Schierholz

3. When you draw something on the screen you want to make it self contained. This allows you to create instances of it. You can then easily resize, and move those instances without having to redraw the original object. OO programming revolves around being able to create multiple self contained instances of a prototype class and maniplulate them individually. Ivan Sutherland did this by having a line that you could resize and move on the screen. Joaquin Madruga
Joaquin is close on 3, but 1 and 2 are wrong. Mark Guzdial

1. I believe the answer to #1 is Alan Key when when creating FLEX in the 60's (Brian Pashel)
I don't think that Alan Kay ever actually created FLEX. I think that he only designed it. Being a personal computer, it's creation was halted by the fact that computers of that time took up entire rooms Jared Parsons

2. SmallTalk and C++ are both spawned from ideas of Simula. But SmallTalk is a dynamic language compared to the compiled language of C++. C++ is also very strongly typed where SmallTalk has no data type assoctiated when declaring a variable. And last but not least, SmallTalk is a true object oriented language because every object is an instance of a class, where C++ is a knock-off wanna-be. (Brian Pashel)

4. Structured Programming, I believe Algol and its "successor" Pascal. Correct me if I'm wrong...
Alfred Park
I don't think the book ever actually says that but Algol was popular at the time I believe. Jared Parsons

3. Sketchpad allowed the user to create a drawing and then reproduce the same drawing on the screen at different locations and sizes. The "artist" can then reproduce the original drawing, alter it, and make new reproducable drawings from the original drawing, creating a kind of geneology of drawings. This leads a clever programmer to think, "Hey, what if I did the same for code?" He then creates a language which allows you to create an original code object (with behaviors and data), like Sketchpad's allowing you to create an original drawing, and then the user can reproduce this object with different parameters like sketchpad's allowing you to repoduce the drawing in different sizes and locations. Then the programmer can implement inheritance on the code just like the aforementioned geneology of drawings, except instead of altering the drawing, you add methods.
Stephen Ingram

Link to this Page