ArticleslgStudy

science

PILOT

PILOT is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand PILOT rather than just read about it. In short: Programmed Inquiry, Learning, or Teaching (PILOT) is a simple high-level programming language developed in the 1960s. Like its sibling LOGO, it was developed as an early foray into the technology of computer-assisted instruction.

Key takeaways

  • PILOT belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect PILOT to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of PILOT from memory before moving on to harder problems.

Reference excerpt

Programmed Inquiry, Learning, or Teaching (PILOT) is a simple high-level programming language developed in the 1960s. Like its sibling LOGO, it was developed as an early foray into the technology of computer-assisted instruction. PILOT is an imperative language similar in structure to BASIC and FORTRAN in its basic layout and structure. Its keywords are single characters, T for "type" to print text, or A for "accept", to input values from the user.

History Starting in 1960, John Amsden Starkweather a psychology professor at the University of California, San Francisco (UCSF) medical center, developed a simple system for automating the construction of computer question-and-answer tests. Working with the Dixie Elementary School District in Marin County, by 1962 the system was functional on a IBM 1620 and given the name COMPUTEST. UCSF installed a IBM System/360 Model 50, and Starkweather applied for a grant for further development by the U.S. Office of Education in 1965. Using this funding, Starkweather began development of an expanded version of the system with more functionality. He gave this version the new name PILOT. Early versions were shown in 1966, and the almost-complete version was released in 1968. The next year it was released into the public domain. PILOT was later adopted by H. Dean Brown at the Stanford Research Institute (SRI) Education Laboratory. Brown popularized PILOT as a language for use directly by children. Brown's efforts changed the language from one intended for use by teachers to write tests and instructional materials to one intended to be used to teach programming. PILOT was ported to a number of other systems, and various extensions and changes added at these sites. This led to a number of incompatible implementations with names like PYLON and NYLON. In 1973, Starkweather brought together a number of people interested in computer aided teaching to develop a machine-independent specification for the language, PILOT-73. A portable subset was also defined as Core PILOT. Core was then ported to the Datapoint 2200, an Intel 8008 powered terminal that would later be known as a personal computer. At $13,000, this was more expensive than many contemporary minicomputers and did not see much use. However, this port proved very useful after the Intel 8080 came to market and spawned many inexpensive microcomputers. Starting in the late 1970s, Western Washington University began expanding the language into Common PILOT. This formed the basis for a number of later microcomputer variants. Processor Technology developed a version for their Sol-20, but the company went out of business before it was published. This nevertheless inspired several other versions during this era. Among these was Nevada PILOT for CP/M systems, based on Common, which in turn was the basis for Atari PILOT, which added a graphics system using turtle graphics and basic sound support. PILOT on the Apple II was written in UCSD Pascal. These versions led to a revival of the PILOT language for teaching, and led to an expanded version known as Super PILOT which added device control so programs could play videodisks and similar tasks. For a time there was an effort to make a single standard for the language as IEEE Standard 1154-1991, but this was abandoned in 2000.

Language syntax A line of PILOT code contains (from left to right) the following syntax elements:

an optional label a command letter an optional Y (for yes) or N (for no) an optional conditional expression in parentheses a colon (":") an operand, or multiple operands delimited by commas. A label can also be alone in a line, not followed by other code. The syntax for a label is an asterisk followed by an identifier (alphanumeric string with alphabetic initial character).

Command letters The following commands are used in "core PILOT". Lines beginning with "R:" indicate a remark (or a comment) explaining the code that follows.

A Accept input into "accept buffer". Examples: R:Next line of input replaces current contents of accept buffer A: R:Next line of input replaces accept buffer, and string variable 'FREE' A:$FREE R:Next 3 lines of input assigned to string variables 'X', 'Y' and 'Z' A:$X,$Y,$Z R:Numeric input assigned to numeric variable "Q" A:#Q

C Compute and assign numeric value. Most PILOT implementations have only integer arithmetic, and no arrays. Example: R:Assign arithmetic mean of #X and #Y to #AM C:#AM=(#X+#Y)/2

D Dimension an array, on some implementations. E End (return from) subroutine or (if outside of a subroutine) abort program. Always used without any operand. J Jump to a label. Example: J:*RESTART

M Match the accept buffer against string variables or string literals. Example: R:Search accept buffer for "TRUTH", the value of MEXICO and "YOUTH", in that order M:TRUTH,$MEXICO,YOUTH

The first match string (if any) that is a substring of the accept buffer is assigned to the special variable $MATCH. The buffer characters left of the first match are assigned to $LEFT, and the characters on the right are assigned to $RIGHT. The match flag is set to 'yes' or 'no', depending on whether a match is made. Any statement that has a Y following the command letter is processed only if the match flag is set. Statements with N are processed only if the flag is not set.

N Equivalent to TN: (type if last match unsuccessful) R The operand of R: is a comment, and therefore has no effect. T 'Type' operand as output. Examples: R:The next line prints a literal string T:Thank you for your support. R:The next line combines a literal string with a variable expression T:Thank you, $NAME.

U Use (call) a subroutine. A subroutine starts with a label and ends with E: Example: R:Call subroutine starting at label *INITIALIZE U:*INITIALIZE

Y Equivalent to TY: (type if last match successful) Parentheses If there is a parenthesized expression in a statement, it is a conditional expression, and the statement is processed only if the test has a value of 'true'. Example: R:Type message if x>y+z T(#X>#Y+#Z):Condition met

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with PILOT

Start with the simplest possible case. Write down what PILOT claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to PILOT before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about PILOT ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of PILOT

In research
PILOT appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses PILOT in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
PILOT is common in secondary-school and first-year university syllabi. It links to neighbouring topics Educational programming languages, IEEE standards, so understanding it makes those chapters shorter.
In everyday life
Look for PILOT outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study PILOT in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what PILOT means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain PILOT out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is PILOT in simple terms?

Programmed Inquiry, Learning, or Teaching (PILOT) is a simple high-level programming language developed in the 1960s. Like its sibling LOGO, it was developed as an early foray into the technology of computer-assisted instruction.

Why does PILOT matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study PILOT?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on PILOT.

Tags

  • Educational programming languages
  • IEEE standards

Keep exploring