I.A. (5 points) Each answer in the table below is worth 0.3-0.4 marks. Fractions of marks were computed so that if you missed one, your mark would be 4.6; if you missed two, your mark would be 4.3, etc.
Note that some of the people below made contributions to fields other than computer science. However, you were specifically asked to identify his primary contribution to computer science, so if you lost marks on that portion of the question, this is why. Also, it was expected that you would be a bit specific about when each person lived (not just "20th century") and where they worked (not just "USA").
| when did he live? | what was his primary contribution to computer science? | what country was he from and where was he working when he made his primary contribution? | |
| I.A.1. John Backus | 1924 - | developed FORTRAN contributed to Backus-Naur form (BNF) | from USA, worked at IBM |
| I.A.2. John McCarthy | 1927 - | invented LISP dubbed the father of "artificial intelligence" | from USA, worked at MIT and Stanford |
| I.A.3. John Napier | 1550 - 1617 | invented Napier's bones, a primitive sort of computer | from Scotland and worked in his home there |
| I.A.4. John Tukey | 1903 - 2000 | termed the phrases "bit" and "software" | from USA, worked at Princeton and AT&T |
| I.A.5. John von Neumann | 1903 - 1957 | developed the model of computation known as the "von Neumann architecture" | from Hungary, worked at the Moore School at UPenn, in USA |
I.B. (3 points) Each section (1, 2 and 3) is worth 1 point. Some partial credit was given if enough right answers are provided. Some deductions were made if too much of the answer was incorrect, if the answer was too vague, or if the answer contained statements that contradicted each other.
I.B.1. The ENIAC hardware used relays to represent numbers, in binary. A single relay, pulsed over time, represented multi-digit numbers. The presence of signal corresponded to a 1 and absence corresponded to a 0, hence a binary number could be formed.
I.B.2. The first UNIVAC computer was delivered by the Remington Rand corporation, in early 1951 to the U.S. Census Bureau. The task it supported was the census, or counting of the population, whose numbers had increased immensely in those early years of the post-WWII baby boom.
I.B.3. IBM stole the computer market away from UNIVAC in the late 1950's and early 1960's. A history of excellent marketing and technical support drove IBM's rise in the industry.
I.C. (2 points) Partial credit was given if the definition for computability was correct but the proof was missing or incorrect.
From the Turing "Entscheidungsproblem" paper, "a number is computable if its decimal can be written down by a machine." And "although the class of computable numbers is so great, ... it is nonetheless enumerable." The application of Cantor's diagonalization process can be used to prove, by contradiction, that computable numbers are indeed enumerable.
I.D. (2 points) It was important to include in the answer the explanation that perceptrons cannot compute linearly separable functions. If this message was not conveyed, either explicity or implicitly, then points were deducted.
A simple perceptron can only compute functions which are linearly separable. XOR is not linearly separable, therefore it cannot be computed by a simple perceptron.
I.E. (3 points) Each section was worth 1 point. No partial credit was given for any of the sections.
I.E.1.
The four relations are:
person = (name,birthday)
address = (name,phone_number,street,city,state)
relationship = (name,partner,email)
date = (name,partner,number,event,rating)
I.E.2.
The permuted projection is:
| name | partner |
| suze | john |
| suze | george |
| jen | john |
| jen | ringo |
| alex | christina |
I.E.3.
The join is:
| name | partner | |
| suze | john | john@thebeatles.com |
| suze | george | george@thebeatles.com |
| jen | john | john@thebeatles.com |
| jen | ringo | ringo@thebeatles.com |
| alex | christina | aguillera@yahoo.com |
(15 points) Each question was worth 5 points. Partial credit was given, based on how much of the information desired of your answers was present, as well as how readable your answer was. In general, the essays were far too long and were extremely poorly written. I was shocked at the number of spelling and grammatical errors, showing that students failed to proof-read their work. I realise that much of the class are non-native English speakers, but this does not excuse the sloppiness or lack of attention to simple details (like spelling "Minsky" or "Brooks" correctly).
It is difficult to mark subjective questions like these. There were a few key points that I was looking for, which I have outlined below. If your answer contradicted one of my key points, but you argued your point well, then I gave you full marks. If you gave the right answer, but did not defend it well (or at all), then I deducted marks.
II.B.1. You were asked to describe the programming approach taken in the Brooks paper, specifically whether a von Neumann, functional, object-oriented or connectionist model was used. Arguments could be made for any of the above, as well as a combination of these. If you defended your reasoning well, then you were given full marks. If not, you lost points.
II.B.2. The philosophy of intelligence that comes across in both the Minsky and the Brooks articles describes breaking down complex actions into small parts, or modules, each designed to accomplish simple tasks. These parts are then combined to result in a whole "intelligent" machine. Your answer should touch on the notion of breaking down tasks into parts and building up these parts to make a whole.
II.B.3. You were asked to comment on the questions "Can machines think?" and "Are people machines", from both historical and modern perspectives. I asked you to discuss how you thought Babbage and Minsky might answer these questions, as well as how you might answer them yourself. I expected you to include some analysis from Turing's "Computing Machinery" paper. If your answer was well-defended, you got full marks.