Learning objectives
The main goal of the course is to define and characterize computing systems.
In particular, the student will be provided with the ability to understand:
- abstract machines and computational complexity
- parallel programming models
- autonomic systems
- simulation techniques
- quantum computing
The student will learn to apply such a knowledge to:
- develop computing systems models, in particular for performance analysis
- design and implement parallel programs
- design autonomic systems
- implement discrete event simulations
- design quantum algorithms and protocols
Prerequisites
- - -
Course unit content
1. Abstract machines and computational complexity
2. Parallel computing
3. Autonomic systems
4. Simulation techniques
5. Quantum computing
Full programme
Lectures on Parallel and Distributed Computing (42 hours)
1. Computing systems
1.1. Information theory; 1.2. Taxonomy of computing systems; 1.3. Abstract machines; 1.4. Computational complexity
2. Parallel computing
2.1. Parallel architectures; 2.2. Performance evaluation; 2.3. Parallel programming models; 2.4. Message Passing Interface (MPI); 2.5. MapReduce; 2.6. Multicore systems, General Purpose GPU Programming, CUDA, OpenCL
3. Autonomic computing
4.1. The four principles of autonomic computing; 3.2. MAPE-K; 3.3. NAM, NAM4J, Distributed Remodeling Framework
4. Simulation techniques
4.1. General concepts about simulation; 4.2. Discrete event simulation
5. Quantum computing
5.1. History of quantum computing; 5.2. Linear algebra; 5.3. The postulates of Quantum Mechanics; 5.4. Quantum bit; 5.5. Quantum circuits; 5.6. Quantum algorithms; 5.7. Quantum security protocols
Bibliography
M. Amoretti, lecture notes in english.
C. Ghezzi, D. Mandrioli, "Informatica Teorica", Città Studi, 1989.
D. E. Culler, J. Pal Singh, “Parallel Computer Architecture: A Hardware/Software Approach”, Morgan Kaufman, 1999.
B.P. Zeighler, H. Praehofer, T.G. Kim, "Theory of Modeling and Simulation", Second Edition, Academic Press, 2000.
M. Nielsen, I. Chuang, “Quantum Computation and Quantum Information”, Cambridge University Press, 2011.
Teaching methods
Lectures are given by the teacher, which illustrates the topics with the support of slides, or by writing on the blackboard. Some hours are devoted to parallel programming practice. Lectures about simulation techniques are completed by a tutorial on the DEUS simulation environment.
Assessment methods and criteria
There will not be exams during the course.
There will be a written exam (3 hours), with 6-7 open questions related to theoretical part of the course.
Every student will have to work on a small project, requiring: the use/development of a software or the study of a quantum computing paper; the writing of a report; a final presentation (supported by slides).
Other information
Lecture notes, slides and exercises are available on http://elly.dii.unipr.it
2030 agenda goals for sustainable development
- - -