Corso di laurea

Artificial Intelligence And High Performance Computing Technologies

Università degli Studi di Torino · 21 materie · 0 file condivisi

Ecco tutti i dettagli sul corso di laurea selezionato. Sul UniDocs troverai gli appunti condivisi dagli altri studenti del tuo corso di laurea, ordinati per materia. Ricordati che per poter visualizzare il materiale devi essere registrato al sito e possedere un numero di crediti sufficiente.

Sfoglia il materiale didattico

Con UniDocs hai l'opportunità di studiare insieme a tutto il tuo corso di laurea. Guadagna subito dei crediti, carica il materiale del tuo ultimo esame!
Più condividi, più tempo avrai per studiare con tutta la community!

Materie del corso

Computer Vision 1° anno · 6 CFU · INFO-01/A · 0 file

The educational objectives are to provide both theoretical and practical foundations in computer vision, contributing to the specific educational objectives of this MSc program. Preliminarily, the course course will…

Scheda dell'insegnamento

Obiettivi formativi

The educational objectives are to provide both theoretical and practical foundations in computer vision, contributing to the specific educational objectives of this MSc program. Preliminarily, the course course will provides the foundations in image acquisition, compression and processing in space and frequency domains, as well some background on computer vision. Next, the course will first discuss AI-based discriminative methods for for computer vision, including applications to problems like image classification, segmentation and restoration, object detection, etc. as well as AI-based methods for image and video synthesis and compression. The course will include both theoretical lectures in the classroom a well as practical sessions in the lab.
Upon completion of the course, the student is able to select, parameterize, and use algorithms suitable for solving computer vision tasks such as classification, segmentation, and image generation.

KNOWLEDGE AND UNDERSTANDING SKILLS. Acquisition of methodologies of selection, parameterization and application of computer vision algorithms.

ABILITY TO APPLY KNOWLEDGE AND UNDERSTANDING. Acquisition of theoretical and practical tools for computer vision in many domains.

SELF-JUDGMENT. Acquisition of the basic criteria for determining how to set up proper algorithm design for computer vision.

COMMUNICATION SKILLS. Acquisition of technical terminology in the area of computer vision.

LEARNING SKILLS. Development of autonomous learning skills for future training in the field.

Programma

Introduction:
Image acquisition, sampling, quantization and filtering in both the patial and frequency domain.
Image and video compression in modern hybrid standards.
Computer vision with local descriptors: from the edge detection to the SIFT algorithm.

Discriminative image models:
Recap on NNs basics, image classification with FCNNs
CNNs as stacks of learnable filters, receptive fields of a CNN, Fully convolutional CNNs
Advanced learning techniques, deep CNNs (DNNs), understanding DNNs
Object detection and segmentation with DCNNs
The vision transformer: ViT, SWIN, DeiT and application to image classification
Applications of vision transformers to object segmentation and other tasks

Generative image models:
Designing deep convolutional autoencoders, applications to image segmentation: colorization, style transfer, inpainting
VAEs for image generation and learned image compression
GANs for image generation, style transfer
Diffusive models for image generation
Learned lossy image compression
NERFs and Gaussian Splatting
Introduction to multimodal imaging models for discriminative and generative tasks

Modalità d'esame

The course will be evaluated both through with a project work (individual or in teams of two) and oral questions during the project presentation.

Testi di riferimento

Digital Image Processing 4th ed., Rafael C. Gonzalez, Richard E. Woods,

Foundations of Computer Vision, Antonio Torralba, Phillip Isola, and William Freeman https://visionbook.mit.edu/

Deep learning with Python 3rd ed., François Chollet, Matthew Watson https://deeplearningwithpython.io/

Codice insegnamento INF0442

Ethics, Law And Ai 1° anno · 6 CFU · PHIL-02/A · 0 file

