Corso di laurea

COMPUTER ENGINEERING

Università degli Studi di Genova · 42 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

ADVANCED CONTROL SYSTEMS ING-INF/04 · 0 file

This course covers a wide range of advanced control techniques, including model predictive control, adaptive control, robust control, and optimal control, providing participants with a comprehensive toolkit for…

Scheda dell'insegnamento

Obiettivi formativi

This course covers a wide range of advanced control techniques, including model predictive control, adaptive control, robust control, and optimal control, providing participants with a comprehensive toolkit for tackling real-world control challenges. Through a combination of theoretical lectures, practical examples, and hands-on exercises, participants will gain a deep understanding of the principles underlying advanced control algorithms and their applications in diverse engineering domains.

Programma

Students who hold valid certificates relating to Specific Learning Difficulties (SLD), disabilities or other educational needs are invited to contact the lecturer and the school’s disability liaison officer at the start of the course to agree on any teaching arrangements which, whilst respecting the course objectives, take into account individual learning styles.
The contact details for the university’s disability liaison officer are available at the following link: https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.

Codice insegnamento 114560

ADVANCED DATA MANAGEMENT INF/01 · 0 file

The teaching unit aims for students to acquire the theoretical, methodological, and technological fundamentals of data management for advanced data processing architectures, with a specific reference to large-scale…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit aims for students to acquire the theoretical, methodological, and technological fundamentals of data management for advanced data processing architectures, with a specific reference to large-scale distributed environments, like key elements of NoSQL systems, basic issues in parallel and distributed query processing, and data management for AI-driven applications.

Programma

When the size of structured and unstructured data exceeds the capacity of conventional database management systems, advanced tools and methods are required for capturing, storing and managing data. Such huge amounts of data are usually stored in large-scale distributed environments, processed using specific advanced data processing environments, specific tools for their management are usually required, and represent the basis for the development of AI-driven applications.

Modalità d'esame

Written examination (a different number of questions will be proposed depending on the number of the CFU); project development (only for 9 CFU); oral examination
During the semester, we will propose some assignments, to be developed on one of the presented systems.
Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/11964/studenti-disabilita-dsa

Details on how to prepare for the examination and the required degree of knowledge for each topic will be provided during the lessons.
The written exam consists of a set of open and closed questions and exercises on basic topics of the course: the goal of open and closed questions is to verify the understanding of the main issues addressed during the lessons, the aim of exercises is to check the ability to select the right system for a given scenario and solve simple problems related to data modeling and querying in large-scale data management systems.
The project (only for 9 CFU) consists in the design and the implementation of a data store for one of the systems presented in the course; the presentation of the performed activity help us in checking the ability of using at least one system for large-scale data management for solving non trivial problems and the ability of communicating t(in a written way) he result of the activity in a clear and complete way.
The oral exam consists of the discussion of the written exams, the assignment, and the project (onlu for 9 CFU), in order to assess whether the student has reached an appropriate level of knowledge and the ability of communicating (in an oral way) the result of the activities in a clear and complete way.
For students that do not successfully complete the assignments, the oral exam will also include theoretical questions and / or practices of the course topics to better understand the understanding of the main issues addressed during the lessons.

Testi di riferimento

Serge Abiteboul, Ioana Manolescu, Philippe Rigaux, Marie-Christine Rousset, Pierre Senellart. Web Data Management. Cambridge University Press, 2011.
P.J. Sadalage, M.Fowler. Nosql Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. Addison Wesley, 2013
Jeff Carpenter, Eben Hewitt, Cassandra: The Definitive Guide, O'Reilly Media, 2016
Ian Robinson, Jim Webber & Emil Eifrem. Graph Databases, New Opportunities for Connected Data, 2nd Edition, O’Reilly, 2015
Additional material and references provided by the instructors.

Codice insegnamento 61884

ARTIFICIAL INTELLIGENCE IINF-05/A · 0 file

The aim of the teaching unit is to introduce students to some fundamental themes of Artificial Intelligence, mainly on the "deductive" side of the discipline. Students will learn the basics of propositional logic and…

Scheda dell'insegnamento

Obiettivi formativi

The aim of the teaching unit is to introduce students to some fundamental themes of Artificial Intelligence, mainly on the "deductive" side of the discipline. Students will learn the basics of propositional logic and first-order predicate logic and will apply them in the context of knowledge representation using reasoning techniques seen in class. Additionally, in addition to the basic skills related to knowledge representation techniques and reasoning techniques, the course will address the issues and basic techniques of heuristic search and automatic planning.

Programma

The Artificial Intelligence (AI) course explores the design and implementation of intelligent systems capable of performing complex tasks that require cognitive abilities similar to those of humans. Among the key areas of AI, special emphasis is placed on the study of knowledge representation techniques and automated planning, focusing on the modeling of complex systems and on automated reasoning techniques based on the defined models.

Modalità d'esame

The final exam will be a test with exercises on:
Propositional logic, modeling, and reasoning
First-order logic, modeling, and reasoning
Planning, modeling, and procedures
Search, uninformed and informed
Depending on the results and the content of the test taken, an oral examination may be required.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa”.

The exam will be assessed by evaluating the answers to the proposed exercises and to the questions in the test. In addition to correctness, the completeness of the answers will also be assessed, with particular attention to how their relevance wrt the proposed text.

Testi di riferimento

The teaching material presented during lessons will be made available on AulaWeb.

Codice insegnamento 111103

ARTIFICIAL INTELLIGENCE AND LAW IUS/01 · 0 file
ARTIFICIAL INTELLIGENCE AND THE LAW IUS/01 · 0 file

The purpose of the teaching unit is to introduce the legal implications of new technologies, with particular reference to artificial intelligence, robotics, and bioengineering, addressing how technological evolution…

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce the legal implications of new technologies, with particular reference to artificial intelligence, robotics, and bioengineering, addressing how technological evolution raises the problem of identifying the legal discipline applicable to new phenomena and the need to reassess existing law to govern innovation while respecting the fundamental principles of the legal system and not hindering the development of new economic sectors. The teaching unit further aims to provide students with a general understanding of the basic legal knowledge necessary to address the challenges posed by new technologies, including the protection of individuals’ rights both from a preventive perspective (compliance) and a remedial perspective (liability and compensation), taking into account national and supranational regulations, jurisprudence, and recent doctrinal contributions.

Programma

The course is focused on the legal profiles of new technologies, expecially on the legal implications of the use of artificial intelligence by professionals, companies and public. Technological innovation has opened up scenarios on civil liability and product liability, on the protection of confidentiality, on information security, making it necessary to be aware of the European regulations. The topic includes the study of private law, in the light of recent EU regulatory framework, and provides the skills to build AI systems compliant with the rules.

Modalità d'esame

