History of automata and computing

Degree course: 
Corso di First cycle degree in COMPUTER SCIENCE
Academic year when starting the degree: 
2017/2018
Year: 
2
Academic year in which the course will be held: 
2018/2019
Course type: 
Supplementary compulsory subjects
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

Evaluation procedure
The evaluation procedure consists in an oral discussion of a topic concerning the historic development of Automata, Computer Science or Technology. The topic is proposed by the student and approved by the professor. Final mark (out of 30) depends on the completeness and relevance (70%) and on the clarity of the exposition.

Assessment: 
Voto Finale

Course Objectives and Expected Outcomes
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:
Automata in ancient Greek, in the medieval era, in the golden age (Vaucasson, Droz)
Computing devices, from abaci to Pascal’s and Leibniz’s machines, Babbage’s machine, modern computers.
Artificial Intelligence and its philosophical and social implications
Programming Languages, from Ada Byron Lovelace to Chomsky’s grammars

Textbooks and suggested materials
M.Davis, Il calcolatore Universale
S.Singh, Codici e segreti
• G. Ceserani. I falsi Adami, Feltrinelli (in Italian)
• M. Losano. Automi arabi del XIII secolo, from Libro sulla conoscenza degli ingegnosi meccanismi, Luigi Maestri Editore, Milano 1982, 94 pp. (Reprinted: Automi d’Oriente. Ingegnosi meccanismi arabi del XIII secolo, Milano 2003, 127 pp.) (in italian)
• An ample bibliography is available on internet, and various sites will be discussed and advised during the lectures.
• Site: http://www.museocilea.it/ containing a complete repository of slides and material from many italian universities courses (in Italian and in English)

Lessons will be held in Varese, using teleconferencing.

Office hours will be defined at the beginning of the course and communicated to the Secretary’ s Office. It will always be possible to contact directly the professor via email in order to obtain an appointment at different hours.