This course explores the complex interactions between artificial intelligence (AI) technologies and society from both philosophical and legal perspectives. The course consists of two modules: a philosophical module (24…

Scheda dell'insegnamento

Obiettivi formativi

This course explores the complex interactions between artificial intelligence (AI) technologies and society from both philosophical and legal perspectives. The course consists of two modules: a philosophical module (24 hours) and a legal module (24 hours).

From a philosophical standpoint, through theoretical grounding and hands-on serious games, students will critically engage with the social, ethical, and political dimensions of AI. The aim is to foster awareness of key concepts and debates around AI and society. The course emphasizes reflective and participatory learning in order to promote responsible innovation practices.

From a legal standpoint, students will critically engage with legal aspects and issues concerning AI and data protection, integrating regulatory challenges within the broader context of technological evolution. The aim is to develop awareness of the legal framework in this field, equipping future experts in AI and HPC to identify and address potential legal criticalities and to interact effectively with legal professionals.

  • Understand key concepts and debates around AI and society
  • Explain the principles and applications of Value Sensitive Design (VSD)
  • Identify and critically analyze stakeholders, values, and potential impacts in AI systems
  • Collaboratively assess societal challenges using structured scenario-based tools
  • Knowledge and understanding of the main regulatory issues regarding artificial intelligence and data protection with a specific focus on the private sector
  • Awareness of the relation between law, technology and the economy
  • Ability to apply such knowledge and understanding to identify legal criticalities related to the development of artificial intelligence systems
  • Ability to effectively communicate with legal experts using appropriate terminology and categories of thought

Programma

Philosophical module (24 hours)

  • AI and Social Foresight: Ethics, Design, and Serious Games:
  • What is AI? Foundations and Societal Implications
  • Introduction to Value Sensitive Design (VSD)
  • Envisioning Cards Workshop
  • Security Threat Discovery Cards Workshop
  • TechEthos “Age of Impacts” Game (NLP Deck)
  • Algorithms and human decision-making:
  • What is a decision? The classical conception of rational choice
  • Decision-making algorithms: a map of variants and the role of AI
  • Algorithms and human decision-making: comparison and competition
  • Algorithms and human decision-making: prospects for integration
  • Ethics and human interaction:
  • General framework
  • Artifacts, technological artifacts, cognitive artifacts
  • Neutralism, Determinism, TMT
  • Protocols for interaction

Legal module (24 hours)

  • European legal framework on artificial intelligence (AI Act)
  • general structure and purposes
  • risk-based approach and risk categories
  • obligations of providers and deployers of AI systems
  • standards, conformity assessment, certificates
  • right to an explanation
  • fundamental rights impact assessment
  • European legal framework on data protection
  • general structure and purposes of GDPR
  • basic notions, general principles and legal bases of personal data protection
  • main rights and obligations regarding personal data
  • beyond GDPR: from data protection to data management
  • IA and data: data processing for the development of AI systems and data processing by AI systems
  • profiling and automated decision-making
  • Fundamental rights and impact on citizens
  • European equality law: Basic notions
  • The forms of algorithmic discrimination
  • The protection of digital platform workers and the potential impact of Directive 2024/2831
  • The gender gap in the ICT sector: reasons, consequences, and measures to reduce it

Modalità d'esame

Learning assessment methods will be explained at the beginning of the course.

Testi di riferimento

Information and supplementary materials useful for the introduction and study of Regulation (EU) 2024/1689 (AI Act) can be freely found at the following online address: https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai

Information and supplementary materials useful for the introduction to and study of data protection can be freely accessed at the following online address:
https://commission.europa.eu/law/law-topic/data-protection/data-protection-explained_en

The text of Regulation (EU) 2016/679 (GDPR) is freely accessible at the following online address: https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng

Information and supplementary materials useful for the introduction to and study of equality, inclusion, and anti-discrimination law can be freely accessed at the following online address:
https://commission.europa.eu/topics/equality-and-inclusion/equality-and-inclusion-key-actions/acting-against-discrimination_en

Codice insegnamento INF0438

Information Theory 1° anno · 6 CFU · INFO-01/A · 0 file

This course provides an introduction to Shannon’s classical information theory, with a particular focus on its relevance and applications to modern machine learning, data science, and digital communications. Students…

Scheda dell'insegnamento

Obiettivi formativi

This course provides an introduction to Shannon’s classical information theory, with a particular focus on its relevance and applications to modern machine learning, data science, and digital communications. Students will develop a rigorous understanding of key information-theoretic quantities used to measure uncertainty, information, and statistical dependence between random variables, and will learn how these principles underpin efficient data representation and robust transmission in noisy environments.
Knowledge and understanding: upon completion of this course, students should be able to:

  • Compute the information content and entropy of a random variable from its probability distribution.
  • Understand and relate joint, marginal, and conditional entropies, and use them to compute mutual information between variables.
  • Apply divergence measures such as Kullback-Leibler (KL) divergence and Jensen-Shannon divergence to quantify statistical distance between probability distributions, with applications to model evaluation and representation learning.
  • Define and analyze the capacity of a communication channel based on Shannon’s theorems.
  • Understand the theoretical limits of source and channel coding, and design efficient coding schemes.
  • Grasp the fundamental ideas behind error-correcting codes, particularly linear block codes.

Applying knowledge and understanding: Students will be able to apply the learned concepts to model and solve real-world problems in communication and machine learning. Applications include feature selection using mutual information, information bottleneck methods for representation compression, and interpreting generalization and regularization in probabilistic learning through an information-theoretic lens.

Communication skills: the students will be able to explain to a non expert the acquired concepts by using a formally correct and rigorous exposition, and to discuss with experts about topics coherent with the course contents.

Programma

The course is structured in two parts.

Part I – Fundamentals of Classical Information Theory: Introduction to information, discrete sources, and probabilistic models. Entropy and its properties; conditional and joint entropy. Mutual information and data processing inequality. KL divergence, Jensen-Shannon divergence, and their applications in learning and inference. Source coding theorem and lossless data compression. Prefix-free and uniquely decodable codes, optimality of Huffman coding.

Part II – Communication and Error Correction: Noisy channel models and Shannon’s channel coding theorem. Channel capacity, reliable communication, and fundamental limits. Introduction to linear block codes and basic constructions. Information bottleneck principle and representation learning. Introduction to Semantic Communication.

Modalità d'esame

Written exam with theoretical and computational exercises.

Testi di riferimento

  • Course Moodle page (includes lecture notes, exercises, and supplemental materials)
  • Information Theory, Inference, and Learning Algorithms by David J.C. MacKay (Cambridge University Press)

Codice insegnamento INF0444

Language Technologies 1° anno · 6 CFU · INFO-01/A · 0 file

This module has two main educational goals. The first is to provide students with the background knowledge necessary to manipulate and process natural language data with computational methods. The module familiarizes the…

Scheda dell'insegnamento

Obiettivi formativi

This module has two main educational goals. The first is to provide students with the background knowledge necessary to manipulate and process natural language data with computational methods. The module familiarizes the students with the discipline of Computational Linguistics, its main study objects and problems, as well as the methodologies for collecting, representing, and process language data and resources. This goal is instrumental to the second one, of learning the machine learning techniques that are used to process natural language, from the representation of language as algebraic structures and tensors, to a series of neural architectures based on the attention mechanism used to train general-purpose language models for classification and generation tasks.

  • Knowledge And Understanding
    Knowledge of the main problems of Computational Linguistics and solutions to them based on machine learning methods.
  • Applying Knowledge And Understanding
    Understanding how to represent natural language in computational format and apply machine learning methods to natural language tasks.
  • Making Judgements
    Selecting the most suitable representation formalisms for natural language based on the task, and apply the appropriate machine learning process pipeline to solve the tasks.
  • Communication Skills
    Presenting the results of an experimental work from its motivation and research question, to the design choices and interpretation of benchmarking metrics.
  • Learning Skills
    Students will be exposed to recent research literature from AI/NLP conferences and journal, learning how to read and understand relevant research questions and interpret experimental results.

Programma

  • History of NLP and NLP tasks
  • Language Resources
  • Evaluation of NLP models
  • Word Embeddings
  • RNN and LSTM for language processing
  • Attention Mechanism (reprise from ML/DL)
  • Self-Attention and Multi-head Attention
  • Transformer
  • Encoder-based Language Models
  • Decoder-based Language Models
  • Applications: Text Classification, Machine Translation

Modalità d'esame

The course will be evaluated with a project work (individual or in teams of two). The project must be delivered before a set deadline and discussed orally during the exam.

Codice insegnamento INF0443

Machine & Deep Learning 1° anno · 9 CFU · INFO-01/A · 0 file

The objective of this course is to provide students with a comprehensive understanding of the fundamental principles and practical techniques of machine learning and deep learning, enabling them to design, implement, and…

Scheda dell'insegnamento

Obiettivi formativi

The objective of this course is to provide students with a comprehensive understanding of the fundamental principles and practical techniques of machine learning and deep learning, enabling them to design, implement, and evaluate intelligent systems for real-world applications. The course introduces the core concepts of supervised, unsupervised, and self-supervised learning, along with essential topics such as model evaluation, generalization, and the bias–variance tradeoff. Students will gain proficiency in widely used machine learning algorithms, including linear models and kernel-based methods, and will further develop an in-depth understanding of neural networks and deep learning architectures such as convolutional neural networks, transformer-based models, graph neural networks, and diffusion models. Emphasis is placed on hands-on experience using modern deep learning frameworks, in particular PyTorch, to build, train, and optimize models, as well as on the correct application of performance metrics, validation techniques, and experimental methodologies for robust model assessment.
The course aims to develop a critical understanding of key concepts about machine learning and neural network development and equip students with the skills to apply these concepts effectively in real world applications.

KNOWLEDGE AND UNDERSTANDING
The student possesses an advanced and systematic knowledge of the theoretical, methodological, and technological foundations required to work in the analysis, design, and development of neural networks. They understand the models most commonly used in modern AI systems and are able to apply them effectively in real-world applications.
This outcome is achieved through an introduction to the fundamental concepts of machine learning, an in-depth study of the underlying theory of the models, and the implementation of the studied techniques in PyTorch.

APPLYING KNOWLEDGE AND UNDERSTANDING
The student is able to apply theoretical and methodological knowledge of machine learning and neural networks to the analysis, design, implementation, and evaluation of AI models for real-world problems. In particular, they can select and adapt appropriate algorithms, implement and train neural network architectures using frameworks such as PyTorch, and critically assess model performance using suitable evaluation metrics. They are also capable of handling real datasets, performing necessary preprocessing steps, and translating problem requirements into effective computational solutions.

MAKING JUDGEMENTS
The student develops the ability to critically evaluate different machine learning and deep learning approaches, making informed decisions regarding model selection, architecture design, and training strategies. They can assess the strengths and limitations of various methods in relation to specific problem contexts, considering factors such as accuracy, generalization ability, computational efficiency, and (partly) interpretability. Furthermore, they are able to identify potential sources of error, bias, and overfitting, and propose appropriate strategies to mitigate them.

COMMUNICATION SKILLS
The student is able to clearly and effectively communicate technical concepts, methodologies, and results related to machine learning and neural networks, both in written and oral form. They can present model designs, experimental results, and analytical findings using appropriate technical terminology and visualization tools. Additionally, they are able to document computational workflows and explain complex AI concepts to both specialist and non-specialist audiences in a structured and coherent manner.

LEARNING SKILLS
The student develops the capacity for independent and continuous learning in the rapidly evolving field of artificial intelligence. They are able to autonomously explore new models, techniques, and tools beyond those covered in the course, critically evaluate scientific literature, and adapt to emerging developments in machine learning and deep learning. This includes the ability to independently extend their knowledge through research papers, documentation, and practical experimentation with new frameworks and datasets.

Programma

  • Introduction to Machine Learning
  • Empirical Risk Minimization
  • Linear Models
  • Least squares
  • Logistic regression
  • Support Vector Machines / Kernels
  • Decision Trees
  • Model Selection and Evaluation
  • Bias / Variance & Ensemble Learning
  • Deep Neural networks - Basics
  • Gradient Descent / Multilayer Perceptron / Backpropagation
  • Weight Initialization / Layer and Batch Normalization / Momentum & Learning Rate Scheduling
  • CNN (Convolutional Neural Networks)
  • Deep Neural networks - Advanced concepts
  • Representation Learning
  • Autoencoder
  • GANs (Generative Adversarial Networks)
  • Transformers
  • GNN (Graph Neural Networks)
  • Advanced topics

The syllabus is the same for students participating in international mobility programmes.

Modalità d'esame

Assessment of learning is carried out through a written exam and an optional oral exam aimed at evaluating critical understanding and the ability to integrate the acquired knowledge.

The final tests will be the same for attending and nonattending students.

No different assessment methods are provided for students participating in international mobility programmes.

Codice insegnamento INF0439

Mathematics For Ai & Hpc 1° anno · 12 CFU · MATH-02/B · 0 file

The course provides the mathematical tools which serve as a basis for other courses. These tools include linear algebra concepts, complex numbers, probability and statistics, numerical analysis and multivariate functions…

Scheda dell'insegnamento

Obiettivi formativi

The course provides the mathematical tools which serve as a basis for other courses. These tools include linear algebra concepts, complex numbers, probability and statistics, numerical analysis and multivariate functions as well as continuous optimisation algorithms.
The course aims at providing students with a sufficient mathematical background to master the key concepts and methodologies necessary for the different parts of the Master’s curriculum.

KNOWLEDGE AND UNDERSTANDING

Acquisition of mathematical knowledge and algorithmic knowledge necessary to tackle advanced computer science concepts.

APPLYING KNOWLEDGE AND UNDERSTANDING

Being able to apply the mathematical knowledge acquired to the methods and understanding of several computer science disciplines, such as machine and deep learning, parallel and cloud computing, quantum computing and others.

MAKING JUDGEMENTS

Being able to select the most useful mathematical methods to tackle a computer science problem: for example, being able to select the best optimisation algorithm for parameter tuning and model that problem as an optimisation problem. Understanding the generality and limitations of a result as well as the level of rigour of a result or demonstration.

COMMUNICATION SKILLS

Translating key concepts into rigorous formal mathematical language. Being able to convey clearly a mathematical demonstration.

LEARNING SKILLS

Ability to verify the rigour of a statement and find the necessary resources to help make convincing arguments for that statement.

Programma

Linear algebra

  • Complex numbers, polynomials and fundamental theorem of algebra. Root of unity and computation of complex roots.
  • Linear systems, vector calculus, linear applications, matrices.
  • Eigenvalues, eigenvectors, diagonalisation. Matrix decompositions.
  • Scalar products, norms. Euclidean spaces, lengths, distances and angles.
  • Multilinear applications and tensor products. Symmetric and alternate products.

Probability and Statistics

  • Discrete and continuous probability distributions, average, variance, moments and covariance (recap).
  • Entropy, Cross-entropy, Kullback-Leibler divergence. Similarity/divergence measures between distributions. KL as loss function and links with likelihood.
  • Convolutions.
  • PCA.

Numerical analysis

  • Good conditioning of a numerical problem.
  • Numerical algorithms, convergence and numerical stability, computational complexity, error propagation.
  • Numerical solution of large linear systems and numerical approximation of eigenvalues and eigenvectors.
  • Differentiation of multivariate functions, Jacobian matrix and Hessian matrix (computation and properties), gradient.

Optimisation

  • Descent methods, gradient descent (convergence).
  • Descent methods with momentum and acceleration, diagonal rescaling methods: AdaGrad, RMSProp, Adam, AdaMax.
  • Stochastic gradient methods, stochastic noise and convergence, application to learning problems.
  • Newton method, computational trade-off w.r.t. gradient methods and hybridisation.
  • Landscape and global optimisation of neural networks.
  • Articulation between optimisation error and other types of error in learning.

Modalità d'esame

Final written exam consisting of four distinc parts corresponding to the four course modules.

Testi di riferimento

  • Mathematical theory of deep learning, P. Petersen and J. Zech, arXiv:2407.18384v2
  • Introduction to Methods for Nonlinear Optimization, L. Grippo and M. Sciandrone, Springer. https://link.springer.com/book/10.1007/978-3-031-26790-1
  • Immersive Linear Algebra , J. Ström, K. Åström, and T. Akenine-Möller, link

Codice insegnamento INF0437

Network Science & Graph Analytics 1° anno · 6 CFU · INFO-01/A · 0 file

The course contributes to the achievement of the specific educational objectives of the M.Sc. degree on Artificial Intelligence and High Performance Computing Technologies (LM-18), more specifically among those…

Scheda dell'insegnamento

Obiettivi formativi

The course contributes to the achievement of the specific educational objectives of the M.Sc. degree on Artificial Intelligence and High Performance Computing Technologies (LM-18), more specifically among those concerning the "area informatica specializzante" (computer science specialization area), by introducing the fundamental concepts, principles, and methods in the interdisciplinary field of network science. Students will develop the knowledge and skills to identify when real-world data can be effectively modeled as graphs, and learn to select and apply appropriate algorithms to solve complex network problems. The course also provides the knowledge to analyze large-scale graph structures and extract meaningful insights using both traditional network analysis techniques and modern machine learning approaches, including graph neural networks. Students will gain hands-on experience with real-world applications spanning node classification, link prediction, community detection, and spreading dynamics.
Knowledge and understanding
Students will learn fundamental graph theory concepts and define and calculate basic and advanced network metrics. They will develop a deep understanding of key network models and learn to characterize structural properties that define network robustness and community organization. Students will also learn to connect structural properties of networks to their evolution and global emerging behavior. Further, students will understand modern graph representation learning techniques, enabling them to bridge traditional network analysis with contemporary machine learning approaches for tasks such as node classification and link prediction.

Applying knowledge and understanding
Students will be able to design and implement comprehensive network analysis workflows for (large-scale) graph datasets. They will master advanced analysis and visualization techniques to explore network structures, highlight community patterns, identify key nodes through centrality analysis, and illustrate robustness characteristics. Students will gain hands-on experience with state-of-the-art network analysis tools and frameworks.

Making judgements
Students will develop critical-thinking skills to evaluate complex network problems and to select the most appropriate analytical approaches, metrics, and algorithms for different types of network data and research questions. They will learn to assess the trade-offs between computational complexity and analytical depth when working with large-scale datasets, and make informed decisions about model selection, parameter tuning, and interpretation of results. Students will also gain the ability to critically evaluate the limitations and assumptions of various network analysis methods and to justify their methodological choices across different application contexts.

Communication skills
Students will develop the ability to clearly discuss network-related concepts, analytical methodologies, and research findings to both technical specialists and non-expert audiences. Students will also be able to collaborate with multidisciplinary teams to bridge different domains of expertise and develop innovative network-based solutions to real-world challenges.

Learning skills
Students will be able to independently learn and understand the characteristics of emerging network models and cutting-edge graph analysis techniques through self-directed study and research. They will develop the capacity to critically evaluate new literature in network science and adapt to evolving methodologies. Students will possess the skills to transfer knowledge across different domains, applying network science principles to novel application areas and interdisciplinary contexts. Additionally, they will be equipped to pursue lifelong learning in this rapidly evolving field, demonstrating the ability to independently explore new network analysis tools, interpret complex research findings, and integrate theoretical concepts with practical implementations.

Programma

  • Introduction to complex networks
  • Graph theory
  • Network models: random graphs, scale-free, and small-world networks
  • Advanced network models: weighted and heterogeneous graphs, hypergraphs
  • Network properties
  • Connectedness
  • Centrality measures
  • Robustness
  • Communities
  • Spreading phenomena
  • Graph representation learning (RL)
  • Spectral, proximity-based, and deep neural networks-based RL
  • Graph Convolutional Networks
  • Graph Attention Networks
  • Applications: node classification, link prediction
  • Large-scale graph analytics

Modalità d'esame

Enrollment in the Moodle e-learning environment is mandatory. Through this platform, students will have access to discussion forums, course materials, assignments, and additional resources provided by the lecturers.

Assessment for the course consists of a project and an oral examination. The project will be assigned before the end of the course and may be completed in small groups of two to three students.

Testi di riferimento

  • Graph Representation Learning by William L. Hamilton
  • Networks, Crowds, and Markets: Reasoning About a Highly Connected World by David Easley and Jon Kleinberg
  • Network Science by Albert-László Barabási

Codice insegnamento INF0445

Parallel Programming & High Performance Computing 1° anno · 9 CFU · INFO-01/A · 0 file

The course introduces basic programming models for parallel programming, with a focus on high-performance programming. The main goal is to provide students with methods and tools to address the complexity of designing…

Scheda dell'insegnamento

Obiettivi formativi

The course introduces basic programming models for parallel programming, with a focus on high-performance programming. The main goal is to provide students with methods and tools to address the complexity of designing parallel applications, building on fundamental programming models (shared memory, message passing, and SIMD) and high-level programming paradigms that reduce the complexity of designing and optimizing the performance of explicitly parallel code.

Although the main focus is programming, the course introduces all the architectural and microarchitectural aspects of the most common parallel machines needed to understand how to optimize performance. These concepts are then exemplified with examples of interest to the student's studies (e.g., artificial intelligence and scientific computing).
KNOWLEDGE AND UNDERSTANDING. Knowledge of the paradigms for parallel programming. Knowledge of the tools for the study of the performances of parallel programs.

APPLYING KNOWLEDGE AND UNDERSTANDING. Competences on parallel programming with the traditional programming models at low-level abstraction: message passing and shared memory. Competence in multi-core and distributed parallel systems (basic level) architectures. Competence in GPGPU programming (basic level). Competences on performance tuning (basic level).

MAKING JUDGMENTS. Acquisition of the basic criteria to set up a correct design and a solid implementation of parallel systems and for being able to evaluate their performances.

COMMUNICATION SKILLS. Acquisition and development of a Computer Science vocabulary finalized to the design and implementation of parallel systems.

LEARNING SKILLS. Acquisition of autonomous learning and auto-evaluation skills of their competencies, theoretical and practical.

Programma

  • Introduction to parallel and distributed computing (16 hours)
  • Motivation, programming for performance
  • Performance Metrics
  • Models of computations
  • Introduction to the parallel architectures (8 hours)
  • Shared memory: multi-core, caches, memory consistency models, lock-free programming
  • Multicomputer: multiprocessor, cluster, interconnection networks
  • Accelerators: SIMD, GPUs
  • HPC & cloud: architectures and workload managers
  • Programming paradigms (16 hours)
  • Parallel programming models: message passing, shared memory,
  • Parallel programming paradigms: data, control and stream parallel
  • Programming for performance and portability: computational grain
  • Examples and case studies (8 hours)
  • Programming exercises with threads and MPI
  • Programming GPGPU with SIMT model

Modalità d'esame

Traditional course with exercises held by the teacher alternating traditional blackboard and slide projection. Lessons are registered on the course site (including the teaching material and proposed exercises).

The exam consists of a project and an oral test focusing on the entire program developed. The project consists of the design, implementation, and analysis of parallel software using the tools presented in the course. The student proposes the software to be developed and agrees with the teacher. The project can be carried out in groups or individually and must be accompanied by a written report. The report must report the design choices, the experiments, and the analysis of the results obtained. Admission to the oral exam is conditional on achieving a score of at least 18/30 for the project. The oral exam - always individual - consists of an interview on the topics developed during the course and includes, in particular: - the possible discussion of the project and the report - the possible carrying out of exercises; - the presentation of topics and results covered in the course, including some demonstrations. Both tests must be passed in the same exam session. The final grade is the average of the grades achieved in the two tests.

Codice insegnamento INF0440

Scalable & Accelerated Computing 1° anno · 6 CFU · INFO-01/A · 0 file

The course contributes to the achievement of the specific educational objectives of the M.Sc. degree on Artificial Intelligence and High Performance Computing Technologies (LM-18), more specifically among those…

Scheda dell'insegnamento

Obiettivi formativi

The course contributes to the achievement of the specific educational objectives of the M.Sc. degree on Artificial Intelligence and High Performance Computing Technologies (LM-18), more specifically among those concerning the "area informatica comune" (common computer science area). The course provides the theoretical and practical knowledge to design scalable and accelerated distributed programs. As a use case, the course discusses the distributed training of machine learning models on modern hardware architectures, going beyond single-GPU and single-node setups.

First, the course focuses on HPC networking, which is the backbone of distributed applications. It delves into how these technologies differ from others, e.g., cloud ones, and how to leverage such hardware. Second, the course will address offloading compute-intensive tasks to accelerators, such as GPUs, and will cover both low-level programming frameworks that give the programmer full control and higher-level cross-vendor platforms for more portable code. Third, these two parts are revisited in the context of AI, covering different methods and strategies for training machine learning models distributed across multiple accelerators and nodes.
Through the course, students will acquire the knowledge and skills to leverage common HPC hardware to their fullest potential. The focus is on using accelerators and low-latency networking to build scalable, high-performance applications, with a concrete use case being distributed machine learning model training.

KNOWLEDGE AND UNDERSTANDING: Students will be mastering some of the main concepts of the characteristics of HPC networks and accelerator offloading.

APPLYING KNOWLEDGE AND UNDERSTANDING: The students will use the knowledge they have gained to write distributed applications that leverage (multiple) compute accelerators, applying it to the use case of distributed model learning.

INDEPENDENT JUDGEMENT: Students will learn how to judge which parts of an application to run where.

LEARNING SKILLS: Students will be given the opportunity to test and self-assess on lab projects.

Programma

HPC networks:

Communication impact on scalability: Amdahl's law

  • Topologies: hyper-cube, fat-tree, dragonfly
  • Routing: wormhole, algorithmic, k-mod n
  • Zero-copy networking: RDMA
  • Infiniband: verbs
  • Converged Enhanced Ethernet
  • User-space networking: e.g., DPDK

Accelerator programming:

  • Offloading
  • Kernels
  • Low-bit operations: quantization, mixed-precision, high-precision approximation (e.g., Ozaki scheme)
  • Programming frameworks: hints on CUDA and HIP, higher-level framework: e.g., OpenMP per GPU
  • Bottleneck detection: profiling, roofline

Distributed AI:

  • Distributed learning
  • Training parallelism: data, model, pipeline, tensor
  • Federated learning: horizontal, vertical
  • Federated generative AI
  • Distributed inference
  • Checkpointing

Lab:

  • Deep learning (DL) as linear algebra
  • Accelerating matrix multiplication
  • Quick refresh of Python/DL libraries and lab setup
  • Train model (e.g., LLM or diffusion model): single node
  • Train model federatedly
  • Train model distributedly

Modalità d'esame

Enrollment in the Moodle e-learning environment is mandatory, where students will find discussion forums, course materials, and assignments prepared by the lecturers. The exam consists of a written test (with open-ended questions and exercises) and an oral project discussion. The project will be assigned before the end of the course and could be carried out in groups.

Codice insegnamento INF0441

Advanced Ai Paradigms 2° anno · 6 CFU · INFO-01/A · 0 file

This course explores advanced paradigms in artificial intelligence that go beyond traditional supervised learning, focusing on methods that enable models to learn more efficiently, generalize better, and adapt…

Scheda dell'insegnamento

Obiettivi formativi

This course explores advanced paradigms in artificial intelligence that go beyond traditional supervised learning, focusing on methods that enable models to learn more efficiently, generalize better, and adapt continually. Students will investigate cutting-edge strategies such as self-supervised learning, transfer learning, zero/few-shot learning, and lifelong/meta-learning - all aimed at addressing challenges like data scarcity, task diversity, and computational constraints - and other advanced AI techniques like reinforcement learning.

The course also covers key enablers of scalable and deployable AI, including federated learning for privacy-preserving training and model compression techniques like quantization, pruning, and distillation for efficient inference. By the end of the course, students will understand how these paradigms contribute to building robust, adaptive, and efficient AI systems and will be equipped to apply them in both research and real-world applications.
Knowledge and Understanding
Upon successful completion of the course, students will demonstrate a deep understanding of advanced AI paradigms beyond traditional supervised learning.

Applying Knowledge and Understanding
Students will gain practical insight (through hands-on exercises and project work) into the implementation and evaluation of advanced AI techniques.

Making Judgments
Students will develop the ability to critically assess the suitability of advanced AI paradigms for specific problems, tasks, or deployment scenarios.

Communication
Students will be able to effectively communicate advanced technical concepts, design choices, and evaluation results to both specialist and non-specialist audiences.

Learning Skills
Students will be equipped with the foundational tools needed to follow ongoing developments in the field and to gradually build expertise in applying advanced AI paradigms in academic or professional settings.

Programma

Beyond traditional supervised learning

  • Data scarcity, generalization, efficiency (space/time), deploy, …

Self-supervised Learning

  • Contrastive Learning
  • Diffusion Models

Transfer Learning

  • Fine-tuning
  • Domain adaptation

Zero/few shot learning

Continual/lifelong/meta learning

  • Catastrophic forgetting

Reinforcement Learning

Federated Learning

Model compression

  • Quantization
  • Pruning
  • Distillation

Modalità d'esame

Voto Finale

Codice insegnamento INF0450

Advanced Multimodal Learning 2° anno · 6 CFU · INFO-01/A · 0 file
Scheda dell'insegnamento

Modalità d'esame

Tipo di esame: Orale. Valutazione: Voto Finale.

Codice insegnamento INF0451

Cloud & Distributed Systems 2° anno · 9 CFU · INFO-01/A · 0 file

The course provides the foundations for mastering the design, development, and management of robust and scalable distributed systems. It explores the theoretical foundations of distributed computing, the main paradigms…

Scheda dell'insegnamento

Obiettivi formativi

The course provides the foundations for mastering the design, development, and management of robust and scalable distributed systems. It explores the theoretical foundations of distributed computing, the main paradigms and design patterns for productive distributed programming, and the modern techniques and tools to deploy and orchestrate modular distributed workflows.

The course also offers a thorough introduction to cloud computing, moving from basic concepts (virtual machines, software containers) to modern cloud-native programming paradigms (micro-services, serverless computing).
Knowledge and understanding. The student will know the primary concepts behind distributed systems, the programming models and design patterns for productive distributed development, the fundamentals of cloud computing, and the modern cloud-native approaches to develop, deploy, and orchestrate modular distributed applications.

Applying knowledge and understanding. The student will be able to understand the principles of modern distributed systems and cloud services, consciously use and develop simple distributed applications and apply the knowledge acquired to evaluate and compare advanced distributed computing frameworks.

Making judgments. The student will be able to compare different algorithms and computing systems for the solution of a large-scale distributed computational problem, compare their effectiveness and applicability, and evaluate the adequacy of professional distributed computing software (data processing frameworks, distributed computing libraries, cloud orchestrators, …)

Communication skills. The student will be able to produce reports on simple topics relating to modern distributed computing paradigms, with language and expression skills, and to interact with IT specialists, asking correct and relevant questions using appropriate terminology.

Learning skills. The student will be able to independently learn and understand the characteristics of novel distributed computing frameworks, workflow systems, and cloud environments.

Programma

The program focuses on the two main areas of Distributed Systems and Cloud Computing. They are addressed by both exploring the theory and practising with guided lab exercises.

Distributed system:

  • definitions and foundations ( distributed domain, impact of the communication network, lack of synchronise time, failure model, deadlock and starvation, consistency, availability, fault tolerance …)
  • Lab: set up of the working environment (python)
  • Simple example: distributed chat
  • overview of the most relevant theorems characterising aspects of distributed programming (may include: CAP, FLP impossibility, time and state management, distributed transaction management, distributed storage, ..)
  • examples of relevant distributed algorithms (leader election, consistency, fault tolerance, consensus)
  • Lab: distributed mutual exclusion
  • Lab: fault detection and recovery
  • Lab: leader election
  • applications (client server//P2P//Blockchain, workflow)
  • Lab: client server (web)
  • Lab: p2p simple application
  • Lab: main aspects of blockchain, with reference to (public) data, provenance, trust … and link to AI applications, e.g.
    (financial) data analytics/federated learning/…

Cloud computing:

  • Foundations of cloud computing (NIST definition of cloud, service models)
  • Cloud infrastructure (hyper-converged infrastructure, virtual machines, software containers)
  • Lab: virtualization in Linux (qemu/virsh)
  • Lab: anatomy of software containers (cgroups, namespaces)
  • Lab: container runtimes (Docker, Singularity/Apptainer)
  • Cloud-native programming paradigms (service-oriented architecture,
    micro-services, serverless computing)
  • Lab: container orchestration (Docker Compose, Kubernetes)
  • Lab: cloud-native programming (FaaS)

Modalità d'esame

TBD We and a mix of a project, oral discussion of the project, checkpoints on coursework.

Testi di riferimento

  • A. S. Tanenbaum, M. van Steen. Distributed Systems: Principles and Paradigms. 2nd edition. ISBN: 978-1530281756
  • Dan C. Marinescu. Cloud Computing: Theory and Practice. 3rd edition. ISBN: 978-0323852777
  • L. A. Barroso, J. Clidaras, U. Hölzle. The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines. 2nd edition. ISBN: 978-3031017612

Codice insegnamento INF0448

Cloud & Distributed Systems Part A 2° anno · 6 CFU · INFO-01/A · 0 file
Scheda dell'insegnamento

Modalità d'esame

Tipo di esame: Scritto e Orale Separati. Valutazione: Voto Finale.

Codice insegnamento INF0449

Data Science & Technologies 2° anno · 6 CFU · INFO-01/A · 0 file

The course is positioned in the context of the Master's Degree in Stochastic and Data Science. It concurs with the objectives of the degree by providing theoretical and practical knowledge to perform real data science…

Scheda dell'insegnamento

Obiettivi formativi

The course is positioned in the context of the Master's Degree in Stochastic and Data Science. It concurs with the objectives of the degree by providing theoretical and practical knowledge to perform real data science tasks on different types of data and to reason about the properties of Data Mining (and Machine Learning) models and algorithms used to solve specific mining/learning tasks.

The course's first focus is data, which is essential to any mining/learning task. The course introduces the main techniques to handle data, perform data cleaning and pre-processing, and assess data quality.

Starting from data, the course teaches the differences between tasks and models and introduces the students to popular Data Mining models.

Specifically, the course provides an overview of the main supervised and unsupervised learning tasks, ranging from classification to clustering algorithms, discussed theoretically and practically.

Particular attention will be given to the practical aspects by introducing the students to some of the most popular Python libraries for data science (e.g., numpy, pandas, scikit-learn).

Finally, the course will introduce the students to the main concepts of privacy-preserving and federated learning.
Through the course, students will acquire the knowledge and skills to perform real data science tasks on different types of data and the ability to reason about the properties of the models and algorithms used to solve specific mining/learning tasks.

Knowledge and understanding: Students will be mastering some of the main concepts in Data Mining and Machine Learning.

Applying knowledge and understanding: The students will be able to use the learned knowledge in the context of a modern programming language and libraries to solve some real data science tasks (such as classifying examples into a set of given classes, clustering data into meaningful groups, etc.).

Making judgments: Students will learn to judge the suitability of a given model or the properties of a learning algorithm for a given data set.

These abilities will be refined practicing with different Machine Learning and Data Mining methods applied to real-case problems.

Learning skills: Students will be given the opportunity to test and self-assess their own knowledge and skills via quizzes and polls.

Programma

Introduction to the course

Data

  • types of data
  • data quality
  • data pre-processing
  • similarity and dissimilarity
  • avoiding false discoveries

Classification

  • basic concepts
  • decision trees
  • model evaluation and selection
  • Advanced Classification
  • rule-based classifiers
  • nearest neighbours classifier
  • support-vector machines
  • neural networks

Clustering

  • overview
  • partitional clustering
  • hierarchical clustering
  • density-based clustering
  • graph-based clustering
  • cluster evaluation

Anomaly detection

  • clustering-based approach
  • one-class classification

Advanced topics

Modalità d'esame

Voto Finale

Codice insegnamento INF0446

Final Project/Thesis 2° anno · 24 CFU · 0 file
Scheda dell'insegnamento

Modalità d'esame

Tipo di esame: Orale. Valutazione: Voto Finale.

Codice insegnamento INF0460

Quantum Computing & Applications 2° anno · 6 CFU · INFO-01/A · 0 file

The course aims to illustrate the two paradigms of quantum computing: Quantum-Annealing-based and Gate-based, in order to "compare" them as two (possibly) alternative paradigms. KNOWLEDGE AND UNDERSTANDING. Knowledge…

Scheda dell'insegnamento

Obiettivi formativi

The course aims to illustrate the two paradigms of quantum computing: Quantum-Annealing-based and Gate-based, in order to "compare" them as two (possibly) alternative paradigms.
KNOWLEDGE AND UNDERSTANDING. Knowledge of the principal models of quantum computing. Understanding the computational principles that characterize the two models.

APPLYING KNOWLEDGE AND UNDERSTANDING. The application of knowledge will consist in modelling classical functions or problems in terms of reversible functions or optimization problems, understanding which of common techniques to apply, according to the situation at hand.

MAKING JUDGMENTS. Acquisition of the basic criteria to choose which of the two models can more fruitfully lead to the implementation of an effective quantum algorithm that solves a problem.

COMMUNICATION SKILLS. Acquisition of the right vocabulary to describe quantum algorithms according to a Computer Science community more than a Physics community.

LEARNING SKILLS. Acquisition of autonomous learning and auto-evaluation skills of their competencies, both theoretical and practical.

Programma

Quantum-Anneal-based

  • Computational intractability, PTIME reduction among computational problems
  • From the classical method “Solving a problem is like recognizing a language” to a quantum approach “Solving a problem is like reducing the energy of a physical system”: (i) Canonical forms of Quantum Binary Optimization problems (QBO); (ii) Reductions from classical intractable problems (TSP, KP, 3COLOR, etc.) to QBO
  • From QBO to implementation on QPU: heuristics of Minor Embedding and properties
  • Tuning the result of Minor Embedding of a QBO instance on QPU

Gate-based

  • Quantum circuits, bases of gates
  • Mixed states and Density Matrices. Decoherence, error correction, and measurement theory
  • Representing data in Quantum Computing. Variational Circuits as Machine Learning Models

Relations between Quantum-Annealing and Gate-based models: (i) “Compilation” of problems from one model to another (ii) Computational expressivity of each model

Modalità d'esame

L’esame sarà mista laboratoriale e scritta. In particolare si svolgerà discutendo la consegna di un progetto laboratoriale e svolgendo una prova scritta sui temi trattati nel corso.

Testi di riferimento

  • https://link.springer.com/book/10.1007/978-3-030-63689-0
  • https://link.springer.com/book/10.1007/978-3-031-66425-0

Codice insegnamento INF0454

Trustworthy & Responsible Ai 2° anno · 9 CFU · INFO-01/A · 0 file

The course contributes to the achievement of the specific educational objectives of the M.Sc. degree on Artificial Intelligence and High Performance Computing Technologies (LM-18), more specifically among those…

Scheda dell'insegnamento

Obiettivi formativi

The course contributes to the achievement of the specific educational objectives of the M.Sc. degree on Artificial Intelligence and High Performance Computing Technologies (LM-18), more specifically among those concerning the "area informatica di approfondimento" (in-depth computer science area), by providing the principles and techniques for developing trustworthy and responsible AI systems, addressing challenges in privacy preservation, bias mitigation, model interpretability, and system robustness. Students will learn to identify and mitigate risks associated with AI deployment, implement privacy-preserving data analysis methods, and design fair and explainable machine learning systems. The course combines theoretical foundations with practical applications, preparing students to make informed decisions about AI system design and deployment in real-world contexts.
KNOWLEDGE AND UNDERSTANDING

At the end of the course, students will know:

  • the privacy risks raised by the management and analysis of so-called "big data",
  • the main data protection methods,
  • the main methods of privacy-preserving data analysis
  • the main methods for assessing and mitigating biases
  • the main methods for improving the interpretability of ML models and for explaining black box or opaque models
  • the main methods for improving the trustworthiness of ML models

APPLYING KNOWLEDGE AND UNDERSTANDING

At the end of the course, students will be able to:

  • adopt an ethical and responsible approach to the design of AI methods,
  • improve the trustworthiness and robustness of AI methods

INDEPENDENT JUDGEMENT

At the end of the course, students will know how to:

  • analyze, design and develop responsible and trustworthy AI solutions and to make informed technological choices
  • exploit the improved awareness of the need for a responsible approach to information technology in the conception, design and development of trustworthy AI systems.

COMMUNICATION SKILLS

At the end of the course, students will be able to:

  • discuss, in written and/or oral form, about responsible and trustworthy AI systems and methods and possible solutions in practical case studies.

LEARNING SKILLS

At the end of the course, students will have acquired the skills to study independently and self-assess their knowledge, so that they will be able to continue to higher levels of education with a high degree of autonomy.

Programma

Privacy & Data Protection:

  • Big Data & Privacy: issues and opportunities
  • Data anonymization (k-anonymity, synthetic data)
  • Differential privacy principles and implementation
  • Introduction to homomorphic encryption

Interpretability & Explainability

  • Interpretable models
  • Local Model-Agnostic Methods (LIME, SHAP, counterfactuals)
  • Global Model-Agnostic Methods (feature importance, partial dependence)
  • Neural network interpretation methods

Bias and Fairness

  • Bias, Discrimination & Fairness definitions
  • Bias detection and measurement techniques
  • Mitigation strategies (pre/in/post-processing)

Robustness & Security of AI Systems

  • Data Augmentation
  • Ensemble Methods
  • Verification of AI-based systems
  • Adversarial Training
  • Defensive Distillation
  • Gradient Masking

Modalità d'esame

Enrollment in the Moodle e-learning environment is mandatory, where students will find discussion forums, course materials, assignments, and supplementary course material prepared by the lecturers. The exam consists of a written test (with open-ended questions and exercises) and an oral project discussion. The project will be assigned before the end of the course and could be carried out in groups.

Codice insegnamento INF0452

Trustworthy & Responsible Ai Part A 2° anno · 6 CFU · INFO-01/A · 0 file
Scheda dell'insegnamento

Modalità d'esame

Voto Finale

Codice insegnamento INF0453

Italian For International Students Beginner Level 3 CFU · 0 file

English Italiano The course is meant to welcome the international students and help them feel at ease in the Italian cultural and linguistic context. The course is organized by the University Language Center…

Scheda dell'insegnamento

Scheda dell'a.a. 2025/2026: quella dell'anno in corso non è ancora pubblicata.

Obiettivi formativi

English Italiano The course is meant to welcome the international students and help them feel at ease in the Italian cultural and linguistic context. The course is organized by the University Language Center (CLA-UniTO) for the international students of the degree courses taught in English. Il corso si configura come una forma di accoglienza per facilitare l’inserimento nel contesto culturale italofono. È realizzato dal Centro Linguistico di Ateneo (CLA-UniTO) e ha come obiettivo un’iniziale formazione linguistica e culturale in italiano per gli studenti internazionali dei corsi di laurea triennali, magistrali e a ciclo unico erogati in inglese. English Italiano Students are expected to: develop communication skills in Italian in order to feel at ease with everyday life in Italy at a beginner level learn the main vocabulary, morpho-syntactic structures and phonological features of Italian at a beginner level (CEFR A1) acquire basic intercultural skills sviluppare competenze comunicative in italiano tali da potersi relazionare in situazioni di vita quotidiana a un livello principiante acquisire il lessico e le principali strutture morfo-sintattiche e fonetiche dell’italiano ad un livello principiante (A1 del QCER) acquisire una competenza interculturale di base

Programma

English Italiano CEFR A1-level syllabus (see pdf attached) Sillabo di riferimento per il livello A1 del QCER (vd pdf allegato)

Modalità d'esame

English Italiano It is a 60-hour blended course: 40 hours of in-presence classes plus 20 hours of autonomous learning on the Moodle platform. Cultural activities and extra meetings with Italian intern students will be part of the course as well. 40 ore di lezioni in presenza e 20 ore di esercitazioni autonome in e-learning su piattaforma Moodle. Verranno proposti incontri e attività culturali con gli studenti tirocinanti del CLA.

Codice insegnamento LIN0592

Italian For International Students Pre-Intermediate Level 3 CFU · 0 file

English Italiano The course is meant to welcome the international students and help them feel at ease in the Italian cultural and linguistic context. The course is organized by the University Language Center…

Scheda dell'insegnamento

Scheda dell'a.a. 2025/2026: quella dell'anno in corso non è ancora pubblicata.

Obiettivi formativi

English Italiano The course is meant to welcome the international students and help them feel at ease in the Italian cultural and linguistic context. The course is organized by the University Language Center (CLA-UniTO) for the international students of the degree courses taught in English. Il corso si configura come una forma di accoglienza per facilitare l’inserimento nel contesto culturale italofono. È realizzato dal Centro Linguistico di Ateneo (CLA-UniTO) e ha come obiettivo un’iniziale formazione linguistica e culturale in italiano per gli studenti internazionali dei corsi di laurea triennali, magistrali e a ciclo unico erogati in inglese. English Italiano Students are expected to: develop communication skills in Italian in order to feel at ease with everyday life in Italy at a beginner level learn the main vocabulary, morpho-syntactic structures and phonological features of Italian at a beginner level (CEFR A1) acquire basic intercultural skills Gli studenti sono tenuti a: sviluppare competenze comunicative in italiano tali da potersi relazionare in situazioni di vita quotidiana a un livello pre-intermedio acquisire il lessico e le principali strutture morfo-sintattiche e fonetiche dell’italiano ad un livello principiante (A2 del QCER) acquisire una competenza interculturale di base

Programma

English Italiano CEFR A2-level syllabus (see pdf attached) Sillabo di riferimento per il livello A2 del QCER (vedi pdf allegato)

Modalità d'esame

English Italiano For the attending students (at least 70% of classes attended): partial assessment during the classes oral exam: a self presentation, a description of pictures and a dialogue For the non-attending students (less than 70% of classes attended): written exam: a computer-based test based on the A1-level language skills in Italian according to the CEFR. Students must pass the written part in order to take the oral exam. oral exam: a self presentation, a description of pictures and a dialogue Final exam during the sessions organized throughout the academic year. Per gli studenti frequentanti: valutazione in itinere durante il corso prova orale: presentazione personale, descrizione di immagini e dialogo Per gli studenti non frequentanti: prova scritta: test sulle competenze linguistiche previste dal livello A2 del QCER. è obbligatorio superare l’esame scritto per poter accedere all’orale. prova orale: presentazione personale, descrizione di immagini e dialogo Esame finale negli appelli previsti. Gli studenti che frequentano almeno il 70% delle lezioni sincrone sono esonerati dalla prova scritta.

Codice insegnamento LIN0593

Scientific English 3 CFU · 0 file
Scheda dell'insegnamento

Modalità d'esame

Tipo di esame: Orale. Valutazione: Giudizio Finale.

Codice insegnamento INF0459

Recensioni del corso

Studi qui? Accedi per lasciare la tua recensione e aiutare altri studenti a scegliere.

★

Nessuna recensione per ora — e la prima è la più preziosa. Condividi la tua esperienza e orienta le future matricole.