The exam will be conducted orally. For attending students, specific assessment methods may be agreed upon with the instructor, such as participation in workshops and the submission of a final report. An intermediate test is scheduled during the course. Students who do not pass the intermediate test or do not take it will be able to take the full oral exam on the dates set in the official calendar.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs are required to contact the instructor at the beginning of the course to agree on teaching and assessment methods that, while respecting the learning objectives, take into account individual learning styles and provide appropriate compensatory tools. Please note that requests for compensatory/dispensatory measures for exams must be sent to the course instructor, the School’s representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([[email protected]](mailto:[email protected])) at least 10 working days before the exam, in accordance with the guidelines available at the following link: [https://unige.it/disabilita-dsa](https://unige.it/disabilita-dsa).

The oral exam will allow for the assessment of the acquisition of knowledge regarding legislative regulation, the ability to apply legal rules to concrete situations, and the use of technical language. The practical cases and the intermediate test are intended to assess the knowledge acquired at the end of each module.

Testi di riferimento

The teaching materials will be distributed during the course and made available to students on Aulaweb. We recommend reading the regulatory texts that will be explained in the class.

Codice insegnamento 114550

AUGMENTED AND VIRTUAL REALITY ING-INF/05 · 0 file

In this course students will become aware of the necessary interdisciplinarity of Augmented Reality and Virtual Reality technologies for Computer Engineering: starting from the knowledge of the fundamentals of computer…

Scheda dell'insegnamento

Obiettivi formativi

In this course students will become aware of the necessary interdisciplinarity of Augmented Reality and Virtual Reality technologies for Computer Engineering: starting from the knowledge of the fundamentals of computer graphics, modeling and animation of 3D digital objects, the aim of the course is to get to the programming skills necessary to build applications and systems in virtual / mixed / augmented / extended reality (VR / AR / MR / XR). Considering recent approaches from mobile programming to biomechanics, sensory perception and generative-AI, humanoid robotics and video games, students will face challenging tasks in order to manage complex interactions between simulated and / or physical objects and actors (both FPV first-person view and TPV third-person view).

Programma

The aim of the course is to start with the knowledge on the fundamentals of graphics, modeling and animation of 3D digital objects, to arrive at the programming skills necessary to build applications and systems based on simulation in virtual / mixed / augmented / extended reality (VR / AR / MR/ XR).
This objective will serve to make students aware of the necessary interdisciplinarity of contributions from mobile programming, biomechanics, sensory perception, robotics and video games to manage complex interactions between simulated and / or physical objects and actors (both in first person view FPV and third person view TPV).

Modalità d'esame

The exam modality is based on a team-based or individual project, followed by an oral discussion.
Requested submissions:
Pitch Document before the end of the lessons
Report of the Project (or GDD Game Design Document), 7 working days before the chosen exam date.
Final Demo of the project, 2 working days before the chosen exam date.
Presentation of the project and oral discussion, on the exam date

The assessment method is based on the continuous assessment of learning and the final group or individual project, followed by an oral discussion.
The distribution of grades will be as follows:
Active partecipation and submission on time of the Pitch Document, 10%
Submission on time of the Report of the Project (or Game Design Document), 25%
Submission on time of the Final Demo of the project, 40%
Presentation of the project and oral discussion, 25%

Testi di riferimento

Steven M. La Valle, Virtual Reality, 2023, Cambridge Univ. Press, freely available at http://vr.cs.uiuc.edu/
S.lacono - G.Vercelli, Dalla fotogramnmetria con i droni alla Virtual Reality (cod.113560) (in Italian), https://raiseliguria.aulaweb.unige.it/course/view.php?id=33
Epic Games, Tutorial su Unreal Engine, available at: https://dev.epicgames.com/community/unreal­ engine/learning

Codice insegnamento 80459

BINARY ANALYSIS AND SECURE CODING INF/01 · 0 file

Learning how to write secure code, analyze the behavior and assess security properties of source and binary programs, pinpointing and fix their vulnerabilities or apply corrective counter-measures.

Scheda dell'insegnamento

Obiettivi formativi

Learning how to write secure code, analyze the behavior and assess security properties of source and binary programs, pinpointing and fix their vulnerabilities or apply corrective counter-measures.

Programma

The course aims at making developers aware that (poorly written) programs can be exploited for malicious purposes, making them act in unintended ways. This goal is achieved by showing how binary programs can be analysed and exploited. Moreover, the course describes how to design & write secure software, i.e., resistant to attack by malicious or mischievous people or programs. Analysis procedures in adversarial contexts, such as malware analysis, will be also discussed.

Modalità d'esame

Hands-on session and oral discussion.
Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/10852/studenti-disabilita-dsa

The examination will assess the ability of analysing programs for security vulnerabilites, developing simple exploits and applying corrective fixes. Moreover, the knowledge of concepts presented in lectures, and the ability to analyse and articulate them clearly.
9-CFU students may be assigned malware/malware-like samples to analyze.

Testi di riferimento

Support material and recommended bibliography will be available on AulaWeb.

Codice insegnamento 101811

COMPUTER SECURITY ING-INF/05 · 0 file
CYBERSECURITY IINF-05/A · 0 file

The teaching unit aims to provide students with the basic knowledge of the fundamental principles of computer security, including topics such as cryptographic hash functions, symmetric and asymmetric ciphers, digital…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit aims to provide students with the basic knowledge of the fundamental principles of computer security, including topics such as cryptographic hash functions, symmetric and asymmetric ciphers, digital signatures, digital certificates, security protocols, access control, and an introduction to network and web security.

Programma

The course covers some of the fundamental principles of Computer Security. Topics covered include cryptographic hash functions, symmetric and asymmetric ciphers, digital signatures, digital certificates, security protocols, and access control. An introduction to network security and web security is also provided. The course also features a number of hands-on sessions and a cyber exercise (CyberEx), inspired by Capture-the-Flag competitions.
For the students of Informatica (Computer Science) the CyberEx is not mandatory and the number of credits is reduced to 6.

Modalità d'esame

Written Exam based on open–ended questions.
Hands-on Assessment (CyberEx) requiring the solution of “Capture-the-Flag” problems.

The written assessment will assess
The understanding of the fundamental problems and techniques of Computer Security
the ability to critically evaluate the characteristics of the various solutions to classical security problems (e.g. data protection, authentication, authorization)
The practical assessment will assess
The ability to use penetration testing tools
the ability to discover vulnerabilities and exploits in computer systems.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]<mailto:[email protected]>) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa

Testi di riferimento

Teaching material (slides and exercises) are available on AulaWeb.
Charles P. Pfleeger Shari Lawrence Pfleeger. Security in Computing, 4/E. ISBN-10:0132390779, ISBN-13: 9780132390774, Prentice Hall Editor, 2007. (Available also in Italian)
William Stallings, Lawrie Brown. Computer Security: Principles and Practice (3rd Edition). Pearson Ed., 2015

Codice insegnamento 80156

DATA PROTECTION & PRIVACY IINF-05/A · 0 file

The purpose of the teaching unit is to introduce the theoretical and practical bases of the anonymization of personal data, with particular reference to state-of-the-art techniques for the anonymization of…

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce the theoretical and practical bases of the anonymization of personal data, with particular reference to state-of-the-art techniques for the anonymization of multidimensional data, graphs, time series, longitudinal and transactional data, as well as the legal foundations related to the protection of personal data.

Programma

This course provides advanced knowledge on data protection and privacy-preserving technologies, with a particular focus on data anonymization, privacy-enhancing technologies, and privacy-aware machine learning. Students will study both the theoretical foundations and practical implementation of modern privacy-preserving techniques for different types of data, including multidimensional datasets, graphs, time series, transactional data, mobile applications, and machine learning systems. The course also addresses emerging challenges in privacy protection, including differential privacy, federated unlearning, privacy-preserving data mining, privacy risks in mobile platforms, blockchain de-anonymization, and privacy issues related to Large Language Models (LLMs). Practical laboratory activities and project work enable students to apply acquired knowledge to real-world privacy engineering scenarios.

Modalità d'esame

The exam will consist of a presentation and discussion of a project on implementing and evaluating an anonymization algorithm from the scientific literature, as well as an oral examination on the course topics.

The final grade is based on:
A practical project involving the analysis, implementation, or evaluation of privacy-preserving techniques.
An oral examination focused on the theoretical foundations, practical methodologies, and critical discussion of privacy-preserving technologies.
The assessment verifies the achievement of the learning outcomes described above, with particular attention to the student's ability to apply privacy techniques, critically evaluate their effectiveness, and discuss current research challenges.

Testi di riferimento

The course primarily relies on:
Scientific papers selected from the international literature.
Lecture slides and teaching material provided during the course.
Additional research articles discussed throughout the lectures.

Codice insegnamento 121516

DESIGNING INTERACTIVE SYSTEMS IINF-05/A · 0 file

The purpose of the teaching unit is to introduce the principles and techniques for the design and development of interactive systems, with reference to novel interactive paradigms, design approaches, and techniques…

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce the principles and techniques for the design and development of interactive systems, with reference to novel interactive paradigms, design approaches, and techniques such as real-time human signal analysis. The teaching unit aims for participants to acquire knowledge and understanding of interaction design and participatory design, applying these principles to the design and evaluation of interactive prototypes through practical and collaborative activities.

Programma

