History of automata and computing

Degree course: 
Corso di First cycle degree in COMPUTER SCIENCE
Academic year when starting the degree: 
2020/2021
Year: 
2
Academic year in which the course will be held: 
2021/2022
Course type: 
Compulsory subjects, characteristic of the class
Credits: 
6
Period: 
Second semester
Standard lectures hours: 
48
Detail of lecture’s hours: 
Lesson (48 hours)
Requirements: 

It would be advisable to have a good knowledge of basic topics, as presented in the first two years of a general computer science degree.

Final Examination: 
Orale

The evaluation procedure consists in an oral discussion of a topic concerning the historic development of Automata, Computer Science or Technology.
The discussion (about one hour) could be supported by slides or a written text.
A selection of possible topics will be proposed, but the topic is proposed by the student and approved by the professor. Final mark (out of 30) depends on the completeness, originality and relevance (70%) and on the clarity of the exposition.

Assessment: 
Voto Finale

The main objective of this course, highly interdisciplinary, is the study of the historical roots of computer science, which may be traced back in time to ancient computing devices and numerical systems. Mathematics (algebra and logic in particular), physics and philosophy provided in the past theoretical and technological notions and results, used in the centuries to create computing machines, algorithms, automata for various applications, notably anthropomorphic machines.
This course will provide a brief, but complete, historical description of the development of computer science, stressing its inherent interdisciplinary character. This prospective should make clear the importance of the discipline, its results and methodology, with respect to philosophy (human-machine relation,from Descartes to artificial intelligence), linguistic (formal grammars, Chomsky classification of languages.), social sciences , algebra and logic (Boolean algebras, circuits, games.).
From this course the student may expect to gain a better understanding of the nature of computer science and of its philosophical implications, and a contextualization of notions already obtained from other courses. The students should be able to present and communicate its interdisciplinary aspects.

Topics discussed in the course should enhance individual study and provide a better comprehension of many results, thanks to a more general – historical- point of view.
The fundamental role of automata, both theoretical and technological , should be understood, with its role in fields like literature, cinema, robotics.

It is a common belief that Computer Science is a very recent discipline, developed in the last century with the diffusion of computers and, even more recently, with the pervasive nature of internet and the Web. On the contrary, the fundamental notions of this “new” scientific discipline are the notion of algorithm, i.e. a finite method for providing a solution to a generic problem, often expressed as a calculus (of an area, of a path, of a quantity of time, etc.), the notion of formal language and the notion of automaton or computing machine. If we accept this point of view, the historic roots of Computer Science can be traced back to the development of algorithmic methods, already very sophisticated in the Egyptian era, and of mechanical device for aiding the calculus. History of Computer Science, Automata , Logic and Technology are strictly related: we only recall various mechanical devices for measuring time (clocks), for industrial applications (looms), for leisure (carillons), and, of course, for calculating (abaci, Pascal’s machine.). Particularly fascinating, also from a philosophical point of view, are mechanical devices that aim to simulate human beings or, more generally, living beings; “organic” mechanisms that in the 17th century had their first golden age, but that have a second golden age nowadays, called robots. A turning point in this long history of mechanical devices, in the 20th century, is the consequence of the fundamental works of Turing, Goedel, Von Neumann: the new theoretical development on automata provides a precise definition of computing machine, together with a deep comprehension of its computational limits. Furthermore, the new idea of communicating machines leads to nets, distributed calculus, internet and the Web, with its enormous sociological impact.
In this course we will approach some of these above described topics, in particular:
- Numbers and enumeration systems (2h)
- History of binary (2h)
- Historical algorithms. Egypt multiplication, Euclides, ... (2h)
- Ancient instruments for calculi: Antikytera, tables, abacus, Napier's bones (2h)
- Mechanical calculators: Pascaline, Leibniz (2h)
- Babbage 's nmachines, Ada Lovelace and Menabrea, discussion (3h)
-Cryptography: Cesar's cifre, Vigenere, Babbage (2h)
- Enigma and other machines (2h)
- Computers: Zuse, Turing, Von Neumann , Shannon (3h)
- Automata: legends and literature (1h)
- Automata: Hero, medioeval period (2h)
- Descartes and La Mettrie (2h)
- Vaucanson, Droz (2h)
- The Turk and E.A.Poe, chess and computers (2h)
- Logics, from Aristotele to Hilbert, Goedel e Turing (6h)
- Turing, Calcolability and Artificial Intelligence, Church-Turing Thesis and Cimputer science (4h)
- McCulloch Pitts and finite state automata (2h)
- Chomsky, grammars and artificial programming languages (2h)
- From Turing to Cybernetics and Artificial Intelligence.Modern automata: robot, android, cyborg, discussion (6h)
- Computer science in Italy: Boehm- Jacopini, Perotto and Olivetti, Padre Busa and hypertexts, cybernetics (4h)
- Internet, Web and networks (2h)

