Marco PULIMENO
Ricercatore Universitario
Dipartimento di Ingegneria dell'Innovazione
Centro Ecotekne Pal. O - S.P. 6, Lecce - Monteroni - LECCE (LE)
Ufficio, Piano terra
Assegnista di ricerca
Dipartimento di Ingegneria dell'Innovazione
Centro Ecotekne Pal. O - S.P. 6, Lecce - Monteroni - LECCE (LE)
Ufficio, Piano terra
Assegnista di ricerca
Didattica
A.A. 2023/2024
ALGORITMI PARALLELI
Corso di laurea INGEGNERIA INFORMATICA
Tipo corso di studio Laurea Magistrale
Lingua ITALIANO
Crediti 9.0
Docente titolare Massimo CAFARO
Ripartizione oraria Ore totali di attività frontale: 81.0
Ore erogate dal docente MARCO PULIMENO: 18.0
Anno accademico di erogazione 2023/2024
Per immatricolati nel 2022/2023
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
BASI DI DATI
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Tipo corso di studio Laurea
Lingua ITALIANO
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Anno accademico di erogazione 2023/2024
Per immatricolati nel 2022/2023
Anno di corso 2
Struttura DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Percorso PERCORSO COMUNE
Sede Lecce
A.A. 2022/2023
Degree course MATEMATICA
Course type Laurea Magistrale
Language INGLESE
Credits 6.0
Teaching hours Ore totali di attività frontale: 42.0
Year taught 2022/2023
For matriculated on 2022/2023
Course year 1
Structure DIPARTIMENTO DI MATEMATICA E FISICA "ENNIO DE GIORGI"
Subject matter MATEMATICA PER L'INTELLIGENZA ARTIFICIALE
Location Lecce
DATA MINING
Degree course MATEMATICA
Course type Laurea Magistrale
Language INGLESE
Credits 6.0
Teaching hours Ore totali di attività frontale: 42.0
Year taught 2022/2023
For matriculated on 2022/2023
Course year 1
Structure DIPARTIMENTO DI MATEMATICA E FISICA "ENNIO DE GIORGI"
Subject matter TEORICO-MODELLISTICO
Location Lecce
MOBILE APPLICATIONS DEVELOPMENT
Degree course DIGITAL HUMANITIES
Course type Laurea Magistrale
Language INGLESE
Credits 6.0
Teaching hours Ore totali di attività frontale: 42.0
Year taught 2022/2023
For matriculated on 2022/2023
Course year 1
Structure DIPARTIMENTO DI BENI CULTURALI
Subject matter COMUNE/GENERICO
PARALLEL ALGORITHMS
Degree course COMPUTER ENGINEERING
Course type Laurea Magistrale
Language INGLESE
Credits 9.0
Owner professor Massimo CAFARO
Teaching hours Ore totali di attività frontale: 81.0
Ore erogate dal docente MARCO PULIMENO: 27.0
Year taught 2022/2023
For matriculated on 2021/2022
Course year 2
Structure DIPARTIMENTO DI INGEGNERIA DELL'INNOVAZIONE
Subject matter PERCORSO COMUNE
Location Lecce
ALGORITMI PARALLELI
Corso di laurea INGEGNERIA INFORMATICA
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea Magistrale
Crediti 9.0
Docente titolare Massimo CAFARO
Ripartizione oraria Ore totali di attività frontale: 81.0
Ore erogate dal docente MARCO PULIMENO: 18.0
Per immatricolati nel 2022/2023
Anno accademico di erogazione 2023/2024
Anno di corso 2
Semestre Secondo Semestre (dal 04/03/2024 al 14/06/2024)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Capacità di programmazione e conoscenza pratica del linguaggio di programmazione C.
Parte pratica di programmazione MPI del corso di Algoritmi paralleli
In questa parte del corso si affronterà la programmazione di algoritmi paralleli di tipo message-passing utilizzando il linguaggio C e la libreria MPI.
Al termine di questa parte del corso di Algoritmi Paralleli, lo studente dovrebbe essere in grado di:
- Progettare, implementare e analizzare algoritmi paralleli basati sul message-passing in C utilizzando la libreria MPI;
- Descrivere e utilizzare algoritmi paralleli di base.
La parte pratica del corso di Algoritmi paralleli consiste in esercitazioni in aula durante le quali si applicheranno le conoscenze teoriche acquisite durante il corso per risolvere problemi algoritmici di interesse pratico e si implementeranno numerosi algoritmi paralleli in linguaggio C attraverso la libreria MPI.
Consultare la pagina principale del corso.
Parallel Programming in C with MPI and OpenMP (International Edition). Michael J. Quinn. McGraw-Hill
ALGORITMI PARALLELI (ING-INF/05)
BASI DI DATI
Corso di laurea INGEGNERIA DELL'INFORMAZIONE
Settore Scientifico Disciplinare ING-INF/05
Tipo corso di studio Laurea
Crediti 6.0
Ripartizione oraria Ore totali di attività frontale: 54.0
Per immatricolati nel 2022/2023
Anno accademico di erogazione 2023/2024
Anno di corso 2
Semestre Primo Semestre (dal 18/09/2023 al 22/12/2023)
Lingua ITALIANO
Percorso PERCORSO COMUNE (999)
Sede Lecce
Non sono richieste conoscenze preliminari.
Il corso introduce i concetti fondamentali necessari per progettare e utilizzare sistemi e applicazioni di basi di dati, illustrando gli aspetti più importanti di tali sistemi e delle tecnologie correlate. Si affronteranno le tecniche di modellazione dei dati tramite il modello Entità-Relazione e la progettazione di basi di dati nel modello di dati relazionale. Si approfondirà quindi il linguaggio SQL per la definizione, manipolazione e interrogazione dei dati in una base di dati relazionale.
Knowledge and understanding
Il corso permette agli studenti di maturare conoscenze su:
- i concetti fondamentali relativi ai sistemi di basi di dati e alla loro architettura;
- i principi della modellazione e progettazione concettuale di una base di dati;
- le basi del modello di dati relazionale;
- il linguaggio SQL per definire, manipolare e interrogare una base di dati relazionale;
- la dipendenza funzionale dei dati e la normalizzazione di una base di dati relazionale.
Applying knowledge and understanding
Dopo il corso lo studente dovrebbe essere in grado di:
- distinguere tra modello concettuale, logico e fisico di una base di dati;
- utilizzare i diagrammi Entità-Relazione per modellare una base di dati;
- progettare e utilizzare una base di dati relazionale;
- individuare le dipendenze funzionali dei dati e normalizzare una base di dati relazionale.
Making judgements
Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi di casi d'uso, esempi di modellazione e progettazione di basi di dati e il confronto critico tra le soluzioni proposte in aula.
Communication
Il corso agevola l'acquisizione da parte degli studenti di un lessico adatto a descrivere efficacemente concetti e problematiche relative al dominio della gestione dei dati.
Learning skills
Gli studenti devono acquisire la capacità critica di rapportarsi, con originalità e autonomia, alle problematiche tipiche delle basi di dati relazionali e, in generale, alle questioni culturali legate ad altri ambiti simili. Dovranno essere in grado di sviluppare e applicare autonomamente le conoscenze e i metodi appresi in vista di un eventuale proseguimento degli studi a livello superiore (laurea magistrale) o nella più ampia prospettiva di auto-miglioramento culturale e professionale dell'apprendimento permanente.
Il corso si compone di lezioni frontali ed esercitazioni pratiche in aula. Le lezioni frontali mirano a fornire agli studenti le conoscenze e gli strumenti teorici per la gestione dei dati. Le esercitazioni si propongono di analizzare casi d'uso e applicare quanto studiato alla risoluzione di problemi legati alla progettazione e all'utilizzo di basi di dati.
L'esame consiste in una prova scritta con esercizi di progettazione e utilizzo di una base di dati e una prova orale che mira a verificare le conoscenze teoriche.
- Sistemi di basi di dati e loro architettura, gli utenti di una base di dati
- Modellazione concettuale dei dati: modello Entity-Relation e Enhanced-Entity-Relation
- Modello dei dati relazionale e modellazione logica
- Il linguaggio SQL
- Algebra Relazionale
- Dipendenze funzionali e normalizzazione per basi di dati relazionali
- Elaborazione delle transazioni, controllo della concorrenza e gestione dei guasti
- “Fundamentals of Database Systems", 7th Edition, Elmasri, Navathe, Addison-Wesley.
BASI DI DATI (ING-INF/05)
Degree course MATEMATICA
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 6.0
Teaching hours Ore totali di attività frontale: 42.0
For matriculated on 2022/2023
Year taught 2022/2023
Course year 1
Semestre Secondo Semestre (dal 27/02/2023 al 09/06/2023)
Language INGLESE
Subject matter MATEMATICA PER L'INTELLIGENZA ARTIFICIALE (A227)
Location Lecce
Calculus. Probability theory. Linear Algebra. Programming skills.
The course provides a modern introduction to data mining, which spans techniques, algorithms and methodologies for discovering structure, patterns and relationships in data sets (typically, large ones) and making predictions. Applications of data mining are already happening all around us, and, when they are done well, sometimes they even go unnoticed. For instance, how does the Google web search work? How does Shazam recognize a song? How does Netflix recommend movies to its users? The principles of data mining provide answers to these and others questions. Data mining overlaps the fields of computer science, statistical machine learning and data bases. The course aims at providing the students with the knowldedge required to explore, analyze and leverage available data in order to turn the data into valuable and actionable information for a company, for instance, in order to facilitate a decision-making process.
The course describes methods and models for the analysis of large amounts of data. Students will gain a solid background with a broad spectrum of basic knowledge related to data mining:
- the students will acquire the basic cognitive tools to think analytically, creatively and critically, and have the abstraction and problem-solving skills needed to cope with complex systems;
- they will gain solid knowledge of data mining models and methodologies;
- they will be able to work on large data collections, including heterogeneous and produced at high speed data, in order to carry out in-depth thematic analyses, drawing on this knowledge to improve the decision-making process.
Frontal lessons using slides made available to students and classroom exercises
Oral exam. During the exam the student is asked to illustrate theoretical topics in order to verify his/her knowledge and understanding of the selected topics. The student must demonstrate adequate knowledge and understanding of the issues presented or indicated, applying in a relevant manner the theories and conceptual models covered by the study programme.
Mining of Massive Datasets
J. Leskovec, A. Rajaraman and J. Ullman
Freely availableonline: http://www.mmds.org
Data Mining and Analysis
M. J. Zaki and W. Meira
Freely available online: https://dataminingbook.info
(ING-INF/05)
DATA MINING
Degree course MATEMATICA
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 6.0
Teaching hours Ore totali di attività frontale: 42.0
For matriculated on 2022/2023
Year taught 2022/2023
Course year 1
Semestre Secondo Semestre (dal 27/02/2023 al 09/06/2023)
Language INGLESE
Subject matter TEORICO-MODELLISTICO (A217)
Location Lecce
Calculus. Probability theory. Linear Algebra. Programming skills.
The course provides a modern introduction to data mining, which spans techniques, algorithms and methodologies for discovering structure, patterns and relationships in data sets (typically, large ones) and making predictions. Applications of data mining are already happening all around us, and, when they are done well, sometimes they even go unnoticed. For instance, how does the Google web search work? How does Shazam recognize a song? How does Netflix recommend movies to its users? The principles of data mining provide answers to these and others questions. Data mining overlaps the fields of computer science, statistical machine learning and data bases. The course aims at providing the students with the knowldedge required to explore, analyze and leverage available data in order to turn the data into valuable and actionable information for a company, for instance, in order to facilitate a decision-making process.
The course describes methods and models for the analysis of large amounts of data. Students will gain a solid background with a broad spectrum of basic knowledge related to data mining:
- the students will acquire the basic cognitive tools to think analytically, creatively and critically, and have the abstraction and problem-solving skills needed to cope with complex systems;
- they will gain solid knowledge of data mining models and methodologies;
- they will be able to work on large data collections, including heterogeneous and produced at high speed data, in order to carry out in-depth thematic analyses, drawing on this knowledge to improve the decision-making process.
Frontal lessons using slides made available to students and classroom exercises
Oral exam. During the exam the student is asked to illustrate theoretical topics in order to verify his/her knowledge and understanding of the selected topics. The student must demonstrate adequate knowledge and understanding of the issues presented or indicated, applying in a relevant manner the theories and conceptual models covered by the study programme.
Mining of Massive Datasets
J. Leskovec, A. Rajaraman and J. Ullman
Freely availableonline: http://www.mmds.org
Data Mining and Analysis
M. J. Zaki and W. Meira
Freely available online: https://dataminingbook.info
DATA MINING (ING-INF/05)
MOBILE APPLICATIONS DEVELOPMENT
Degree course DIGITAL HUMANITIES
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 6.0
Teaching hours Ore totali di attività frontale: 42.0
For matriculated on 2022/2023
Year taught 2022/2023
Course year 1
Semestre Primo Semestre (dal 19/09/2022 al 13/01/2023)
Language INGLESE
Subject matter COMUNE/GENERICO (999)
There are no prerequisites for this course; no previous programming experience is required.
This course is an introduction to mobile application development for iOS and Android. Students will learn how to develop simple mobile applications for IOS and Android with Flutter, an open source cross-platform framework by Google.
The main objective of the course is to provide students with the skills needed to design and develop mobile applications.
During the classes they will learn to:
- think like a programmer;
- use the Dart language to write simple programs;
- write mobile applications through the Flutter framework;
- use an IDE (integrated development environment) for their development activities;
- read and take advantage of technical documentation.
- Classroom lectures and pratical exercises;
The course involves a hands-on approach to the topics covered, so class attendance is recommended.
Students will be required to present and discuss a mobile application they have designed based on an idea agreed upon with the lecturer.
They will be evaluated based on their knowledge of the Dart programming language and their ability to design and implement a mobile application using Flutter
Online manuals:
- Dart online documentation on https://dart.dev
- Flutter online documentation on https://flutter.dev
Books:
- Flutter Apprentice Learn to Build Cross-Platform Apps by Mike Katz et al.
- Beginning Flutter A hands on guide to app development by Marco L. Napoli
MOBILE APPLICATIONS DEVELOPMENT (ING-INF/05)
PARALLEL ALGORITHMS
Degree course COMPUTER ENGINEERING
Subject area ING-INF/05
Course type Laurea Magistrale
Credits 9.0
Owner professor Massimo CAFARO
Teaching hours Ore totali di attività frontale: 81.0
Ore erogate dal docente MARCO PULIMENO: 27.0
For matriculated on 2021/2022
Year taught 2022/2023
Course year 2
Semestre Secondo Semestre (dal 01/03/2023 al 09/06/2023)
Language INGLESE
Subject matter PERCORSO COMUNE (999)
Location Lecce
Programming skills and working knowledge of the C programming language.
This is the practical MPI programming part of the Parallel Algorithms course https://www.unisalento.it/people/massimo.cafaro/didattica/1315572021/scheda.
It is based on a pragmatic approach to parallel programming of message-passing algorithms using the C language and the MPI library.
Applying knowledge and understanding.
After this part of the course the student should be able to:·
· Design, implement and analyze message-passing based parallel algorithms in C using the MPI library;
· Describe and use basic parallel algorithms.
The practical part of the Parallel Algorithms course consists of classroom exercises. There will be lessons devoted to exercises in which we will illustrate, with plenty of examples, how the theoretical knowledge acquired can be used in order to solve algorithmic problems of practical interest and implement parallel algorithms in C language through the MPI library.
See the main page of the course: https://www.unisalento.it/people/massimo.cafaro/didattica/1315572021/scheda
Parallel Programming in C with MPI and OpenMP (International Edition). Michael J. Quinn. McGraw-Hill