Technological progress is changing the concept of the computer and the ways we interact with it. Technologies such as artificial agents, wearables, augmented reality, the Internet of Things, physical informatics extend the possibilities for interaction, replacing traditional WIMP-like interfaces in many domains. In parallel, their applications are expanding into new areas of our lives, such as human well-being, food consumption related practices, leasure or environmental issues.
The aim of this course is to present new trends in designing interactive systems. Special attention will be given to the practical aspects of designing process. The course proposes an innovative vision that applies well-established UX methods to design systems that are not limited to traditional smartphone and desktop. Students’ active participation in classroom will be a key factor in this unique and experimental learning path.

Modalità d'esame

The assessment will be structured in several stages inclusing activities carried out during the course and the delivery of the final project. Projects will involve completing various stages of the design process, from defining target user group and their needs to prototypes creation. Initial project stages will be prepared and evaluated during hands-on activities in class, after which students will deliver the final version, that is a high-fidelity protype of their system.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]), as per the guidelines available at the link:
https://unige.it/disabilita-

The evaluation of the project will be based on the students’ ability to apply the concepts discussed during the lectures to the design of a new system that is coherent with the application topics addressed in the course. The assessment will focus on their ability to put the acquired knowledge into practice.

Testi di riferimento

Cooper, A. (2007). About Face: The Essentials of Interaction Design. Wiley.
Rogers, Y., Sharp, H., & Preece, J. (2023). Interaction Design: Beyond Human‑Computer Interaction (6th ed.). Wiley.

Codice insegnamento 121518

DIGITAL FORENSICS IINF-05/A · 0 file

The purpose of the teaching unit is to introduce how to conduct digital investigations, following the standard process involving identification, acquisition, storage, and analysis of digital evidence.

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce how to conduct digital investigations, following the standard process involving identification, acquisition, storage, and analysis of digital evidence.

Programma

Students who hold valid certificates relating to Specific Learning Difficulties (SLD), disabilities or other educational needs are invited to contact the lecturer and the school’s disability liaison officer at the start of the course to agree on any teaching arrangements which, whilst respecting the course objectives, take into account individual learning styles.
The contact details for the university’s disability liaison officer are available at the following link: https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.

Codice insegnamento 101812

DISTRIBUTED SYSTEMS ING-INF/05 · 0 file

The course aims to provide an understanding of the principles on which the Internet and other distributed systems are based, their architecture, algorithms and design, and how they meet the demands of contemporary…

Scheda dell'insegnamento

Obiettivi formativi

The course aims to provide an understanding of the principles on which the Internet and other distributed systems are based, their architecture, algorithms and design, and how they meet the demands of contemporary distributed applications, including the following topics: Distributed systems characterization; Coordination of distributed systems; Physical and logical clock synchronization; Distributed mutual exclusion; Election algorithms and protocols; Consistency of distributed systems; Data centric systems; Client centric systems; Consistency protocols; Resilience of distributed systems; Distributed process pooling and resilience; Reliable distributed communication services; Distributed operation commit; Recovery of faulty systems; Case studies: Hyperledger permissioned blockchains, Google distributed storage and computation, In memory Distributed Data Store, Office online collaboration platforms.

Programma

The course provides the student with the technical and methodological tools to understand and describe the characteristics, functions and interactions of a Distributed System.

Modalità d'esame

Oral discussion.
Please send an email to ask for an appointment.

Oral discussion on the course topics.

Testi di riferimento

Material provided during the course and made available through Aulaweb:
https://2024.aulaweb.unige.it/course/view.php?id=2625

Codice insegnamento 86799

EMBEDDED SYSTEMS IINF-04/A · 0 file

The purpose of the teaching unit is to introduce the fundamentals of embedded systems, including a brief review of the most relevant architectures and a focus on microcontroller programming for control applications, with…

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce the fundamentals of embedded systems, including a brief review of the most relevant architectures and a focus on microcontroller programming for control applications, with particular attention to peripheral configuration and real-time and event-based programming techniques.

Programma

An embedded system is a computer-equipped electronic circuit designed to perform a specific, embedded function on a platform that manages control with different design constraints such as cost of production, size, and energy consumption. The course will provide the skills needed to design these systems, demonstrating how the same technologies can be used for the realization of modern electronic devices.

Modalità d'esame

Development of a project assigned at the end of the course. Discussion of the project and of the content covered during the lessons.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa

At the end of the course, the student must be able to design and write the firmware of an embedded system in compliance with the technical specifications. The evaluation will be 15% on the continuous assessment during the lessons and 85% on the final project.
The following items will be part of the evaluation:
whether the firmware respects the given technical specifications
the student's ability to discuss the proposed software solution
the knowledge of the different peripherals
the possible problems that might be encountered in extending the project to implementation on a real system

Testi di riferimento

Slides will be available through aulaweb. In general, notes taken during the module and the slides available on aulaweb will be sufficient to prepare the exam.
The following books can be used for further reading on embedded systems:
Q. Li, C. Yao, Real-Time Concepts for Embedded Systems, CMP Books, 2003. (ISBN:1578201241).
D. E. Simon, An Embedded Software Primer, Addison-Wesley Professional, 1999. (ISBN: 020161569X).
T Noergaard. 2013. A Comprehensive Guide for Engineers and Programmers, Embedded Systems Architecture (2 ed.). Newnes, Newton, MA, USA.
Peter Hintenaus. 2014. Engineering Embedded Systems: Physics, Programs, Circuits. Springer Publishing Company, Incorporated.

Codice insegnamento 80190

ENGLISH LANGUAGE FOR COMPUTER ENGINEERING 0 file

The objectives of this teaching unit are to impart a mastery of technical terminology, foster an understanding of technical documentation, cultivate oral and written communication skills in professional contexts.…

Scheda dell'insegnamento

Obiettivi formativi

The objectives of this teaching unit are to impart a mastery of technical terminology, foster an understanding of technical documentation, cultivate oral and written communication skills in professional contexts. Students will be encouraged to enhance intercultural skills to facilitate collaboration in global teams. In summary, the aim is to equip students with the linguistic and technical proficiency needed for success in the computer engineering industry, facilitating communication and collaboration in complex international settings.

Programma

This course is designed to enhance students’ proficiency in English within the context of computer engineering. It aims to strengthen students’ language skills in all four key areas—writing, speaking, listening, and reading—with a strong emphasis on interaction and practical communication. Using a communicative approach, the course incorporates authentic materials to enhance students’ ability to engage in professional and academic settings. Through interactive activities, students will refine their ability to express concepts clearly, collaborate effectively, and produce high-quality written and spoken communication suitable for their field.

Modalità d'esame

Written exam.

Testi di riferimento

All course materials will be made available on Aulaweb.

Codice insegnamento 114708

HIGH PERFORMANCE COMPUTING INF/01 · 0 file