Numbers and enumeration systems:Egypt, Babylonian, indo arabic cifres, Fibonacci. Historical algorithms: Euclid, Eratosten, multiplication, examples
Calculus and machines: abacus, tables, quipus, regolo, Neper's bones, mechanical machines. Salomon de Caus, Pascaline, Leibniz, Babbage and Ada Lovelace.
Automata and mechanical machines: historical references,literature, legends. Mechanical and analogic devices for time measurement. First technical examples:Hero, Archita, Ctesibio, Al Jazari, automata in medioeval time, renaissance (Leonardo), Japanese, Descartes and mechanicism, Von Kempelen's automaton The turk and chess programs,. Vaucanson and Jaquet-Droz. Robots: literature and technical realizations.
History of logic: from Aristotele toLeibniz, Boole , Cantor, Hilbert, Goedel, Turing.
Turing and Turing's machines. Turing and the beginning of Artificial Intelligence. Brief summary of Cybernetics and Artificial Intelligence: from McCulloch and Pitts, to Wiener and McCarthy.
Introduction to cryptography: from Greece to Vigenere, Enigma and Turing, modern techniques.
First computers : Babbage, Von Neumann, Turing, Zuse ( Memex , Z1,Z3 Mark I , Colossus , UNIVAC I , microprocessors)
Internet and Web.
Monographic lessons: Memex, Knoledge representation and onthologies. Padre Busa and hypertexts. Olivetti and the personal computer.

During the lessons sites and other materials (papers, video, books) will be used and suggested. As an example:
Federico Faggin, The making of the first microprocessor https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4776530
Stephen White, A brief history of computing, https://trillian.randomstuff.org.uk/~stephen/history/
Nadia Ambrosetti, CULTURAL ROOTS OF TECHNOLOGY: AN INTERDISCIPLINARY STUDY OF AUTOMATED SYSTEMS FROM THE ANTIQUITY TO THE RENAISSANCE, https://air.unimi.it/handle/2434/155494#.YMeGn5MzbUI
http://www.alanturing.net/
Prof. Marcello Pelillo https://www.dsi.unive.it/~pelillo/Didattica/Storia%20dell'informatica/
Prof. Bonfanti id.dimi.uniud.it/computing_history/computing_history.html

Suggested books :
M.Davis, Il calcolatore universale, Adelphi
G. Ceserani. I falsi Adami, Feltrinelli.
M. Losano. Automi arabi del XIII secolo. Dal Libro sulla conoscenza degli ingegnosi meccanismi, Luigi Maestri Editore, Milano 1982. Ristampato con il titolo: Automi d’Oriente. Ingegnosi meccanismi arabi del XIII secolo, Milano 2003
S. Singh, Codici e segreti, Bur
U. Bottazzini, Numeri, il Mulino
F. Faggin, Silicio, Mondadori
R. Kurzweil, La singolarità è vicina, Apogeo
F. Berto, Tutti pazzi per Goedel
D. Gulino, Identità Cyborg, AlboVersorio
Cordeschi, R. (2002). The discovery of the artificial: behavior, mind and machines before and beyond cybernetics. Dordrech: Kluwer.

L.Russo, La rivoluzione dimenticata, Feltrinelli
A. Barabasi, Link, Einaudi

The teaching activities include lectures (44h) and class discussions (4h). The arguments presented during lectures are motivated through class discussions and related to topics discussed in other courses as Algorithms, Programming and Logics. Further individual readings are encouraged. Students are also encouraged to present an argument of their interest (previous discussion with the professor) during the lessons, if possible, and during the exam. Lessons will be held in Varese and Como using teleconference or via Teams.

It will always be possible to contact directly the professor via email in order to obtain an appointment , in presence or using Teams.