Logic of Computation and Information

Master in Philosophical Sciences
Curriculum in Reasoning, Analysis and Modelling


Logic is a foundational tool for Computing and Information Sciences. These represent new essential disciplines for students of philosophy, be they oriented towards an academic or professional career, to reflect and judge upon, to assess their working methodologies and foresee future developments. This course offer the basis to understand computational and information systems in their single and multi-agent variants, and to learn their modelling abilities for complex reasoning.

Learning Objectives

By locating computational and information systems in their conceptual and technical evolution, students will gain working knowledge of the underlying logics and will understand how they are used for many applications in other sciences. The course includes activities for understanding different formal models of computation and for the representation of information transmission, both single and multi-agent. Such notions and methods will be valuable in any activity requiring advanced reasoning and problem-solving abilities in the computational domain.


Successful completion of at least one course in Logic is strongly recommended to students who wish to enroll for this module.

Knowledge acquisition and understanding:

The course provides knowledge of formal methods and logics in the area of computing and information essential for the analysis and understanding of new software and data-intensive science methodologies.

Skills acquisition and ability to apply knowledge:

The course provides basic knowledge and technical skills in the following topics:

– Logic and computability

– Turing Computability

– Logics of Program Correctness

– Process Algebra

– Temporal Logics

– Logics of Information

– Multi-Agent Systems

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

  • formally identify classes of computable functions and problems;
  • formally define properties of computational processes;
  • formally express reasoning about computational processes;
  • formally describe informational structures and reasoning on them.

Programme for Attending and Non-Attending Students

Teaching Unit A

1. Computing and Decidability

2. Mechanical Computation

3. Logics of Program Correctness

Teaching Unit B

1. Basics of Process Algebra

2. Temporal Logics

3. Logics of Information

Teaching Unit C

1. Multi-Agent Systems

2. Logics of Communication

Examination: Written

For attending and non-attending students: Learning assessment will be through a written exam at the end of the course. The exam includes open questions (30%), exercises (50%) and multiple choices tests (20%). These proportions broadly reflect their contribution to the composition of the final score. Multiple choice tests and open questions are aimed to broadly verify the understanding of concepts and definitions taught during the course whereas exercises are designed to evaluate problem solving skills. Optional in addition to the test: a written paper on a subject and with characteristics agreed with the teacher.


The exam for students with (learning) disabilities must be agreed with the lecturer and with the competent office.

Sito Moodle