This course, designed for Master Students in Philosophy aims at providing students with the technical and conceptual tools to understand and master the mathematical, engineering and experimental foundations of computational and information system.
Computing is developing academically and industrially, and it has a huge impact on everyday’s life. This requires not only for practitioners to be aware of the delicate and extensive role they are playing in society, but it also imposes an essential task to disciplines like Philosophy that have traditionally played a critical role on the methodological and epistemological nature of the sciences. Computing and information 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. 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. After completing the module, students will be better equipped to understand research directions, commercial and industrial developments, but also the requirements that society can and will impose on such developments.
Successful completion of at least one course in Logic is strongly recommended to students who wish to enroll for this module.
The course provides knowledge of philosophical and technical literature in the area of computing and the philosophy of information; principles of logic, thinking and argumentative skills on the nature of science and technology; and the understanding of new software and data-intensive science methodologies. The course will provide students with technical and analytical skills in the following topics:
– Logic and computability
– Turing Computability
– Program Correctness
– von Neumann Architecture
– Laws of Computing Evolution
– Computational Validity
– Specification and Implementation
– Errors in Computing
– Computer Modelling
– Computer Experiments
– Computer Simulations
Structure of the Course
Module A (20hours, 3cfu): Mathematical Foundation
Module B (20 ore, 3cfu): Engineering Foundation
Module C (20 ore, 3cfu): Experimental Foundation
G.Primiero. On the Foundations of Computing.
All reading material, including reference papers, will be shared on the Slack Workspace for this course (see below on link to join it).
The course assumes that students will attend regularly, will read the provided material on a weakly basis and test their progress with the accompanying exercises. The course includes three intermediate tests, one for each module. Each test reflects the structure and evaluation criteria of the exam as reported below. The (provisional) dates of the tests are included in the Calendar below.
Evaluation includes a written exam. The 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 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.
This course has an active Slack Workspace.
All students are encouraged to participate. The 2018-2019 cohort can join the workspace here