The teaching unit is intended to introduce learning the main aspects of modern, heterogeneous high-performance computing systems (pipeline/superscalar processors,shared-memory/message-passing multiprocessor systems,…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit is intended to introduce learning the main aspects of modern, heterogeneous high-performance computing systems (pipeline/superscalar processors,shared-memory/message-passing multiprocessor systems, vector processors, GPUs) and basic programming skills for high-performance computing (cache optimization, vectorization, use of OpenMP, MPI, CUDA)

Programma

Parallel programming was once a niche field reserved only for government labs, research universities, and certain forward-looking industries, but today it is a requirement for most applications.
Up to 2006, CPU designers in fact have achieved performance gains improving clock speed, execution optimization and cache size. But now the performance improvement in new chips is fueled by hyperthreading, multicore and cache size. Hyperthreading and multicore CPUs have nearly no positive impact on most current software because it has been designed in a sequential fashion.
Therefore, the performance lunch isn’t free any more. Now is the time to analyse applications to identyfy the CPU-sensitive operations that could benefit from parallel computing.
The aim of this course is to provide an introduction on the architecture of parallel processing systems along with programming paradigms (openMP, MPI and CUDA) essential for exploitng them.

Modalità d'esame

The exam consists of a written test on the key theoretical topics presented in the course, plus the discussion of a project made individually or in a small group (2-3 students).
For 6 credits, the project will consist of the parallelization of a sequential algorithm using openMP and CUDA.
For 9 credits, the project will consist of the parallelization of a sequential algorithm using openMP, MPI+openMP and CUDA.
Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/10852/studenti-disabilita-dsa

The written exam will focus on the effective acquisition of theoretical concepts presented in the first part of the course. It will be composed of a quiz with open and closed questions. It represents 40% of the final mark.
The project will be evaluated not only on the basis of the achievable performance of the parallel code, but also on how the code analysis, the adopted parallelization strategies, and the achieved performance have been presented and discussed.
This means, for example, that the parallel concepts are properly used, results are presented in a suitable and meaningful way, and overheads and issues have been correctly identified and discussed. It represents 60% of the final mark.

Testi di riferimento

Slides, tutorials, and code samples provided during the course.

Codice insegnamento 90535

HUMAN COMPUTER INTERACTION IINF-05/A · 0 file

The teaching unit provides the student with the methodology, the theory, and the techniques for the design of interactive products to support the way people communicate and interact in their everyday and working lives.…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit provides the student with the methodology, the theory, and the techniques for the design of interactive products to support the way people communicate and interact in their everyday and working lives. This relies on the mastery of the development process for the understanding of the capabilities and desires of people and on the kinds of technology available to interaction designers, together with a knowledge of how to identify requirements and develop them into a suitable design. The teaching unit will cover standard techniques as well as an introduction to advanced topics, including sound and music computing (as a complementary component of visual and haptic interfaces), and emotional and social interfaces. A coursework devoted to the realization of the development process of a concrete interaction design project of an interactive product will be implemented during the whole semester, in a simulated working environment typical of Startups. Further, students will learn to design and manage motion capture sessions using the Qualisys industry standard motion capture system available at Casa Paganini-InfoMus. Finally, students will learn techniques to present their results, including elevator pitches and reporting to stakeholders.

Programma

The course provides the basic theories and techniques of Human Computer Interaction, aiming at the acquisition of the fundamental methodologies and technical skills necessary to the mastery of the interaction design development process for interactive systems, from desktop and mobiles to augmented, mixed, and virtual reality. To this aim, students will be involved along the semester in exercises and examples from concrete projects, including sessions at the InfoMus-Casa Paganini research centre of UniGe.

Modalità d'esame

Oral exam, consisting of discussion on problems and exercises on multimodal UI design, usability, UX design.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa

The oral exam will enable to verify the students critical reasoning skills, their use and mastery of the vocabulary and specialist ID theories and techniques.

Testi di riferimento

Course slides, links, and suggested readings available online on the Shared Resources of the Teams Class of the course.
Preece, Rogers, Sharp (2023) “Interaction Design – Beyond Human-Computer Interaction”, Wiley, 6th Ed.

Codice insegnamento 80158

INDUSTRIAL AUTOMATION IINF-04/A · 0 file

The teaching unit aims at providing the modeling and methodological tools for the formalization and resolution of some important decision-making and management problems in the context of industrial systems. During the…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit aims at providing the modeling and methodological tools for the formalization and resolution of some important decision-making and management problems in the context of industrial systems. During the course, planning, scheduling and control problems will be formalized and solved according to the framework proposed by the ANSI/ISA-95 international standard. Special focus will be devoted to the primary and support functions given by the Manufacturing Execution System (MES). At the end of the lessons, the student will be able to position an industrial automation problem in the context of ANSI/ISA-95 and to formalize and to solve decision-making problems, using proper methods and tools.

Programma

This course provides essential modeling and methodological tools for addressing decision-making and management challenges in industrial systems. Focusing on the ANSI/ISA-95 international standard, students will learn to formalize and solve planning, scheduling, and control problems. Emphasis will be placed on the functions of Manufacturing Execution Systems (MES). By the end of the course, students will be proficient in positioning industrial automation issues within the ANSI/ISA-95 framework and resolving decision-making problems using appropriate methods and tools.

Modalità d'esame

Project discussion and interview on the content of the course

At the end of the course, the student must be able to simulate and control a simple system, design and implement the scheduling of jobs on machines, and to find optimal or sub-optimal strategies to manage the source, make, plan, and delivery process of an enterprise.

Testi di riferimento

S. French, Sequencing and Scheduling: An Introduction to the Mathematics of the Job-shop, 1982
M. McClellan, Applying manufacturing execution systems, 1997

Codice insegnamento 111095

ITALIAN AS A FOREIGN LANGUAGE_COMPUTER ENGINEERING 3 CFU · 0 file

L'insegnamento consente allo studente di acquisire una sufficiente comprensione orale e scritta della lingua locale, nonché un’introduzione alla cultura del paese.

Scheda dell'insegnamento

Obiettivi formativi

L'insegnamento consente allo studente di acquisire una sufficiente comprensione orale e scritta della lingua locale, nonché un’introduzione alla cultura del paese.

Programma

Il corso, della durata di 24 ore lettive, si propone di sviluppare la competenza comunicativa in lingua italiana privilegiando in particolare le abilità linguistiche ricettive (comprensione scritta e orale) e la competenza metalinguistica.

Modalità d'esame

Esame scritto e orale

Esame scritto e orale

Testi di riferimento

Durante il corso si userà questo manuale:
Fumagalli, L., Rota, D. & Bozzone Costa, R., C. Ghezzi & M. Piantoni (2024), Italiano da zero, Loescher Editore
Si farà riferimento a questo libro di grammatica:
Morano, L. (2024), Alfa Beta Gramma, Nina edizioni

Codice insegnamento 114707

MACHINE LEARNING AND DEEP LEARNING IINF-05/A · 0 file

The teaching unit is designed to equip students with advanced knowledge and skills in the fields of machine learning and data analysis. Building upon foundational concepts, students delve into cutting-edge techniques and…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit is designed to equip students with advanced knowledge and skills in the fields of machine learning and data analysis. Building upon foundational concepts, students delve into cutting-edge techniques and methodologies essential for tackling real-world problems in diverse domains. The teaching unit addresses a comprehensive review of fundamental machine learning algorithms, including supervised and unsupervised learning, and deep learning architectures. Through hands-on exercises and projects, students gain proficiency in implementing these algorithms using popular libraries.

Programma

In the information age any system or device generates some form of data for diagnostic purposes or analysis. he course details the techniques for analyzing data in order to extract useful information and knowledge for decision making.

Modalità d'esame

Oral by appointment.

The student will solve a real problem at will by applying the techniques learned during the course.

Testi di riferimento

T. Hastie, R.Tibshirani, J.Friedman "The Elements of Statistical Learning: Data Mining, Inference, and Prediction" 2009. S. Shalev-Shwartz, S. Ben-David "Understanding machine learning: From theory to algorithms" 2014 C. M. Bishop, H. Bishop. Deep learning: Foundations and concepts. Springer Nature, 2023. L. Oneto "Model Selection and Error Estimation in a Nutshell" 2020

Codice insegnamento 86798

MASTER THESIS 0 file

The final examination represents a key educational milestone, designed to assess the student’s comprehensive development of technical-scientific knowledge and professional skills acquired throughout the degree program.…

Scheda dell'insegnamento

Obiettivi formativi

The final examination represents a key educational milestone, designed to assess the student’s comprehensive development of technical-scientific knowledge and professional skills acquired throughout the degree program. It consists of the discussion of a written thesis, independently developed by the student under the supervision of one or more faculty members, on a topic related to the subjects taught in the program. Through the thesis, the student is expected to demonstrate the ability to address and solve complex problems by critically and effectively applying the knowledge gained, thereby strengthening analytical, methodological, and communication skills.

Programma

Students who hold valid certificates relating to Specific Learning Difficulties (SLD), disabilities or other educational needs are invited to contact the lecturer and the school’s disability liaison officer at the start of the course to agree on any teaching arrangements which, whilst respecting the course objectives, take into account individual learning styles.
The contact details for the university’s disability liaison officer are available at the following link: https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.

Codice insegnamento 80394

MOBILE SECURITY ING-INF/05 · 0 file

The teaching unit aims to introduce the main security mechanisms of mobile operating systems and applications and present the core techniques, methodologies and tools for the vulnerability assessment and penetration…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit aims to introduce the main security mechanisms of mobile operating systems and applications and present the core techniques, methodologies and tools for the vulnerability assessment and penetration testing of Android and iOS applications. The teaching unit involves both lectures and practical sessions for students.

Programma

The course aims to introduce the main security mechanisms of mobile operating systems and applications and present the core techniques, methodologies and tools for the vulnerability assessment and penetration testing of Android and iOS applications. The course involves both lectures and practical sessions for students.

Modalità d'esame

Project: execution of a vulnerability assessment and penetration testing activity of a set of applications for Android and iOS to be agreed together with the teacher. At the end of the activity, the student must present a report with a discussion of the activities carried out and the details of the identified vulnerabilities. It is also possible to propose a custom project on topics related to mobile security, to be agreed upon in advance with the instructor.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa

Pitch of the iresults of the project and oral discussion. The final evaluation will take into account:
class attendance;
the knowledge of the course contents tested with the project;
the problem-solving skills tested with the project;
the communication skills tested during the oral presentation.

Testi di riferimento

The teacher provides slides and exercises (in English) during the course.

Codice insegnamento 111104

MULTIMODAL SYSTEMS ING-INF/05 · 0 file

This course provides students with foundational conceptual knowledge, methodologies, and tools for designing, implementing, and evaluating computer systems that can capture, represent, and automatically analyze the…

Scheda dell'insegnamento

Obiettivi formativi

This course provides students with foundational conceptual knowledge, methodologies, and tools for designing, implementing, and evaluating computer systems that can capture, represent, and automatically analyze the behavior of their users (e.g., in terms of gesture, movement, facial expressions, speech) and interact with them by generating multisensory feedback (e.g., images, sounds, control of actuators) in real-time.

Programma

This course provides students with foundational conceptual knowledge, methodologies, and tools for designing, implementing, and evaluating computer systems that can capture, represent, and automatically analyze the behavior of their users and interact with them by generating multisensory feedback in real-time.

Modalità d'esame

The exam consists of a project and an oral discussion. The project is assigned by the teacher and concerns the design of a multimodal interactive system for a specific application. It may include the development of software modules for audio and video processing aiming at contributing to the analysis of the behavior of the users, a deeper analysis of specific topics presented during the lectures by means of a targeted bibliographical search, the analysis of existing solutions, including testing and assessment of algorithms and their performances. Alternatively, the project may concern the analysis and presentation of a scientifc paper assigned by the teacher. The oral discussion consists of the presentation of the results of the project and also includes questions on topics addressed during the lectures.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa.

The project aims at assessing the extent to which the student is able to analyze a case study (or a scientific paper), to evaluate the opportunity of developing a multimodal interactive system in such a context, to design a multimodal interactive system, and to apply the technologies presented during the lectures. The oral discussion aims at assessing the extent to which the student knows and understands the foundational theoretical aspects of multimodal systems (motivations, logical architectures, and guidelines for design and development) as well as the student’s understanding of the major data acquisition devices and of the techniques for representation and automated analysis of the behavior of the users. The teacher will assess the quality of the project and of the presentation of the results, the capability of critical reasoning on the developed project, the correct use of specialized lexicon, the deepness of the student’s knowledge and understanding of the topics addressed in the course, and the capability of presenting such a content properly.

Testi di riferimento

Learning material includes pdf copies of the slides presented during the lectures, examples and exercises for the practical lectures, and a collection of scientific papers the teacher provides the students with. Learning material is made available on AulaWeb.
Students that cannot attend lectures as well as students with disabilities or learning disorders can contact the teacher to get further indication about the learning material.

Codice insegnamento 80164

NETWORK ANALYSIS INFO-01/A · 0 file

The aim of the teaching unit is to provide the foundational knowledge of algorithms and techniques for large scale network analysis, including centrality metrics, algorithms for community detection, graph properties…

Scheda dell'insegnamento

Obiettivi formativi

The aim of the teaching unit is to provide the foundational knowledge of algorithms and techniques for large scale network analysis, including centrality metrics, algorithms for community detection, graph properties for random, small-world, and scale free graphs, metrics for robustness and resiliency, epidemic spreading and social contagion.

Programma

Networks are everywhere and they can be represented as graphs. This course will unravel the hidden patterns and dynamics of networks in various domains such as social networks, internet and the web, biological systems, and more. Students will learn the theoretical foundations of network analysis and experience hands-on activities to put into practice what introduced during classes.

Modalità d'esame

The exam consists of the following parts: (i) a written test and (ii) an oral presentation during which students will discuss their assignments.
Guidelines for students with certified Specific Learning Disorders, disabilities, or other special educational needs are available at https://corsi.unige.it/en/corsi/11964/studenti-disabilita-dsa

The written test, which serves as the admission to the assignments discussion, consists of questions related to the topics covered in class and it allows the evaluation of the student's theoretical knowledge acquired during the course. For the oral part, students will be evaluated based on the quality of the produced code and the completeness of the reports. The written test and the assignments discussion take place in the same session.

Testi di riferimento

F. Menczer, S. Fortunato, C. A. Davis: A First Course in Network Science, Cambridge University Press, 2020
D. Easley and J. Kleinberg: Networks, Crowds, and Markets: Reasoning About a Highly Connected World (http://www.cs.cornell.edu/home/kleinber/networks-book/)
A. Barabasi: Network Science (http://barabasilab.neu.edu/networksciencebook/)
Scientific papers will be suggested during the course

Codice insegnamento 90530

OPERATIONS RESEARCH MATH-06/A · 0 file

This teaching unit provides the basic notions of optimization methods for solving decision-making problems. In particular, it provides the knowledge to mathematically model a decision problem and solve it through…

Scheda dell'insegnamento

Obiettivi formativi

This teaching unit provides the basic notions of optimization methods for solving decision-making problems. In particular, it provides the knowledge to mathematically model a decision problem and solve it through linear programming, integer linear programming, nonlinear programming, and graph optimization techniques.

Programma

The Course introduces to optimization models and methods for the solution of decision problems. It is structured according to the basic topics of problem modelling, its tractability, and its solution by means of algorithms that can be implemented on computers. Case studies from Engineering, with particular attention to Information Technology, are presented and investigated.
The lectures are organized in i) methodology and ii) case-studies from real-world applications. Additional exercises and use of software tools are presented during exercise hours.

Modalità d'esame

Written.

Comprehension of the concepts explained during the Course.
Capability to:

  • interpret and shape a decision-making process in terms of an optimization problem, identifying the decision-making variables, the cost function to minimize (or the figure of merit to maximize), and the constraints;
  • frame the problem in the range of problems considered "canonical" (linear / nonlinear, discrete / continuous, deterministic / stochastic, static / dynamic, etc.);
  • choose and/or develop a solving algorithm and apply it to solve the problem.

Testi di riferimento

Lecture notes provided by the teacher and available in electronic format.

Codice insegnamento 111097

OPTIMAL CONTROL IINF-04/A · 0 file

The purpose of the module is to introduce the development of control techniques based on the minimization of cost functionals such as LQR, LQT, and LQG, also relying on identification and estimation theory.

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the module is to introduce the development of control techniques based on the minimization of cost functionals such as LQR, LQT, and LQG, also relying on identification and estimation theory.

Programma

-Introduction to cotimal control
-the principle of optimality
-linear quadratic optimal control: regulation and tracking
-presence of disturbances: LQG contol
-receding horizon control
-optimal control for nonlinear systems
-uncertain systems, state augmentation, connections with identification
-introduction to “maximum information gain” control
-introduction to machine learning methods for optimal control

Modalità d'esame

Oral exam with discussion of optimal controlmethods and possible applications.
Students with learning disorders ("disturbi specifici di apprendimento", DSA) will be allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities.

The students will be evaluated on the basis of their capability to describe optimal control algorithms, to choose suitable methods depending on the application context and to discuss the computational complexity of the methods and their implementation.

Testi di riferimento

A. Bryson and Y-C Ho. Applied Optimal Control: Optimization, Estimation, and Control. Abingdon, UK: Taylor & Francis.
Y. Bar-Shalom, X. R. Li, T. Kirubarajan, “Estimation with Applications to Tracking and Navigation”, John Wiley & Sons Further readings will be given by lecturer.

Codice insegnamento 111107

PRODUCTION SYSTEMS ING-INF/04 · 0 file

Under the title 'Production Systems' one can place very many different problems. This course is related with the decomposition of a planning and control problem of a production systems in different subproblems. For any…

Scheda dell'insegnamento

Obiettivi formativi

Under the title 'Production Systems' one can place very many different problems. This course is related with the decomposition of a planning and control problem of a production systems in different subproblems. For any of the subproblems after a analysis process, a set of solving technques will be considered. Such solving techniques have to be integrated in possible solution of the 'main' production problem.

Programma

The Production Systems course provides the tools to manage efficient production systems including concepts of sustainability and energy efficiency. This course aims at analysing and providing methodological and practical tools for process optimisation and sustainable use of resources. Theory and case studies are integrated to improve the performance of industrial production systems.

Modalità d'esame

Oral examination. Students with learning disorders ("disturbi specifici di apprendimento", DSA) will be allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities.

At the end of the course students must be able to analyze, decompose and eventually solve (at least indicating the necessary techniques) production planning issues

Testi di riferimento

Notes on the course provided by the teacher
S. Nahmias, "Production and Operation Analysis," McGraw Hill
Pinedo, M. (2005). Planning and scheduling in manufacturing and services. Springer (New York).
Bänsch, K., Busse, J., Meisel, F., Rieck, J., Scholz, S., Volling, T., & Wichmann, M. G. (2021). Energy-aware decision support models in production environments: A systematic literature review. Computers & Industrial Engineering, 159, 107456.

Codice insegnamento 80167

PROJECT WORK 0 file

This teaching unit aims to provide students with real-world experience: throughout the course, students engage in collaborative projects that require applying theoretical knowledge to solve practical problems. The…

Scheda dell'insegnamento

Obiettivi formativi

This teaching unit aims to provide students with real-world experience: throughout the course, students engage in collaborative projects that require applying theoretical knowledge to solve practical problems. The teaching unit emphasizes teamwork, project management, and communication skills as students work under the guidance of a faculty advisor to plan, execute, and present a substantial project.

Programma

Students who hold valid certificates relating to Specific Learning Difficulties (SLD), disabilities or other educational needs are invited to contact the lecturer and the school’s disability liaison officer at the start of the course to agree on any teaching arrangements which, whilst respecting the course objectives, take into account individual learning styles.
The contact details for the university’s disability liaison officer are available at the following link: https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.

Codice insegnamento 114561

REAL-TIME OPERATING SYSTEMS IINF-05/A · 0 file

The purpose of the teaching unit is to introduce issues concerning real-time applications and real-time operating systems, as well as real-time design and programming and embedded systems.

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce issues concerning real-time applications and real-time operating systems, as well as real-time design and programming and embedded systems.

Programma

A real-time system is characterized by having a predictable behaviour concerning execution times. Its main characteristic is not speed, but rather guaranteeing that timing constraints are met: in particular, guaranteeing a maximum time within which computing processes will terminate. The class is aimed at presenting basic principles, methodologies, and the main tools to understand real-time operating system and the design of real-time software.

Modalità d'esame

The exam is written and requires the student to solve problems related to the design of a real-time system using the theoretical and practical tools seen during the year.

The exam requires that the student is able to design, using theoretical bases and practical tools presented during lectures and during exercises, a real-time application with given characteristics.

Testi di riferimento

Slides will be made available on aulaweb. For a deeper investigation of the topics presented in the class, please refer to the following books or websites.
Buttazzo, Giorgio C. Hard Real-time Computing Systems, Kluwer Academic publishers, 1997
Alessandro Rubini and Jonathan Corbet, Linux Device Drivers, Third Edition, O'Reilly and Associates, June, 2001 (available online at http://oreilly.com/openbook/linuxdrive3/book/)
Tom Wagner and Don Towsley, Getting Started With POSIX Threads (available online)
https://www.rtai.org/

Codice insegnamento 80169

SOFTWARE ENGINEERING IINF-05/A · 0 file

Software Engineering is a discipline that rules every aspect of the software development process. In other word is the application of Engineering to the Software. It is concerned with requirement specification, design,…

Scheda dell'insegnamento

Obiettivi formativi

Software Engineering is a discipline that rules every aspect of the software development process. In other word is the application of Engineering to the Software. It is concerned with requirement specification, design, models, writing documentation and also writing unit tests, not just coding. Moreover it also provide metrics to quantify the quality of the product, i.e. the software developed. Software Development Templates, Requirement Analysis, UML Modeling Systems, Design Patterns, Verification and Validation, Time Template Specification Languages, Temporary Property Verification Algorithms, Modeling and Case Resolution using Model Checkers "

Programma

Software engineering is the branch of computer science that creates practical, cost-effective solutions to computing and information processing problems. This course will study a collection of methods that embody an "engineering" approach to the development of computer software. We will study methods for analysis, design, testing, and implementation of large, complex software systems. The major work of the course is a group project.

Modalità d'esame

Student assesment will be given by evaluating a group project, that follows the rules detailed below:
A pull of external companies and University labs propose a set of group projects
During the first two weeks of the course, projects are presented by external companies.
After that, each student can choose up to five proposals that he is willing to do as a group project.
Each student can choose also one or more colleagues to form a group.
After that, the instructor will create teams (two people per group) and will assign a project to each team, matching, as much as possible, the group preferences.
We are expected that each project is carried out by the groups in a team.
Group projects are expected to be developed in parallel to the course. Each project will terminate when all the requirements will be satisfied. More information will be given by the instructor during the lessons.
A tutor (either from the company or University) is assigned to each project

The grade of the exam will be given by evaluating the project in the following compositions:
50%: of the vote will be assigned by evaluating how well the software satisfies the user's requirements. It is usually assessed by the company/university mentor
50% of the vote will be assigned evaluating the quality of the software produced, from the point of view of software engineering practices. Usually this will be assessed by the Course Instructor.​
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa

Testi di riferimento

Possible reading books to go into mode details:
R. Martin, Agile Software Development, Principles, Patterns, and Practices, Prentice Hall, 2002 (ISBN: 0-135-97444-5).
C. Atkinson et al, Component-Based Product Line Engineering with UML, Addison-Wesley, 2001, (ISBN 0-201-73791-4).
A. Cockburn, Writing Effective Use Cases, Addison Wesley, 2000 (ISBN: 0-201-70225-8).
M. Fowler and K. Scott, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 2nd Edition, Addison Wesley, 2002 (ISBN: 0-201-65783-X).
I. Jacobson, G. Booch, and J. Rumbaugh, Unified Software Development Process, Addison Wesley, 1999, (ISBN: 0-201-57169-2).
Software Engineering, Ian Sommerville, Pearson Editor

Codice insegnamento 111102

SOFTWARE ENGINEERING LAB IINF-05/A · 0 file

The purpose of the teaching unit is to introduce Software Engineering as a discipline that governs every aspect of the software development process, understood as the application of engineering principles to software,…

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce Software Engineering as a discipline that governs every aspect of the software development process, understood as the application of engineering principles to software, including requirement specification, design, modeling, documentation, and unit testing, not limited to coding, and to provide an understanding of metrics used to quantify software quality, covering topics such as software development templates, requirement analysis, UML modeling systems, design patterns, verification and validation, temporal specification languages, temporal property verification algorithms, and modeling and case resolution using model checkers.

Programma

Software engineering is the branch of computer science that creates practical, cost-effective solutions to computing and information processing problems. This course will study a collection of methods that embody an "engineering" approach to the development of computer software. We will study methods for analysis, design, testing, and implementation of large, complex software systems. The major work of the course is a group project.

Modalità d'esame

To Each student is assigned a project that will be the same as the Software Engineering course that they will have to carry out in group.

The grade of the exam will be given by evaluating the project in the following compositions:
50%: of the vote will be assigned by evaluating how well the software satisfies the user's requirements. It is usually assessed by the company/university mentor
50% of the vote will be assigned evaluating the quality of the software produced, from the point of view of software engineering practices. Usually this will be assessed by the Course Instructor. ​

Testi di riferimento

Possible reading books to go into mode details:
R. Martin, Agile Software Development, Principles, Patterns, and Practices, Prentice Hall, 2002 (ISBN: 0-135-97444-5).
C. Atkinson et al, Component-Based Product Line Engineering with UML, Addison-Wesley, 2001, (ISBN 0-201-73791-4).
A. Cockburn, Writing Effective Use Cases, Addison Wesley, 2000 (ISBN: 0-201-70225-8).
M. Fowler and K. Scott, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 2nd Edition, Addison Wesley, 2002 (ISBN: 0-201-65783-X).
I. Jacobson, G. Booch, and J. Rumbaugh, Unified Software Development Process, Addison Wesley, 1999, (ISBN: 0-201-57169-2).
Software Engineering, Ian Sommerville, Pearson Editor

Codice insegnamento 111100

SOFTWARE PLATFORMS IINF-05/A · 0 file

Software Platforms is a fundamental module in the software development path. The development of complex software systems does not only require proficency in programming but also the knowledge of advanced models,…

Scheda dell'insegnamento

Obiettivi formativi

Software Platforms is a fundamental module in the software development path. The development of complex software systems does not only require proficency in programming but also the knowledge of advanced models, paradigms and tools. Software Platforms describes the models, the paradigms and the tools which support Web Applications, Web Services and Microservices, and introduces the evolution toward serverless computing.

Programma

The course provides the student with the technical and methodological tools to understand and describe the characteristics, functions and interactions of a Distributed Software Platforms.

Modalità d'esame

Oral discussion on the course program.
Please send an email to ask for an apointment.

Oral discussion on the course topics. Home work to be developed at the end of the lab activity.

Testi di riferimento

Documentation provided during the course and made available through Aulaweb:
https://aulaweb.unige.it

Codice insegnamento 98460

SUSTAINABLE LOGISTIC SYSTEMS PLANNING ING-INF/04 · 0 file

The course aims to provide methodologies and tools for planning logistic systems (intermodal networks, container terminals, logistic centers), with focus on sustainability issues. Referring to the planning and…

Scheda dell'insegnamento

Obiettivi formativi

The course aims to provide methodologies and tools for planning logistic systems (intermodal networks, container terminals, logistic centers), with focus on sustainability issues. Referring to the planning and organization of sustainable logistic systems, the student will learn how to: identify the decision problem type, define the most appropriate mathematical model, define the most adequate solution methodology, choose a software solution for the problem, discuss the problem relevance/effects.

Programma

The course illustrates the main decisional methods for planning logistics systems, with specific attention to sustainability issues.

Modalità d'esame

The exam consists in an oral test. During the test, the student has to discuss a project assigned by the professor. In the presentation the student must describe the modelling and implementing activity of an optimization model for a logistic problem, by discussing all the results in detail. Moreover, the student must answer some open-ended questions regarding the topics addressed in the course.
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the exam, as per the guidelines available at the link: https://unige.it/disabilita-dsa.

The exam aims to verify the following aspects about the knowledge of the student: - knowledge regarding the main decision-making problems and the related mathematical formalization and solution approaches for the organization of sustainable logistic systems activities; - ability to formalize mathematical models for solving planning problems for logistics systems; - ability to implement mathematical models using suitable software; - ability to analyze results and evaluate alternative scenarios for planning and managing logistics systems.
The evaluation of the exam will consider not only the knowledge of the contents addressed in the course but also the reasoning and critical analysis skills of the student, as well as his/her capability to use a technical lexicon appropriate for the context.

Testi di riferimento

The students can find all the slides used during the lectures and other teaching material on Aulaweb. In general, the notes taken during the lectures and the material available on Aulaweb are sufficient for adequately preparing for the exam.
For an in-depth analysis of the subjects, students can consult the following texts: - Gianpaolo Ghiani, Gilbert Laporte, Roberto Musmanno, Introduction to Logistics Systems Planning and Control, John Wiley and Sons, New York, 2004 - J. W. Böse, Handbook of Terminal Planning, Operations Research/Computer Science Interfaces Series, Springer, 2011

Codice insegnamento 80268

SUSTAINABLE SYSTEMS MODELING IINF-04/A · 0 file

This teaching unit equips the students with the tools and methodologies necessary to analyze, design, and optimize sustainable systems. From energy systems and transportation networks to urban infrastructure and…

Scheda dell'insegnamento

Obiettivi formativi

This teaching unit equips the students with the tools and methodologies necessary to analyze, design, and optimize sustainable systems. From energy systems and transportation networks to urban infrastructure and ecological ecosystems, participants will gain a holistic understanding of complex systems dynamics and learn to identify leverage points for positive change.

Programma

The course describes the main features of complex dynamic systems and provides an overview of the methodological aspects for analyzing the main structural and behavioral properties of such processes.
The course also describes the main modeling classes for complex systems (discrete event systems, Markov chains, queuing and queuing networks theory) and the analysis methods relating to these classes with specific application examples for which sustainability concepts are detailed. Sustainability from a technical, environmental, economic, and social point of view is reported.
The course introduces some planning and control methods of interest for the developed examples to contextualize the course in the curriculum about Sustainable Systems Engineering.

Modalità d'esame

The exam consists of an oral assessment.

During the exam the student has to present the main arguments of the course, to solve numerical exercises and to explain the theoretical notions necessary for their solution

Testi di riferimento

All teaching materials will be available on Aulaweb. Generally, notes taken during lessons and the slides provided on Aulaweb, together with some scientific papers given by the teachers, constitute the necessary texts to acquire the proposed skills.

Codice insegnamento 114543

SYSTEM IDENTIFICATION IINF-04/A · 0 file

The goal of the module is to provide methodologies and tools for designing systems’ models to be used for control, estimation, diagnosis, prediction, etc. Different identification methods are considered, both in a “black…

Scheda dell'insegnamento

Obiettivi formativi

The goal of the module is to provide methodologies and tools for designing systems’ models to be used for control, estimation, diagnosis, prediction, etc. Different identification methods are considered, both in a “black box” context (where the structure of the system is unknown), as well as in a “grey box” (uncertainty on parameters) one. Methods are provided for choosing the complexity of the models, for determining the values of their parameters, and to validate them. Moreover, state estimation problems are addressed and their connections with control and identification are considered.

Programma

  • Different models for dynamic systems and their applications. - Parametric and non-parametric models - Identification techniques for linear models. - Nonlinear models. Examples and identification methods. - Validation procedures. - Introduction to state estimation. - State estimation in the presence of disturbances. - Kalman filter and its extension to the nonlinear case. - Techniques for parameter identification of linear systems in the presence of disturbances.

Modalità d'esame

Oral exam with discussion of system identification and state estimation methods and possible applications.
Students with learning disorders ("disturbi specifici di apprendimento", DSA) will be allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities.

The students will be evaluated on the basis of their capability to describe system identification and state estimation algorithms, to choose suitable models depending on the application context and to appropriately use a data set to optimize the complexity and the parameters of models.

Testi di riferimento

L. Ljung, “System Identification: Theory for the User”, Prentice Hall Y. Bar-Shalom, X. R. Li, T. Kirubarajan, “Estimation with Applications to Tracking and Navigation”, John Wiley & Sons Further readings will be given by lecturer.

Codice insegnamento 111106

SYSTEM IDENTIFICATION AND OPTIMAL CONTROL IINF-04/A · 0 file

This teaching unit is composed of three modules: System Identification, Optimal Control, and System Identification Lab. The overall aim is to equip students with both theoretical knowledge and practical skills for the…

Scheda dell'insegnamento

Obiettivi formativi

This teaching unit is composed of three modules: System Identification, Optimal Control, and System Identification Lab. The overall aim is to equip students with both theoretical knowledge and practical skills for the modeling, estimation, and control of dynamic systems. By the end of the teaching unit, students will be able to model, identify, and optimally control dynamic systems, combining theoretical insight with practical competence in estimation and control strategies.

Programma

Te course consists of two modules:

  • System Identification
  • Optimal control
    and of corresponding laboratory activities.

Codice insegnamento 114555

SYSTEM IDENTIFICATION LAB IINF-04/A · 0 file

The purpose of the module is to introduce the development of practical applications related to the course "System Identification".

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the module is to introduce the development of practical applications related to the course "System Identification".

Programma

PC-assisted demonstrations of certain theoretical concepts covered in the course "System Identification"

Modalità d'esame

PC-based modelling and simulation, for example using MATLAB.

Evaluation based on the ability of students to implement the given PC-based modelling and simulation problems

Testi di riferimento

1. L. Ljung, “System Identification: Theory for the User”, Prentice Hall
2. Y. Bar-Shalom, X. R. Li, T. Kirubarajan, “Estimation with Applications to Tracking and Navigation”, John Wiley &amp; Sons
Further readings will be given by lecturer.

Codice insegnamento 114556

SYSTEM OF SYSTEMS LAB ING-INF/04 · 0 file

The course allows the students to develop and verify in the lab the notions and methodologies acquired in the course "Systems of Systems"

Scheda dell'insegnamento

Obiettivi formativi

The course allows the students to develop and verify in the lab the notions and methodologies acquired in the course "Systems of Systems"

Programma

The course is divided into the following topics:
Systems Engineering introduction;
Model-based Systems Engineering introduction with focus on MBSE frameworks;
Modelling of architecture elements using SysMLv2 language;
Company and institution seminars.

Modalità d'esame

The main evaluation method will be the creation and explanation of a real model using SysML language and a globally-recognised modelling tool.
Together with it, each student will be requested to have an oral examination on the topics involved in the course.

Testi di riferimento

Specific guidelines on the reference bibliography will be provided by the professor at the beginning of the course.

Codice insegnamento 114559

SYSTEM OF SYSTEMS OPTIMIZATION AND CONTROL ING-INF/04 · 0 file

This course is composed of two modules: Advanced Control Systems and System of Systems Lab. The aim of the course is to provide students with an advanced understanding of control methodologies and the practical skills…

Scheda dell'insegnamento

Obiettivi formativi

This course is composed of two modules: Advanced Control Systems and System of Systems Lab. The aim of the course is to provide students with an advanced understanding of control methodologies and the practical skills needed to address optimization and control challenges in complex system-of-systems contexts. By the end of the course, students will be able to design, optimize, and control complex system-of-systems using advanced methodologies, bridging theory with hands-on practice and preparing them for real-world engineering challenges.

Programma

Students who hold valid certificates relating to Specific Learning Difficulties (SLD), disabilities or other educational needs are invited to contact the lecturer and the school’s disability liaison officer at the start of the course to agree on any teaching arrangements which, whilst respecting the course objectives, take into account individual learning styles.
The contact details for the university’s disability liaison officer are available at the following link: https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.

Codice insegnamento 114558

TECHNOLOGIES FOR WIRELESS NETWORKS IINF-03/A · 0 file

The teaching unit aims to provide the students with the understanding of all major network technologies that use wireless transmissions, considering application areas and architectures both from a functional and…

Scheda dell'insegnamento

Obiettivi formativi

The teaching unit aims to provide the students with the understanding of all major network technologies that use wireless transmissions, considering application areas and architectures both from a functional and performance point of view. More specifically, the main objective is to provide knowledge and insight into on the following topics: i) Introduction to architectures with the classification of wireless networks in mobile cellular systems, and technologies for wireless local area networks (WLAN) ii) The standard for IEEE802.11 (Wi-Fi) WLAN networks, focusing on the main features and functions to manage device connectivity,described in all its evolutions starting from version 11b up to version 11ax. iii) The cellular mobile radio networks -, with specific reference to the fourth (4G) and fifth generation (5G) and beyond, including architectures and protocols for the access and core network. Supporting technologies such as NFV, Cloud and Edge computing are also briefly introduced.

