This is a story about various approaches to computer training in the United States, in an era before the advent of personal computers. Special attention will be paid to the educational activities of the People’s Computer Company (PCC). You could find the mention of this organization, as well as of the club and newspaper of the same name in the well-known book by S. Levy, Hackers: Heroes of the Computer Revolution. Finally, we will discuss the early text games, in particular, the "Star Trader" (Star Trader). The modern implementation of this classic game on Python will be discussed in the final part.
As you can see, it will be a story about the affairs of bygone days. Why should this interest anyone? In my opinion, many old ideas and approaches concerning computer training have not lost their relevance to this day. Some of my friends are planning to create a computer system for teaching children to programming. I hope this story will work on such developers inspiringly.

"Education Crisis"
Let's fast forward to the year 1957. The recently launched Soviet Sputnik-1, as is well known, made a tremendous impression on the United States. A good illustration of the moods that prevailed then was the cover of Life magazine for 1958, in which an excellent student from Moscow with a serious penetrating gaze and his American sibling peer adjoin him. The cover has the title “Crisis in Education”. Conclusions, to the credit of America, were made quickly and considerable public funds were allocated to science with education.
')
Cover of Life magazine for 1958.In particular, the famous ARPA agency (which later received the more familiar abbreviation DARPA) appeared on projects that are related to long-term, promising research and, often, in no way related to defense. With the support of ARPA and the money of the military, the Internet and the first personal computers were created. A.Kay (Alan Kay) spoke about the work of ARPA in those times: “The main idea of ​​ARPA is that you find excellent specialists, you give them a lot of money and then leave them alone. If they do not do something good in 3 years (that is, something new and interesting), then they will be fired. ”
Skinner box
Hopes for improving the quality of education were linked, among other things, with the computerization of the educational process. And here, it would seem, the popular theory of behavioral psychologists (from the word behavior - behavior), in which the student was viewed as an experimental animal, like Pavlov's dog, could not have been better suited. A computer, in full agreement with these theories, is able to evaluate only external reactions. The desired behavior is proposed to form through rewards and punishments. The most popular were the works of B.F. Skinner He obtained his main results by training pigeons, whose reactions he controlled with the help of a special box.
Skinner box.A typical CAI-course (Computer Aided Instruction) of computer education in the 60s, organized in the spirit of Skinner's work, is a demonstration of fragments from some field of knowledge, the assimilation of which is verified through dialogue with the user. In consolidating the desired "conditioned reflex" in a student, stimuli such as points or limited response time help. A question to which an incorrect answer was received may be asked again, but with additional explanations or a demonstration of the correct version. By and large, different implementations of CAI differ from each other by the level of imitation of the teacher who guides the student’s actions, and this suggests the use of approaches from the field of AI. On the other hand, it is simple, linear CAI that turned out to be the most convenient from the point of view of the development of teachers. In general, CAI courses are most useful in training and in testing knowledge, which can be easily quantified.
Bob albrecht
In 1962, Bob Albrecht (Bob Albrecht) first began to teach high school students Fortran. Who is Bob Albrecht? He was later written about as a computer enthusiast-educator who influenced the youth in the late 60s and early 70s more than anyone else in the relevant field. It was Albrecht who founded the “People's Computer Company,” but I will tell about this later. Let's go back to 1962. Computers at that time occupied entire rooms and were owned by large corporations. Programmers had to wait in line for days in order to submit their program for execution to operators - the "priests" of the machine. A typical training option for the elite, and at best they were students of relevant specialties, were boring lectures, without using the computers themselves. Albrecht was lucky to organize the educational process differently, with the practical use of one of the CDC machines. At the same time, programming was at the forefront (solving school problems, games), and not CAI. In the classroom, the situation was encouraged when more experienced students tried themselves in the role of teachers. The burning eyes of schoolchildren, their genuine interest in computer development became for Albrecht an incentive to seriously address the issues of computer training for ordinary people who are far from computers and the interests of large companies. Of course, all this was possible thanks to the help of the CDC, as well as the availability of government grants. In the mid-60s, 2 very important things emerged for the development of Albrecht's learning activities: mini-computers and the Basic language.
Mini computers
Today, the word "mini-computer" seems to have lost its original meaning. But once it was a whole era. The new element base, the computers themselves are "just" the size of a wardrobe. And, of course, the use of time sharing systems. Faster than the previous generation, mini-computers could serve multiple users connected simultaneously. Communication with computers has become more interactive and accessible to a wider range of users. CRT monitors in the 60s were still too expensive and not very common, so an electromechanical typewriter (TTY) was usually used as an I / O device. You type the text on paper, the text is printed back to you. Connecting the teletypes to a mini-computer could also be remote, using a normal telephone line and an acoustic modem. In such a remote mode, mini-computers were often used in American schools.
PDP-8 mini computerBASIC
Mini-computers and time-sharing systems made it possible for the interactive programming language to appear especially for beginners and non-programmers. Criticism of BASIC is well known. However, it is better to consider the positive and negative properties of this language in the context of the time when it was really relevant. Many negative features, such as, for example, unstructuredness, are explained by the desire of the authors of the language to make possible the implementation of the BASIC interpreter even on the weakest mini-computers. One of the authors of the language, D. Kemeny (John Kemeny), proposed writing computer programs as an educational aspect. In this case, the student becomes a teacher for the computer. A student gets a very useful experience in the process of formulating a task in a form suitable for a computer.
One of those who immediately appreciated the possibilities of a new language in learning activities was Bob Albrecht. He even half seriously organized a society to abolish the use of Fortran in training. BASIC Albrecht demonstrated with the participation of his students at numerous conferences and exhibitions. He also was one of the first to write several language tutorials. Perhaps the most popular programs in BASIC were training simulations and games.
Simulations and games
It is very curious to read the 1966 article entitled “Two computer-based economics games for sixth-graders” (Two Computer-Based Economics Games for Sixth Graders). The article talks about an interesting experiment on the use of games in the educational process. Students using IBM teletype terminals (this company participated in the project) communicate with the computer, and in addition, some of the information is displayed graphically using a slide projector. One of the games offers to try yourself in the role of ruler in the days of the Sumerian civilization. Provides information about the current population and state of resources. The player has to make decisions on the topic of grain distribution, etc. If you know the history of computer games well, then this description may have seemed familiar to you. Indeed, we have a forerunner of such games as Hamurabi (1968).
"Sumerian game"Of course, the perception of new knowledge in a game form is much more fascinating than CAI. For example, I still remember with gratitude text games on the ZX Spectrum computer, such as Sherlock. With the help of these games I was once able to learn the basics of the English language. This gaming experience was more like entering a foreign environment than a typical CAI course.
Nevertheless, in many cases, the criticism of A. Kay is applicable here, which he expressed in relation to the famous game SimCity. Kay did not like the game to hide a lot from the user. We are not available to the rules and heuristics that are used in the basis of the game world. If the student had this knowledge and the possibility of modifying the basic parameters, then he would be able, acting as a researcher, to understand at a deeper level the important principles that are used in the basis of the game model.
In the late 60s and early 70s, the Huntington Computer Project operated, supported by a government grant and, subsequently, by DEC. The essence of the project was to create a package of training simulations in BASIC for schoolchildren and students. These programs were focused on a variety of school subjects: biology, physics, social sciences. The code was deliberately simplified, firstly, to allow running simulations on weak machines and, secondly, to enable students to explore the programs. Among other simulations of the project, LIMITS stands out for its scale, which simulates the growth of the human population and the exhaustion of natural resources.
Mention should also be made of the first learning history games. This is the Civil War (1968) on the topic of the US civil war and, of course, the famous “Oregon Trail” (Oregon Trail, 1971), written in BASIC.
LOGO
Above mentioned theories of behavioral psychologists. Constructivist psychologists demonstrate a completely different approach to the problems of learning, among which should be mentioned J. Piaget and the Soviet scientist L.S. Vygotsky. In constructivism, the main role is played by the student, not the teacher. For the student, conditions are created under which he is able to independently grow, re-invent knowledge. Of course, the most questions are caused by how this learning environment is stimulated by the work of thought.
In the field of computer learning, pioneer of the use of constructivism is S. Papert (Seymour Papert). The famous phrase of Papert was: “Should the computer program the child, or should the child program the computer?”. Papert and his colleagues from MIT created the Logo language (Logo, 1967) to teach children programming. The logo is a very well-designed language, even by modern standards. He has incorporated many elements of the Lisp language. The logo has implementations of compilers and complex AI algorithms. But the general public, he is known, of course, thanks to the "bug". The concept of drawing patterns "turtles" suggests that the child is able to easily imagine himself in her role and can spend, for example, "debugging" the program, moving around the room in accordance with the specified commands.
The tasks that the student solved using Logo programming in the MIT laboratory of those times are significantly different from typical school programming problems (“calculate the sum of squares of the first N even numbers” and the like). The 1971 article “Twenty Things You Can Do with a Computer” (Twenty Things To Do With A Computer) Papert describes some interesting uses for the Logo. Among them: control of the robot turtle using a computer, drawing various pictures and cartoons on the monitor screen, creating pupils of their versions of the game Spacewar, generating music and poems, controlling a computer crane with a toy crane, creating a light show using control of lamps, creating CAI on their own courses for their peers, etc.
Mechanical "bug"In the Logo classes, the children did about the same things that their current peers do with Arduino and Processing. And the emphasis on things from the real world (robot-bug, toy crane, light show), of course, is not accidental. Yes, it is more difficult to operate the crane than to find the sum of numbers. But much more exciting!
PLATO
Under the name PLATO, an amazing computer-learning project created by the forces of the University of Illinois, with the support of the state and CDC, is hiding. In 1972, the system consisted of a supercomputer and many terminals connected to it in various educational institutions. Each terminal was equipped with a keyboard and a monochrome plasma display with touch controls and a resolution of 512x512. The main idea of ​​the project was to use high quality CAI courses: with good graphics and music. Here you can draw a parallel with computer courses on a CD-ROM for multimedia PCs, which also once had high hopes.
Terminal PLATO IVDespite the fact that within PLATO a simple high-level language TUTOR was developed to create CAI, in fact, the level of courses used within PLATO was not always high. Fortunately, the system had the opportunity to independently develop programs on the terminals using TUTOR and make them available to other users. It was this opportunity that allowed PLATO to remain in history as a system ahead of its time, in which chat rooms, forums, email and multiplayer games were widely used for the first time. These wonderful things were created, mostly, ordinary schoolchildren and students.
The influence of counterculture
The counterculture of the 60s in the USA was a multifaceted phenomenon: psychedelic rock, “Back to the ground” movement, anti-war protests, etc. In the computer field, countercultural ideals included the decentralization and personalization of computers. In contrast to the AI, which could be used by corporations to control the masses, approaches associated with AI (enhancing natural intelligence) were proposed, which put man at the head of the symbiosis of man and machine. Among the main spokesmen of these ideals should be noted V. Bush (Vannevar Bush), D. Engelbart (Douglas Engelbart) and T. Nelson (Ted Nelson). The ideas of the inventor B. Fuller (Buckminster Fuller) were also very popular in the countercultural environment. One of Fuller's famous sayings is: “If you want to teach people to think in new ways, don’t even try to teach them. Instead, give them a tool whose use will lead to the comprehension of new ways of thinking. ”
These were the ideals that were fully shared by Bob Albrecht, who opened in the late 60s, most likely the first computer club in the world called the People's Computer Center (PCC). Anyone could get into it and use mini-computers and programmable calculators to their liking: for games, learning, and writing programs.
The atmosphere of the club can be imagined using the following quotation from the book by S. Levy.
“The air was usually filled with chiming terminals, one of which was connected to the PDP-8, and the other to the telephone line, through which it was possible to communicate with the computer at Hewlett-Packard, which provided free time for the PCC. It’s very likely that someone was playing one of the games written by an overgrown group of PCC hackers. Sometimes housewives who were sitting at home with the children came with them here and were unexpectedly addicted to programming, so much so that their husbands began to worry that the mothers loyal to this moment were throwing both children and the kitchen in favor of the joys of BASIC. Some businessmen tried to program a computer to predict quotes on the stock exchange, and spent countless hours on this chimera.
The Saturday Review newspaper quoted Albrecht as saying: “We would like to be next door to
friendly computer centers worked for them, where they could quietly
to enter any person, just as he goes into bowling or slot machines, and think of how interesting it is to spend time with a computer. ”
Albrecht’s approach was to create an environment for children in which they could learn on their own. Of course, PCC employees were always ready to answer questions from club visitors or to offer a self-help manual. Seminars were held regularly. Albrecht spoke about the learning process as follows.
“When children first come to the PCC, they usually play games. Sometimes 2 or 3 weeks. But at some point almost every child asks a question: “How can you teach a computer to play such games? How can I write a game? “After the child has learned the basics of mathematics, perhaps with the help of CAI, we can explain to him how to write similar training programs himself, to teach other children. And, perhaps, his program will be more useful for other children than a program written by a behavioral scientist sitting somewhere in his ivory tower. ”
Incidentally, the famous computer game "Hunting for Vampus" (Hunt the Wumpus, 1972) was written precisely within the walls of the PCC club.
"People's Computer Company"
In 1972, Albrecht and his colleagues began to publish a newspaper called "People's Computer Company." It was not the first computer edition. Before it existed Computers and Automation (1950), Datamation (1957) and Computerworld (1967). But the “Company” has definitely become the first computer newspaper targeted at the general reader. In the rooms a lot of space was given to BASIC and game listings in this language. A large number of articles were devoted to computer art (graphics, music, generators of poetry). There were articles on the topic of choosing a mini-computer, book reviews. PCC newspaper was distinguished by an unusual layout: various fonts, unexpected text layout, freehand drawings.
The following words became the motto of the newspaper: “Computers are more often used against people, instead of helping people. Used to control people, instead of releasing them. The time has come to change it - we need ... People's Computer Company. ”
Picture from the first issue of the PCCThe influence of the PCC (club, company, newspaper) turned out to be very great. Without the PCC, there would be no famous Homebrew Computer Club. From the PCC grew the “Dr. Dobb's Journal” (Dr. Dobb's Journal), as well as the academic “Computer Music Journal” (Computer Music Journal).
Nowadays, the format of a computer magazine has almost completely ceased to exist, but if you read the Russian ZX Review magazine in the early 90s, turning over the pages of PCC can make you have a nostalgic smile.
"What to do after you press ENTER"
In 1975, PCC published a great book about computer games called “What to do after you hit ENTER”.
Oddly enough, this was not the first book on this topic. Back in 1973, D. Ela's book entitled “101 Computer Games in BASIC” (101 BASIC Computer Games) was published. It is curious that it expresses thanks to all the same Albrecht and the PCC. Al's list consisted of games that he adapted to the DEC version of BASIC from other languages ​​and computers. Each game was accompanied by a small description, an example of gameplay and listing.
Let's go back to "What to do after you pressed ENTER." The book contains mostly original games, many of which were published in previous years in the newspaper. Presented games can be divided into several categories.
- Options for guessing numbers.
- Word games.
- Board games.
- Hide and seek on the 2d grid.
- Games with patterns (game "Life", the generators of labyrinths, etc.).
- Caves (traveling through tree graphs, Wumpus).
- Simulations (Hamurabi, King, Civil War, Market, simulations from the Huntington project).
- Sci-fi games (Star Trader, Star Trek).
Cover the book about the games from the PCC.It is curious that this book on the Internet (on archive.org) appeared quite recently, in early 2017. And now some inaccuracies made by computer historians, who did not have access to the text, became visible.
"Star Merchant"
Of particular interest, in my opinion, in “What to do after you pressed ENTER” are not even the games themselves, but the approach to their description, which I will further illustrate with the example of the “Star Merchant”.
The Star Trader game was developed in 1974 by Dave Kaufman, an employee of PCC and a great fan of fiction. The game is one of the most voluminous by the code for its time. Its size exceeds the size of such "heavyweights", written in BASIC, as "Star Trek" and "Oregon Path". In fact, we have before us the founder of the space trade genre.
On the page devoted to the "Star Merchant", a general description and game rules. This is a turn-based game for several players, each of whom owns several spacecraft. Ships move from one planetary system to another and are engaged in trade. Systems have a different level of development. In the center are the most developed of them, here you can buy high-tech goods. On the border systems you will sell raw materials. The main task of the players is to earn more than their rivals. With the passage of game time, planetary systems are slowly developing, and new stars can be discovered on the map.
Star Card from the gameThe game is quite fascinating, and it is worth noting that it is not in the PCC pedagogical rules to present your games in the form of black boxes inaccessible for understanding the internal structure and changing it. Just playing is not enough. Play creating your own version of the game - that's where the real pleasure! Therefore, further in the book there is a part entitled “2 pages of ideas for the Star Merchant”. These ideas are designed to stimulate the reader's imagination, as well as to encourage him to his own creativity. I will cite only some of them.
- Create a new macroeconomic model.
- Create more than one class 1 star on the map (the highest level of development) so that competing shopping centers exist from the very beginning.
- Let the player earn extra piracy. But if he is caught - (make it up yourself).
- How about trading between player ships?
The book explains in detail how the main elements of the game are arranged.
In particular, a simple procedural generation algorithm is used to create a star map. The trading algorithm on the planetary systems is organized with the help of a gradually narrowing price window. The economic model is set using a graph, where the X axis represents the development classes of the planetary systems, and the Y axis represents the production or consumption of a product. The program graph elements are presented in the form of the coefficients of the equation of a straight line.
The economic model of the "Star Merchant"Online, I encountered memories of how several students in the 70s without much effort made a multiplayer version of the "Star Merchant", where each player managed the process from his teletype.Implementation on python
The Star Merchant BASIC code has been around for a long time. At the same time, for some reason, no one has yet become interested in translating the game into a more modern language. One of the reasons, perhaps, is that the code posted on the Internet has incorrect data of the economic model in DATA-operators. It was possible to find out only when the book appeared online. I thought the game was interesting and undeservedly forgotten, so I decided to spend time on my own implementation on Python and try to keep the correspondence with the original as much as possible.The Star Trader is written in Beware for the Hewlett-Packard 2000F system. Therefore, first of all, it was necessary to find the documentation for 2000F and find out how non-standard constructions work. The original program is divided into two files. One of these files is used to set up a new game, and the other is used for gameplay. The created data for the new game is placed in special COM arrays (from the word common - common), which are in memory available for other programs in BASIC. In this way, precious memory was saved at the time. When parsing algorithms, certain problems were caused by unstructured code, as well as the use of comparison operators in arithmetic expressions.The game was rewritten on Python twice. For the first time, an interlayer was used, which allowed to keep some BASIC “idioms” unchanged, such as array indices starting with 1. The second time I tried to make the code more readable, to keep it in Python norms. For testing, a random team generator was used, with which players' actions were simulated. The duration of the game was exhibited for hundreds of years and after the run the game log was examined for any errors.I will not say that the result suits me completely. I would like to make the code even more readable, especially for beginners. Nevertheless, I suggest to get acquainted with the project on github: github.com/true-grue/traderConclusion
« , ENTER», : , , ( , ). . : , , , , .
Chris Crawford, Honored Game Developer, coined the term process intensity in the late 80s. This term for a particular game reflects the extent to which processes (that is, game algorithms, equations, rules) prevail over data (graphics, music, text). Obviously, such early text games as the “Star Merchant” have the greatest intensity of processes. In a small number of lines of code concentrated the core of the game, "raw" gameplay., . , . , , , , , .
Literature
S. Levy, "Hackers: Heroes of the computer revolution."The book is fascinating, although it contains some inaccuracies. The term "hacker" is used by the author in the old, positive sense.Translation: rus-linux.net/MyLDP/BOOKS/zip/hackers-heroes.pdf Thearticle "Two computer economic games for sixth-graders."This text is of great interest to historians of computer games.Link to sci-hubAlan Kay's letter criticizing the game SimCity.www.donhopkins.com/drupal/node/134Article on the huntington project to create basic simulations.files.eric.ed.gov/fulltext/ED174467.pdfThe history of the creation of the game "Oregon Path".motherboard.vice.com/en_us/article/qkx8vw/the-forgotten-history-of-the-oregon-trail-as-told-by-its-creatorsThe history of the creation of the game "The Hunt for Vampus".www.atariarchives.org/bcc1/showpage.php?page=247Article "20 things you can do with a computer" on the use of the Logo.www.stager.org/articles/twentythings.pdfYou should also pay attention to the book by C. Peipert, which in Russian translation is called “A mind-turn in mind: children, computers, and fruitful ideas” (“Mindstorms”).PLATO emulator. So far, not much information is available on what this system was. On this resource you can register and see PLATO yourself in action.www.cyber1.orgAn amazing 1972 article in the famous magazine Rolling Stone. About the first e-sports championship, Xerox PARC developments and much more. The author, Stuart Brand, worked closely with Bob Albrecht at the time. I advise you to search the Brand World Directory.www.wheels.org/spacewar/stone/rolling_stone.htmlA selection of PCC newspaper issues.archive.org/search.php?query=%22PCC%20Newsletter%22searchworks.stanford.edu/catalog?f%5Bcollection%5D%5B%5D=cj445qq4021The book "What to do after you press ENTER."archive.org/details/WhattodoafteryouhitreturnThe book 101 computer games in BASIC.www.ccapitalia.net/descarga/docs/1975-101-basic-computer-games.pdfIntensity of processes according to Chris Crawford.www.erasmatazz.com/library/the-journal-of-computer/jcgd-volume-1/process-intensity.html