ArticleslgStudy

computer science

Programma 101

Programma 101 is a computer 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 Programma 101 rather than just read about it. In short: The Olivetti Programma 101, also known as Perottina or P101, is one of the first "all in one" commercial desktop programmable calculators, although not the first. Produced by Italian manufacturer Olivetti, based in Ivrea, Piedmont, and invented by the Italian engineer Pier Giorgio Perotto, the P101 used many features of large computers of that period.

Programma 101 — main illustration
Programma 101 — illustration

Key takeaways

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

Reference excerpt

The Olivetti Programma 101, also known as Perottina or P101, is one of the first "all in one" commercial desktop programmable calculators, although not the first. Produced by Italian manufacturer Olivetti, based in Ivrea, Piedmont, and invented by the Italian engineer Pier Giorgio Perotto, the P101 used many features of large computers of that period. It was launched at the 1964 New York World's Fair; volume production started in 1965. A futuristic design for its time, the Programma 101 was priced at $3,200 (equivalent to $32,700 in 2025). About 44,000 units were sold, primarily in the US. It is usually called a printing programmable calculator or desktop calculator because its arithmetic instructions correspond to calculator operations, while its instruction set (which allows for conditional jump) and structure qualifies it as a stored-program computer.

Design

The Programma 101 was designed by Olivetti engineer Pier Giorgio Perotto in Ivrea. The styling, attributed to Marco Zanuso but in reality by Mario Bellini, was ergonomical and innovative for the time. Some of the design was based on a 1961 Olivetti computer co-developed by Federico Faggin that served as a model for the programmable calculator. The computational hardware consisted of standard (for its time) discrete devices (transistors, diodes, resistors and capacitors mounted on phenolic resin circuit card assemblies). The design predated microprocessors, and no integrated circuits were used since they were in their infancy. A total of 240 bytes of information were electrically stored in magnetostrictive delay-line memory, which had a cycle time of 2.2 milliseconds.

Ergonomics The focus of the engineering team was to deliver a very simple product, something that anyone could use. To take care of the ergonomics and aesthetics of a product that did not exist before, Roberto Olivetti called Mario Bellini, a young Italian architect:

I remember that one day I received a call from Roberto Olivetti: "I want to see you for a complex project I'm building". It involved the design not of a box containing mechanisms and stamped circuits, but a personal object, something that had to live with a person, a person with his chair sitting at a table or desktop and that had to start a relationship of comprehension, of interaction, something quite new because before then computers were as big as a wardrobe. With a wardrobe we don't have any relationship: in fact the most beautiful wardrobes disappear in the wall. But this wasn't a wardrobe or a box, this was a machine designed to be part of your personal entourage.

One of the direct results of the Programma 101 team focus on human-centered objectives was the invention of a removable magnetic card to store programmed calculation, a revolutionary item for that time, allowing anyone to just insert it and execute any program in a few seconds. The Programma 101's design would earn the Mario Bellini the Compasso d'Oro Industrial Design Award.

Technical characteristics Size: 275 mm ( A ) x 465 mm ( L ) x 610 mm ( P ) Weight: 35.5 kg Consumption: 0.35 kW Output device: 30 column printer on 9 cm paper Accuracy: 22 digits and up to 15 decimal places Operations: add, subtract, multiply, divide, square root and absolute value Total memory: 240 bytes in the ALU (estimated) [AP 10] Keyboard: 36 keys. Archive: Magnetic card reader

Operation

The Programma 101 can calculate the four basic arithmetic functions (addition, subtraction, multiplication, and division), plus square root, absolute value, and fractional part. It is equipped with memory registers with features such as clear, transfer, and exchange, plus printing and halt for input. Programming is a kind of assembly language, simpler than the assembly of the contemporary computers, as there are fewer options and allowed to use directly arithmetic functions. It directs the exchange between memory registers and calculation registers, and operations in the registers. There are 16 jump instructions and 16 conditional jump instructions. Thirty-two label statements were available as destinations for the jump instructions and/or the four start keys (V, W, Y, Z). While not stated in the General Manual and only in some Programming Manual, it is possible to perform a "modified jump", which allows to go back to different part of the program from the same subroutine. There are 10 memory registers: three for operations (M, A, R); two for storage (B, C); three for storage and/or program (assignable as needed: D, E, F); and two for program only (p1, p2). Each full register holds a 22-digit number with sign and decimal point or 24 instructions each consisting of a letter and a symbol. Five of the registers (B, C, D, E, F) can be subdivided into half-registers, each containing an 11-digit number with sign and decimal point. It uses a kind of Modified Harvard architecture where data registers and instruction register are clearly separated, but it allows for some data to be written in the instruction registers under some conditions. That was a common feature in the 1960s desktop computer/programmable calculator and only HP provided a true Von Neumann architecture which allowed for self-modifying code, similarly to the contemporary general-purpose mainframes and minicomputers. The stored programs can be recorded onto plastic cards approximately 5 cm × 20 cm that have a magnetic coating on one side and an area for writing on the other. Each card can be recorded on two stripes, enabling it to store two programs. Five registers are stored on the card; two registers are dedicated to the program code, the other three registers (D, E, F) can be used for code and/or numbers. Instructions occupy one byte, and a magnetic card can hold 120 instructions. The cards use a simple machine language. The instructions or digits occupy eight bits, codified in binary-coded decimal. In instructions the left nibble stores the affected register and the right nibble the instruction, while in digits the first nibble stores information about the number, such as the sign or the decimal place, and the last nibble stores the actual digit. It prints programs and results onto a roll of paper tape, similar to calculator or cash register paper.

Instruction set

… excerpt ends here. Continue reading the full article.

Illustrations

Programma 101 illustration
Programma 101: Pier Giorgio Perotto, Giovanni De Sandre, Gastone Garziera, and Giancarlo Toppi, the Programma 101 team (except Giuliano Gaiti) at the Olivetti Laboratory (c. 1962–1964)
Pier Giorgio Perotto, Giovanni De Sandre, Gastone Garziera, and Giancarlo Toppi, the Programma 101 team (except Giuliano Gaiti) at the Olivetti Laboratory (c. 1962–1964)
Programma 101: Layout of the keyboard
Layout of the keyboard
Programma 101: Olivetti P101 magnetic card
Olivetti P101 magnetic card
Programma 101: Front view of a Programma 101 showing the printer and programming keys
Front view of a Programma 101 showing the printer and programming keys

Worked examples

Example 1 — a first encounter with Programma 101

Start with the simplest possible case. Write down what Programma 101 claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer 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 Programma 101 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 Programma 101 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 Programma 101

In research
Programma 101 appears in computer 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 Programma 101 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
Programma 101 is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer-related introductions in 1965, Italian inventions, Olivetti calculators, so understanding it makes those chapters shorter.
In everyday life
Look for Programma 101 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.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Programma 101” →

Affiliate

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

How to study Programma 101 in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Programma 101 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 Programma 101 out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Programma 101 in simple terms?

The Olivetti Programma 101, also known as Perottina or P101, is one of the first "all in one" commercial desktop programmable calculators, although not the first. Produced by Italian manufacturer Olivetti, based in Ivrea, Piedmont, and invented by the Italian engineer Pier Giorgio Perotto, the P101…

Why does Programma 101 matter?

Because it connects several computer 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 Programma 101?

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 Programma 101.

Tags

  • Computer-related introductions in 1965
  • Italian inventions
  • Olivetti calculators
  • Olivetti computers
  • Programmable calculators
  • Transistorized computers

Keep exploring