Programma

The class aims at deepening the knowledge of the main architectural aspects and protocols at the basis of the Wireless Networks. It is essentially organized into two parts, addressing an introduction to wireless communications, WiFi (IEEE 802.11) networks (up to the latest technological evolutions), and modern radio-mobile networks (from the fourth (LTE) to the 5th (5G) generation).

Modalità d'esame

Oral examination

The assessment will be based on the student's knowledge level and capacity to apply network network architectures and protocols, including WLANs, cellular networks (4G and 5G), and mobile management issues.

Testi di riferimento

Course Slides S. Tanembaum, Computer Networks, (5th Edition), 2010. W. Stallings, Wireless Communications and Networks (2nd Edition), Prentice Hall, 2004.

Codice insegnamento 80171

TRUSTWORTHY ARTIFICIAL INTELLIGENCE ING-INF/05 · 0 file

The aim of this teaching unit is to provide students with fundamental and advanced concepts on the security of machine learning and trustworthy artificial intelligence.

Scheda dell'insegnamento

Obiettivi formativi

The aim of this teaching unit is to provide students with fundamental and advanced concepts on the security of machine learning and trustworthy artificial intelligence.

Programma

Today machine-learning algorithms and AI-based systems are used for many real-world applications, including image recognition, spam filtering, malware detection, biometric recognition. In these applications, the learning algorithm may have to face intelligent and adaptive attackers who can carefully manipulate data to purposely subvert both the learning and the operational phases. Part 1 of the course aims to introduce the fundamentals of the security of machine learning and the related field of adversarial machine learning. Part 2 introduces the international regulations behind the so called “trustworthy AI. The course uses application examples including object recognition in images, biometric recognition, spam filtering, and malware detection.

