Philosophy of Computation and Information

A.Y. 2020/2021
9
Max ECTS
60
Overall hours
SSD
M-FIL/02
Language
English
Learning objectives
By locating computing in its conceptual, technical and historical evolution and by learning the principles that define it, students will gain a critical awareness and technical knowledge of the processes by which computing has become an essential aspect of our lives and will understand how this subject is located with respect to other sciences. The course includes programming activities for the model of Turing Machines and for an agent-based simulation software. Such notions and methods will be valuable in any activity requiring advanced reasoning and problem-solving abilities in the computational domain.
Expected learning outcomes
Knowledge acquisition and understanding:
The course provides knowledge of philosophical and technical literature in the area of computing and the philosophy of information; principles of logic, epistemology of computing sciences and technologies; and the understanding of new software and data-intensive science methodologies.

Skills acquisition and ability to apply knowledge:
The course provides technical and analytical skills in the following topics:

- Logic and computability
- Turing Computability
- Logics of Program Correctness
- Laws of Computing Evolution
- Logics of Information
- Errors in Computing
- Computer Modelling, Experiments and Simulation
- Multi-Agent Systems and Logics of Communication

At the end of the course, students are expected to be able to:

- identify classes of computational functions and problems;
- identify algorithmic processes and their properties;
- formulate formal structures applied to computational and informational structures;
- analyze the ontological structure of computational systems and their properties;
- formulate hypothesis and experiments in a computational setting.
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Course currently not available
Lesson period
Second semester
The course will be delivered with a combination of synchronous and asynchronous modalities. Of the 6 weekly hours of lectures, 4 will be devoted to asynchronous lectures through voice-over-slides presentations; 2 hours will be devoted to synchronous lectures/online meetings during which topics presented during the week will be discussed and knowledge acquisition will be tested. Both synchronous and asynchronous lectures, as well as all teaching material, will be made available through the platform Microsoft Teams with a dedicated channel.
Course syllabus
Mathematical Foundations of Computing:
1. The foundational Crisis of Mathematics
2. Computing and Decidability
3. Definition of Computable
4. Mechanical Computation
5. Logics of Program Correctness

Engineering Foundations of Computing:
1. Universality and All-purposefulness
2. The Laws of Computing Evolution
3. Logics of Information
4. Specification and Implementation
5. Miscomputation

The Experimental Foundation of Computing:
1. Computer Experiments, Models and Simulations
2. Logics for Multi-Agent Systems
4. Logics of Communication
5. Epistemology of Experimental Computing
Prerequisites for admission
Successful completion of at least one course in Logic is strongly recommended.
Teaching methods
Frontal teaching, software-based practice, tests.
Teaching Resources
Teaching Units A+B+C
G.Primiero. On the Foundations of Computing. OUP, 2019

Teaching Unit B
L. Floridi, The Logic of Being Informed, Logique Et Analyse 49 (2006)
G.Primiero, An Epistemic Logic for Becoming Informed, Synthese, 167:2, pp.363-389, 2009.

Teaching Unit C
M.Huth, M.Ryan, Logic in Computer Science, CUP 2004.
G.Primiero, M. Bottone, F. Raimondi, J. Tagliabue, Trust and Distrust in Contradictory Information Transmission. Applied Network Science, 2:12. DOI: 10.1007/s41109-017-0029-0 (2017).
Assessment methods and Criteria
For attending students:

1. Compulsory: three written test with open questions, to verify understanding and technical mastering of the topics. Each test is structured as follows:

Group I: Definitions and Basic Concepts
· This set contains 6 questions of 3 points each concerning essential knowledge. The criteria of evaluation are correctness and clarity. All these questions need to be answered correctly to pass the exam. Only full points are given. Total points: 18.

· Group II: Technical and Formal Analysis
This set contains 2 questions of 4 points each concerning more complex formal and technical aspects related to computing. The criteria of evaluation are correctness and clarity. Partial evaluation on each question is admitted. Total points available: 8.

· Group III: Philosophical Analysis
This set contains 2 questions of 5 points each concerning philosophical aspects related to computing. The criteria of evaluation are correctness, clarity and completeness. Partial evaluation on each question is admitted. Total points available: 10.

Participation to Test 2 is reserved to students who have passed Test 1. Participation to Test 3 is reserved to students who have passed Test 2. With a failed test the student will need to take the full exam at the end of the course as by the modalities given for non-attending students.

Dates of the Tests will be made available to Students on the Website of the Course. Corrections of each test will be communicated with feedback to students via email. The final mark offered to the students will be one consistent with each Test counting for 1/3 of the total.

2. Optional: A short paper to be presented at the end of the course. This additional task is for students who wish to take the opportunity to research one of the topics presented during the course. This can constitute the basis for a Master dissertation. In the case this option is taken, the evaluation of the paper will count towards ¼ of the total final marking.

For non attending students:
A written exam covering topics from the whole program. The final exam is structured as follows:

· Group I: Definitions and Basic Concepts
This set contains 6 questions of 3 points each concerning essential knowledge. The criteria of evaluation are correctness and clarity. All these questions need to be answered correctly to pass the exam. Only full points are given. Total points: 18.

· Group II: Technical and Formal Analysis
This set contains 4 questions of 2 points each concerning more complex formal and technical aspects related to computing. The criteria of evaluation are correctness and clarity. Partial evaluation on each question is admitted. Total points available: 8.

· Group III: Philosophical Analysis
This set contains 4 questions of 2 points each concerning philosophical aspects related to computing. The criteria of evaluation are correctness, clarity and completeness. Partial evaluation on each question is admitted. Total points available: 8.


Notes
The exam for students with (learning) disabilities must be agreed with the lecturer and with the competent office.
Unita' didattica A
M-FIL/02 - LOGIC AND PHILOSOPHY OF SCIENCE - University credits: 3
Lessons: 20 hours
Unita' didattica B
M-FIL/02 - LOGIC AND PHILOSOPHY OF SCIENCE - University credits: 3
Lessons: 20 hours
Unita' didattica C
M-FIL/02 - LOGIC AND PHILOSOPHY OF SCIENCE - University credits: 3
Lessons: 20 hours