On this page
The phrase "artificial intelligence" comes from a research proposal written in the summer of 1955. Its lead author, John McCarthy, was then a young mathematics professor at Dartmouth College. He went on to create Lisp, one of the oldest programming languages still in use, and to propose the time-sharing that let many people use one computer at once. This post reads the original proposal, explains Lisp's key idea with a worked example, and draws out what students can learn from how McCarthy worked. For the earlier question of whether machines can think, see our post on Alan Turing.
Who was John McCarthy?
The ACM's Turing Award biography records that McCarthy was born in Boston on 4 September 1927 to immigrant parents. A sickly child, he moved with his family to Los Angeles, where he read mathematics books from the nearby California Institute of Technology. He entered Caltech in 1944 with advanced standing, graduated in 1948, and earned a PhD in mathematics at Princeton in 1951. With Claude Shannon he co-edited a book called *Automata Studies*. He was a professor at Stanford from 1962 and died at his Stanford home on 24 October 2011, aged 84.
What did the Dartmouth proposal say?
On 31 August 1955, McCarthy, Marvin Minsky, Nathaniel Rochester and Claude Shannon signed A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence. It opens: "We propose that a 2 month, 10 man study of artificial intelligence be carried out during the summer of 1956 at Dartmouth College in Hanover, New Hampshire."
The study was to proceed "on the basis of the conjecture that every aspect of learning or any other feature of intelligence can in principle be so precisely described that a machine can be made to simulate it." The authors hoped to find how to make machines use language, form abstractions and concepts, solve kinds of problems then reserved for humans, and improve themselves.
One line still reads well. On automatic computers, they wrote that the major obstacle "is not lack of machine capacity, but our inability to write programs taking full advantage of what we have."
The ACM biography explains the name. The title *Automata Studies* had not stirred much excitement, so McCarthy introduced "artificial intelligence" at the 1956 conference, and both researchers and the public took it up.
What was Lisp?
In 1960 McCarthy published Recursive functions of symbolic expressions and their computation by machine, Part I in Communications of the ACM. Its abstract says that LISP, short for LISt Processor, had been developed for the IBM 704 by the artificial intelligence group at MIT, for experiments with a proposed system called the Advice Taker. The ACM biography adds that Lisp became an important tool in AI research and is still widely used.
Lisp's central idea is that programs work on lists of symbols, and that functions on lists are defined recursively: one rule for the empty list, and one rule that handles the first item and calls itself on the rest.
Worked example: counting a list recursively
Lisp has two basic operations on a list: `car` gives the first item and `cdr` gives the rest. For the list (A B C), car gives A and cdr gives (B C).
Define the length of a list:
If the list is empty, its length is 0.
Otherwise, its length is 1 + the length of its cdr.
Trace the length of (A B C):
Not empty, so 1 + length of (B C).
Not empty, so 1 + length of (C).
Not empty, so 1 + length of ().
Empty, so 0.
Now add back up: 1 + (1 + (1 + 0)) = 3.
What mistakes do students make with recursion?
No base case. Without the "empty list gives 0" rule, the function never stops.
Not shrinking the problem. Each call must work on a smaller list, here the cdr.
Losing track of pending additions. Write each level on its own line, as in the trace, and add up only at the end.
The same pattern appears in school programming; our post on Python functions for CBSE has practice.
What else did McCarthy start?
The ACM biography credits him with a memorandum proposing general-purpose time-sharing, which inspired systems at MIT, and with directing the Stanford Artificial Intelligence Laboratory from 1966 to 1980. His students wrote an early chess program that used his version of alpha-beta pruning to cut down the positions it had to consider. He received the ACM Turing Award in 1971.
AI tutors today belong to the field that proposal named. Fermi's AI tutor teaches rather than answers: it notices where you are stuck and decides whether to explain, ask or show. Our post on AI tutors and answer chatbots explains the difference.
What can a student learn from how McCarthy worked?
McCarthy stated a bold idea as a conjecture, gathered people to test it, and built the tool his group needed when existing languages fell short. He also cared about names: a clear one helped a whole field form around a question. When you start a project, write down the conjecture you are testing in one sentence.
Try it now: write a recursive rule for the sum of a list of numbers, then trace it for (4 7 2).



