Recent advances in computer hardware have been accompanied by similar improvements in software, resulting in affordable fifth-generation languages (5GLs). Availability is not the same thing as accessibility, however, and artificial intelligence, which is a key component to 5GL software, remains a curiosity. At most, one can learn about it as an elective class at the university level, usually taught by a graduate teaching assistant. This is unusual, given the role it plays in society today.
While teaching Artificial Intelligence (AI) at the high-school level, the author has developed a four-part curriculum that is offered as a model for implementation into a high school's computer curriculum. A broad overview of this curriculum follows.
* Overview of AI Curriculum
Students begin by examining a variety of topics, such as the definition of intelligence and the components of learning. They explore different ways of representing information as well as current uses of AI in business and industry. Vocabulary is introduced at this time. The focus of the second part of the curriculum is upon expert systems, a specialized type of software in which the computer attempts to duplicate the function of an expert in a specific field. The computer makes recommendations based upon the rules (knowledge base) created by a programmer. Students are introduced to PDC Prolog, one of two common programming languages used in AI, in the third segment. Use of a robotics manufacturing system that incorporates machine vision in the identification and manipulation of parts occurs in the fourth and final part of the curriculum.
The remainder of this article is devoted to a brief definition of AI, examples of current applications, a justification for including AI in a high school's computer curriculum and the curriculum proposal itself.
* Defining Artificial Intelligence
Artificial intelligence is "the branch of computer science devoted to the study of how computers can be used to simulate or duplicate functions of the human brain... [making] it appear as though a computer is thinking, reasoning, making decisions, storing or retrieving knowledge, solving problems, and learning."  (Italics added by the author.)
Artificial Intelligence differs from other programming languages in at least three ways. First, it does not use algorithms--step-by-step procedures--to solve problems. Instead, it uses symbolic representation--letters, words or numbers--to represent objects (in the form of statements and procedures), processes and their relationships.
The second major area of difference is how uncertainty is handled. Using the sentence "Erin is taller than Esther" as an example, how does one define tall? Are you tall at five feet five inches? What about short? Are you short at four feet eleven inches or at five feet? Artificial Intelligence is able to deal with such imprecision through the use of confidence factors and probability.
The final distinction lies within the realm of decision-making. Conventional software uses precise data and step-by-step instructions for solving a problem, thereby limiting the computer to predetermined solutions. Whereas in AI, the computer is given information (sometimes imprecise) and the ability to make inferences. The computer and the software determine the solution.
* Real-World Uses of AI
Artificial Intelligence is important not only because the Japanese are using it as their language of choice for their fifth-generation computers, but because it is already impacting our daily lives. Cameras incorporate "fuzzy logic" circuits to control automatic focusing. (Fuzzy logic is a means of dealing with imprecise information, such as short and tall, by assigning a value between 0 and 1.) Subway trains use it to control acceleration and deceleration.
Expert systems are utilized by businesses for such things as locating oil and mineral deposits, managing stocks, or troubleshooting and maintenance. …