A typical Computer Science syllabus would take a 'bottom up' approach in which an understanding of computing is based on understanding of some of the important features of computers and aimed at producing people with the ability to develop and to think about computing systems that meet important current and future practical needs.
The AI proposals presented here are intended to complement such a syllabus by offering a type of education that would be attractive to a different kind of student, such as might be interested in the study of philosophy, psychology, language, social science, biology, or mathematics. It would adopt a more 'top down' approach, by introducing such students to 'higher level' ideas such as the notion that there are various kinds of information processing, some of which occur in nature, e.g. in all animals, including microbes and humans, whereas others occur only in man-made machines. This opposition would lead to the challenge of producing machines that exhibit more of the capabilities that are characteristic of humans and other animals. Such a syllabus should introduce
Recently comprehensively surveyed in a two volume book by Margaret Boden 'Mind as Machine: A History of Cognitive Science' (OUP 2006) briefly described here
A vast source of information about that, and other things, is available at this web site http://www.aaai.org/aitopics produced by the Association for the Advancement of Artificial Intelligence (AAAI, previously known as the 'American Association for Artificial Intelligence' - the name has recently changed in view of the international spread of membership and activities.)
An example of the difference between the two kinds of syllabus is that whereas a Computer Science syllabus may start its programming component with work on logical and arithmetical operations, the proposed AI syllabus would begin with list-processing programs using a high level AI language providing pattern matching capabilities used to implement simple kinds of 'natural language' processing, such as generating and later parsing sentences, and then making plans, solving puzzles, and perhaps doing some learning. Some schools might wish to introduce AI teaching based on programming physical or robots, though that should be an option rather than a requirement.
AI is inherently highly interdisciplinary because all kinds of intelligence, whether natural or artificial are concerned with subject matters that are studied in other disciplines, and the explanatory models of natural intelligence have to take account of and be evaluated in the disciplines that study the natural forms.
Further information about the scope of AI is provided in an
accompanying document:
http://www.cs.bham.ac.uk/research/projects/cogaff/misc/courses/ai-overview.html
NOTE
Like Alan Turing, in 'Computing machinery and intelligence', Mind, 59, pp. 433--460, 1950, I believe attempting to define 'intelligence' is a complete waste of time. We can collect many different examples of competences displayed by humans or other animals, and examples of challenging biologically-inspired behaviours required in future machines, and we can investigate requirements for modelling or replicating them without needing to draw any definite line between those that are and those that are not intelligent. We may find it useful to subdivide the cases in terms of either their capabilities, or the mechanisms required, or the kinds of information they use, or their potential usefulness in various contexts, and those divisions will be much more interesting and useful than any binary division based on a pre-theoretical concept like 'intelligence'.
By taking this course such students will not only learn how to design, test, analyse, and compare working computer models of various kinds, but will also learn about their broader significance in helping us understand such diverse phenomena as human use of language, learning, visual and other forms of perception, problem solving, creativity, and also some of the evolutionary processes that produced them and some of the kinds of behaviours found in other animals. They will also be introduced to some of the practical applications of these techniques, e.g. in medical diagnosis, in computer games and in new forms of entertainment, as well as to philosophical and ethical debates related to these ideas.
The syllabus is not specifically aimed at students who wish to go on to higher education courses in computing or employment as computer developers or advanced computer users, though it may help such students. It may also be useful for students who wish to study other subjects at University, such as psychology, biology, linguistics, philosophy, engineering, or management, where it may be useful to evaluate current achievements and limitations of Artificial Intelligence and requirements for future applications of AI in those disciplines.
Students following this syllabus do not require any prior knowledge of computing, though it will be helpful to have basic familiarity with keyboard, mouse and text-input. A great deal of the work will involve typing text into a computer and reading textual output, and students who find that difficult will need special help. The course does not require specific mathematical skills though logical and mathematical potential will be very useful, and there will be opportunities to use and develop such capabilities. For example, learning AI will inevitably involve learning some formal logic and set theory (both of which can be learnt on-the-job), and study of complexity issues can be used as a basis for teaching students about combinations and permutations. Requirements for programs with graphical interactions can be used to teach students about coordinate systems and some linear algebra. The most important prerequisite is a liking for solving problems with an intricate structure, such as crossword-puzzles, soduku, or rubic cubes, and a strong desire to understanding how complex things work.
The programming techniques will make use of standard building blocks enhanced with AI mechanisms (e.g. use of local and global variables, conditionals, loops, recursion, case-constructs, along with pattern matching and rule-based programming). Simple AI toolkits may be used to implement concurrency, e.g. in simple adventure games or simulated robots or animals. A basic introduction to logic programming will be included, using Prolog to manage and interrogate a very simple database.
The examination will consist of two parts, an internally assessed group mini-project chosen by students working in groups of two or more, and an interactive computer-based based test of understanding of a variety of programming constructs used in the course.
There will be considerable emphasis on prior documentation of high level
requirements as well as designs, and on analytical or empirical
comparisons of alternative solutions, and documentation of weaknesses
and limitations of initial solutions to problems. The examination will
consist of an on-screen assessment of understanding of various aspects
of AI programming, including some tests of understanding of programming
concepts, ability to describe and fix bugs, ability to comment on design
descriptions or architecture diagrams, and ability to complete some
nearly working programs.
(Is all that feasible in the time available?)
It would be desirable to allow such projects to include use of physical robots. However there are considerable extra costs in doing this and it may be best to wait for the new syllabus to get off the ground, with expertise developing and spreading across schools for a year or two before any special effort is made to introduce robotic teaching. Alternatively pilot schemes could start in parallel in a small subset of selected schools where there is already appropriate expertise and enthusiasm.
NOTE:
I do not know whether typical school circumstances and examination-board arrangements allow the possiblity of such group projects. However the multi-level educational value of working on group projects is so great that if it is at all possible within the resources available, it should be allowed.
It may also be possible to provide grants for experienced AI teachers in higher education institutions to take leave for several months or a year, to work with one or a group of schools wishing to set up this kind of course. Funding for a few post-doctoral fellowships could be extremely effective. (Would funding agencies like Leverhulme be interested? Could EU funding be found?)
A solution that has many advantages is for the teaching to make use of
remote servers, e.g. managed by university departments that already
provide such facilities for their own students. They will need some
extra resources to provide the required support, though initially
numbers and demand will be low. One advantage of the use of remote
shared servers will be increased possiblities for mutual help and
collaborative projects straddling more than one school, and for students
and teachers to be able to do work out of hours. For example my
department has been teaching AI at introductory and advanced levels for
many years using software and introductory and advanced
teaching/learning materials that could easily be made available
remotely, as they are already for our own students. There will be
several other such departments in the UK.
The idea of using remote servers for school computing is discussed
in more detail in
http://www.cs.bham.ac.uk/research/projects/cogaff/misc/compedu.html
Possible cost for an initial experiment, including travel, accommodation, equipment, and fees for the experts could be about £100,000, or significantly more if the courses included introductions to AI robotic programming using robot hardware. (I suspect that would be better left to a second wave of teacher training.)
This experiment could be repeated at least once a year, with growing numbers of school teachers. Some teachers might get grants to attend longer, more substantial AI courses, e.g. a six months diploma course or a one year MSc course.
'Inspirational IT' by Nigel Shadbolt, BCS President
http://www.bcs.org/server.php?show=ConWebDoc.7860BCS: UK tech industry faces skills crisis
Tom Espiner ZDNet UK, 17 Nov 2006
http://news.zdnet.co.uk/itmanagement/0,1000000308,39284764,00.htmComment in Computer Weekly 18th Jan 007
http://www.computerweekly.com/Articles/2007/01/18/221254/shortage-of-graduates-threatens-future-of-uk-it-sector-warns.htm
A slightly more up to date version is here
http://www.cs.bham.ac.uk/research/projects/cogaff/misc/courses/ai-overview.html
NOTE:
The final QAA benchmarking document for Computer Science (published in 2000) is available at http://www.qaa.ac.uk/academicinfrastructure/benchmark/honours/computing.pdfAlthough I am listed as a member of the panel responsible for the report, I felt then (as did some others) that it did not make sufficient allowance for a strongly theoretical degree with a high mathematical content permitting a theoretical project at the end.
For further discussion of the issues see
'POP-11 for everyone' by Marcus Gray (pp. 262--271)NB:'Creating a "good" programming language for beginners' by Michael Coker (pp. 282--299)
in New Horizons in Educational Computing, Ed. Masoud Yazdani,
Ellis Horwood Series In Artificial Intelligence,
John Wiley, Chichester, UK. 1984, ISBN:0-470-20022-7The book also contained my own paper 'Beginners need powerful systems', also available here.
It is broadly based on the document on AI
produced for the QAA benchmarking panel in 1999, available at
http://www.cs.bham.ac.uk/research/projects/cogaff/misc/courses/ai.html
which was informed by consultation with university teachers
and researchers in AI in the UK.
It's purpose is to provide a reminder of the scope of AI that can inform the more detailed design of a syllabus. However, many of these topics are too difficult to be included in a school syllabus, and are listed merely for information.
The Association for Computing Machinery has a list of sub-fields of computer science, which changes from time to time. Several versions are available at http://www.acm.org/class/It is not updated often, so it is now out of date and should be treated with caution.
AI Organisations
There are two main UK AI organisations.
The Society for the Study of Artificial Intelligence and Simulation of Behaviour, claims to be the oldest AI society in the world. See http://www.aisb.org.uk/The British Computer Society Specialist Group on Artificial Intelligence (BCS-SGAI) has a more applied focus, though its seminars and annual conferences are very wide ranging. See http://www.bcs-sgai.org/
The main European AI organisation is ECCAI (European Coordinating Committee on AI), to which national AI organisations are affiliated. See http://www.eccai.org
The largest AI organisation is the Association for the Advancement of Artificial Intelligence (AAAI). Information about it is at http://www.aaai.org . It includes AITOPICS, a collection of Web pages (under continual development) that attempt to characterise the scope of AI, and provide a steady stream of news about AI and its applications.
The major regular international conference on AI is The International Joint Conference on AI (IJCAI) held every two years since 1969. See http://www.ijcai.org
There are also many national Artificial Intelligence Societies, which organise conferences, and other activities.
There is a growing collection of web sites providing information about AI, some compiled by individuals and some by firms or organisations. for example the New Scientist AI web site http://www.newscientist.com/nsplus/insight/ai/ai.html
A document on AI for School Careers Advisers
A document was put together in 1998 for a conference of school careers advisers in England giving a more discursive overview of AI: http://www.cs.bham.ac.uk/~axs/misc/aiforschools.html
This includes pointers to several other sources of information about AI, including summaries by some of the founders of the field (e.g. Minsky, McCarthy), some textbooks, and UK universities known to be offering undergraduate degrees with AI in the title in May 1998.
This file maintained by
Aaron Sloman
Last updated: 4 Mar 2007; 27 Aug 2017 (re-located)