Modalità d'esame

Intermediate in class assignments or home assignment+oral exam.

Intermediate in class assignments (closed-book solutions of numerical/coding exercises and open-ended/closed questions), or home assignment+oral exam. Grading policy = open/closed questions (15/30) + numerical/coding exercises (15/30)
Students with certification of Specific Learning Disabilities (SLD), disabilities, or other special educational needs must contact the instructor at the beginning of the course to agree on teaching and examination methods that, while respecting the course objectives, take into account individual learning styles and provide appropriate compensatory tools. It is reminded that the request for compensatory/dispensatory measures for exams must be sent to the course instructor, the School representative, and the “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” office ([email protected]) at least 10 working days before the test, as per the guidelines available at the link: https://unige.it/disabilita-dsa

Testi di riferimento

A. Joseph, B. Nelson, B. Rubinstein, D. Tygar, Adversarial machine learning, Cambridge University Press, 2018
B., Battista, F. Roli. Wild patterns: Ten years after the rise of adversarial machine learning. Pattern Recognition 84 (2018): 317-331.
Biggio, B., Corona, I., Maiorca, D., Nelson, B., Srndic, N., Laskov, P., Giacinto, G., Roli, F. Evasion attacks against machine learning at test time. ECML-PKDD, 2013.
Biggio, B., Fumera, G., Roli, F. Security evaluation of pattern classifiers under attack. IEEE Trans. Knowl. Data Eng., 26 (4):984–996, 2014.
All slides used during the lessons and other teaching materials will be available on Aulaweb. In general, the notes taken during the lessons and the material on Aulaweb are sufficient for preparing for the exam.

Codice insegnamento 108606

VIRTUALIZATION AND CLOUD COMPUTING ING-INF/05 · 0 file

The purpose of the teaching unit is to introduce Software Platforms as a fundamental module in the software development path, addressing how the development of complex software systems requires not only proficiency in…

Scheda dell'insegnamento

Obiettivi formativi

The purpose of the teaching unit is to introduce Software Platforms as a fundamental module in the software development path, addressing how the development of complex software systems requires not only proficiency in programming but also knowledge of advanced models, paradigms, and tools, and covering the models, paradigms, and tools that support Web Applications, Web Services, and Microservices, as well as the evolution toward serverless computing.

Programma

The course provides the foundations of the main virtualization technologies at the state of the art. In detail, the course focuses on several types of virtualization, like Storage-level, OS-level, Application-level, and Enterprise-level virtualization.
The course is mostly practical, with the aim to teach the student how to deal with current virtualization technologies to build actual virtualized architectures.

Modalità d'esame

Final project with discussion.

Critical discussion and demo of the project, in order to assess the level of understanding and knowledge of the student.

Testi di riferimento

The teacher will provide slides, scientific and technical papers throughout the course.

Codice insegnamento 86800

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.