CHRISTIAN
NAPOLI
ING-INF/05
PLEASE GO TO THE WEBPAGE FOR DETAILS
https://cnapoli.diag.uniroma1.it/
PER TUTTI I DETTAGLI CONSULTATE LA PAGINA WEB
Insegnamento | Codice | Anno | Corso - Frequentare | Bacheca |
---|---|---|---|---|
FONDAMENTI DI INFORMATICA | 1017401 | 2023/2024 | ||
INTELLIGENZA ARTIFICIALE - MACHINE LEARNING - BIG DATA | 10595367 | 2023/2024 | ||
METODOLOGIA TECNO-MEDICA | 10595363 | 2023/2024 | ||
FONDAMENTI DI INFORMATICA | 99609 | 2023/2024 | ||
FONDAMENTI DI INFORMATICA | 1017401 | 2022/2023 | ||
L'acquisizione di concetti e metodi nella disciplina è sostenuta dalla frequenza delle lezioni ed esercitazioni, studio del testo di riferimento e delle note integrative, consultazione di altri testi e materiali didattici, interazione collaborativa con colleghi e docenti. Il programma delle lezioni è il seguente:
L’esame consiste di due parti: una prova scritta ed un colloquio orale. Sono ammessi al colloquio gli studenti che avranno ottenuto una valutazione minima di 18/30 alla prova scritta. La prova scritta sarà svolta in aula, avrà una durata di 1 ora, gli studenti dovranno dotarsi solo di un documento di riconoscimento valido e di penna non cancellabile. Durante la prova non è consentito l’utilizzo di appunti, manuali o libri, è inoltre vietato comunicare con i colleghi durante lo svolgimento della prova così come l’utilizzo di dispositivi di comunicazione, pena l’annullamento della prova stessa. Il colloquio orale ha come obiettivo la verifica individuale e valutazione delle motivazioni delle risposte fornite durante la prova scritta così come del conseguimento delle nozioni, dei concetti e dei metodi della disciplina. Le date dei colloqui orali, successivi allo svolgimento della prova scritta, saranno pubblicizzate dal docente, mediante canali ufficiali, dopo la correzione degli elaborati, contestualmente all’elenco dei candidati ammessi. Per sostenere il colloquio orale occorre esibire un documento di identità in sede di esame. La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte. |
||||
METODOLOGIA TECNO-MEDICA | 10595363 | 2022/2023 | ||
OBIETTIVI DEL CORSO
Il corso si propone di fornire le conoscenze essenziali per comprendere il funzionamento di un calcolatore, la possibilità di sfruttare e controllare il sottostante sistema di elaborazione in diversi contesti, e la capacità di scrivere programmi elementari in Python. Vengono inoltre analizzati la programmazione procedurale ed elementi di programmazione a oggetti. Alla fine del corso lo studente sarà in grado di utilizzare in modo consapevole il sistema di elaborazione, sfruttando al meglio le risorse a sua disposizione, sapendo individuare ed eventualmente risolvere i problemi che limitano le prestazioni dei programmi da egli scritti. ARGOMENTI
PRIMA PARTE - CONCETTI FONDAMENTALI SECONDA PARTE - ARCHITETTURA DEGLI ELABORATORI TERZA PARTE - FONDAMENTI DI PROGRAMMAZIONE QUARTA PARTE - PROGRAMMAZIONE CON PYTHON
LIBRI CONSIGLIATI
Glenn Brookshear, Dennis Brylow. Informatica, una panoramica generale. Pearson (2020) Tony Gaddis. Introduzione a Python. Pearson (2022) MODALITÀ DI ESAME
L’esame consiste di due parti: una prova scritta ed un colloquio orale. Sono ammessi al colloquio gli studenti che avranno ottenuto una valutazione minima di 18/30 alla prova scritta. La prova scritta sarà svolta in aula, avrà una durata di 1 ora, gli studenti dovranno dotarsi solo di un documento di riconoscimento valido e di penna non cancellabile. Durante la prova non è consentito l’utilizzo di appunti, manuali o libri, è inoltre vietato comunicare con i colleghi durante lo svolgimento della prova così come l’utilizzo di dispositivi di comunicazione, pena l’annullamento della prova stessa. Il colloquio orale ha come obiettivo la verifica individuale e valutazione delle motivazioni delle risposte fornite durante la prova scritta così come del conseguimento delle nozioni, dei concetti e dei metodi della disciplina. Le date dei colloqui orali, successivi allo svolgimento della prova scritta, saranno pubblicizzate dal docente, mediante canali ufficiali, dopo la correzione degli elaborati, contestualmente all’elenco dei candidati ammessi. Per sostenere il colloquio orale occorre esibire un documento di identità in sede di esame. La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte. REGOLAMENTO DELLA PROVA SCRITTA
La prova ha lo scopo di valutare il conseguimento degli obiettivi formativi essenziali e si svolge per iscritto. Al candidato è richiesto di rispondere a 12 quesiti: REGOLAMENTO DELLA PROVA ORALE
È ammesso al colloquio orale chi ha conseguito una valutazione di almeno 18/30 nella prova scritta. Il colloquio orale ha come obiettivI: VOTO FINALE
La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte. L’esame si intende superato con una valutazione maggiore o uguale a 18/30. Ai candidati particolarmente meritevoli, oltre alla massima votazione (30/30) potrà essere attribuita la lode. Sostenendo l’esame il candidato prende nota, approva e sottoscrive questo regolamento. |
||||
INTELLIGENZA ARTIFICIALE - MACHINE LEARNING - BIG DATA | 10595367 | 2022/2023 | ||
ABILITA' INFORMATICHE E TELEMATICHE | AAF1367 | 2022/2023 | ||
L'acquisizione di concetti e metodi nella disciplina è sostenuta dalla frequenza delle lezioni ed esercitazioni, studio del testo di riferimento e delle note integrative, consultazione di altri testi e materiali didattici, interazione collaborativa con colleghi e docenti. Il programma delle lezioni è il seguente: Finalità e organizzazione dello studio. Macchine da calcolo: cenni storici Aritmetica Maya, sull'abaco e con simulatori Macchine da calcolo: unità funzionali, architetture. Rappresentazione binaria dei numeri e dell'informazione Strutture algebriche, algebre di Boole Logica della commutazione, porte logiche, sintesi di funzioni logiche Realizzazione di porte logiche, circuiti sequenziali, flip-flop Registri, componenti di chip di memoria e del processore, PLA,FPGA,ALU Architetture RISC e CISC, modi d'indirizzamento, esempi di ISA reali Linguaggio assemblativo, direttive di assemblatore, pile e sottoprogrammi Tipi e formati di istruzioni, esempi di linguaggi assemblativi reali Modi di indirizzamento complessi, esempi di programmi assemblativi Operazioni di I/O, controllo e servizio delle interruzioni Gestione di interruzioni ed eccezioni in architetture reali Software di supporto, linguaggi assemblativi e C, sistema operativo Esempi di programmi con integrazione di linguaggi C e assemblativi Struttura di base del processore, microarchitetture RISC e CISC Progetto di microarchitetture, microprogrammazione, pipelining Processori ad alte prestazioni, tecniche predittive, processori superscalari Bus e circuiti d'interfaccia, standard d'interconnessione (cenni) Dispositivi di memoria principale, DMA, gerarchia delle memorie Memorie cache, miglioramento delle prestazioni, memoria secondaria Circuiti efficienti per l'aritmetica binaria Moltiplicazione veloce, aritmetica binaria in virgola mobile (IEEE 754)
|
||||
FONDAMENTI DI INFORMATICA | 99609 | 2022/2023 | ||
L'acquisizione di concetti e metodi nella disciplina è sostenuta dalla frequenza delle lezioni ed esercitazioni, studio del testo di riferimento e delle note integrative, consultazione di altri testi e materiali didattici, interazione collaborativa con colleghi e docenti. Il programma delle lezioni è il seguente: Finalità e organizzazione dello studio. Macchine da calcolo: cenni storici Aritmetica Maya, sull'abaco e con simulatori Macchine da calcolo: unità funzionali, architetture. Rappresentazione binaria dei numeri e dell'informazione Strutture algebriche, algebre di Boole Logica della commutazione, porte logiche, sintesi di funzioni logiche Realizzazione di porte logiche, circuiti sequenziali, flip-flop Registri, componenti di chip di memoria e del processore, PLA,FPGA,ALU Architetture RISC e CISC, modi d'indirizzamento, esempi di ISA reali Linguaggio assemblativo, direttive di assemblatore, pile e sottoprogrammi Tipi e formati di istruzioni, esempi di linguaggi assemblativi reali Modi di indirizzamento complessi, esempi di programmi assemblativi Operazioni di I/O, controllo e servizio delle interruzioni Gestione di interruzioni ed eccezioni in architetture reali Software di supporto, linguaggi assemblativi e C, sistema operativo Esempi di programmi con integrazione di linguaggi C e assemblativi Struttura di base del processore, microarchitetture RISC e CISC Progetto di microarchitetture, microprogrammazione, pipelining Processori ad alte prestazioni, tecniche predittive, processori superscalari Bus e circuiti d'interfaccia, standard d'interconnessione (cenni) Dispositivi di memoria principale, DMA, gerarchia delle memorie Memorie cache, miglioramento delle prestazioni, memoria secondaria Circuiti efficienti per l'aritmetica binaria Moltiplicazione veloce, aritmetica binaria in virgola mobile (IEEE 754)
|
||||
RETI E SISTEMI OPERATIVI | 1035355 | 2021/2022 | ||
ELECTIVE IN ARTIFICIAL INTELLIGENCE | 1056413 | 2021/2022 | ||
Man mano che la robotica si evolve verso campi di applicazione in cui gli esseri umani cooperano con i robot, lavorando sempre più da vicino, i requisiti per le interazioni tra uomo e robot aumentano. La percezione visiva è una componente importante per i processi di interazione uomo-robot nei sistemi robotici. L'interazione tra esseri umani e robot dipende dall'affidabilità dei sistemi di visione robotica. L'analisi di attività, movimenti, abilità e comportamenti di esseri umani e robot viene generalmente affrontata utilizzando le caratteristiche di un corpo umano in movimento (o parte del corpo). Il comportamento del movimento umano viene quindi analizzato dalla cinematica del movimento del corpo e la traiettoria del bersaglio viene utilizzata per identificare gli oggetti e il bersaglio umano. Il processo di identificazione del bersaglio umano e riconoscimento dei gesti in un problema del tutto non banale. In questo ciclo di lezioni ci concentreremo sul contesto dell'Interazione Uomo-Robot (HRI) insieme ai relativi problemi nel campo della visione e della percezione, applicati ai sistemi robotici. Individueremo le caratteristiche tipiche del dispositivo hardware relativo alla visione e alla percezione, nonché i relativi sistemi e soluzioni software. Esploreremo gli approcci noti che caratterizzano i noti sistemi di riconoscimento visivo, nonché le soluzioni algoritmiche più importanti per il targeting delle persone e il riconoscimento delle parti del corpo. Verrà fornito un quadro teorico e pratico con diversi esempi. Infine discuteremo lo stato dell'arte sull'analisi della visione incentrata sull'uomo e spiegheremo l'importanza della questione relativamente alle interfacce basate sull'uomo di computer/robot con particolare interesse per il movimento umano e il riconoscimento delle attività. Svilupperemo anche diversi sistemi di tracciamento e tecniche di riconoscimento di oggetti e contesti orientati al movimento, con enfasi sulle tecniche di deep learning applicate al riconoscimento visivo. Infine confronteremo l'applicabilità di tali tecniche alla classificazione del movimento umano e la relativa applicazione nel campo dell'interazione uomo-robot.
Vedi l'aula di Google, codice ocmkbkd A) Studenti che hanno presentato il loro progetto durante il corso: Progetto + relazione (sotto forma di articolo scientifico)
Progetto + relazione (sotto forma di elaborato scientifico) + esame orale |
||||
METODOLOGIA TECNO-MEDICA | 10595363 | 2021/2022 | ||
Il corso si propone di fornire le conoscenze essenziali per comprendere il funzionamento di un calcolatore, la possibilità di sfruttare e controllare il sottostante sistema di elaborazione in diversi contesti, e la capacità di scrivere programmi elementari in Python. Vengono inoltre analizzati la programmazione procedurale ed elementi di programmazione a oggetti. Alla fine del corso lo studente sarà in grado di utilizzare in modo consapevole il sistema di elaborazione, sfruttando al meglio le risorse a sua disposizione, sapendo individuare ed eventualmente risolvere i problemi che limitano le prestazioni dei programmi da egli scritti.
PRIMA PARTE - CONCETTI FONDAMENTALI SECONDA PARTE - ARCHITETTURA DEGLI ELABORATORI TERZA PARTE - FONDAMENTI DI PROGRAMMAZIONE QUARTA PARTE - PROGRAMMAZIONE CON PYTHON
Glenn Brookshear, Dennis Brylow. Informatica, una panoramica generale. Pearson (2020) Tony Gaddis. Introduzione a Python. Pearson (2022)
L’esame consiste di due parti: una prova scritta ed un colloquio orale. Sono ammessi al colloquio gli studenti che avranno ottenuto una valutazione minima di 18/30 alla prova scritta. La prova scritta sarà svolta in aula, avrà una durata di 1 ora, gli studenti dovranno dotarsi solo di un documento di riconoscimento valido e di penna non cancellabile. Durante la prova non è consentito l’utilizzo di appunti, manuali o libri, è inoltre vietato comunicare con i colleghi durante lo svolgimento della prova così come l’utilizzo di dispositivi di comunicazione, pena l’annullamento della prova stessa. Il colloquio orale ha come obiettivo la verifica individuale e valutazione delle motivazioni delle risposte fornite durante la prova scritta così come del conseguimento delle nozioni, dei concetti e dei metodi della disciplina. Le date dei colloqui orali, successivi allo svolgimento della prova scritta, saranno pubblicizzate dal docente, mediante canali ufficiali, dopo la correzione degli elaborati, contestualmente all’elenco dei candidati ammessi. Per sostenere il colloquio orale occorre esibire un documento di identità in sede di esame. La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte.
La prova ha lo scopo di valutare il conseguimento degli obiettivi formativi essenziali e si svolge per iscritto. Al candidato è richiesto di rispondere a 12 quesiti:
È ammesso al colloquio orale chi ha conseguito una valutazione di almeno 18/30 nella prova scritta. Il colloquio orale ha come obiettivI:
La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte. L’esame si intende superato con una valutazione maggiore o uguale a 18/30. Ai candidati particolarmente meritevoli, oltre alla massima votazione (30/30) potrà essere attribuita la lode. Sostenendo l’esame il candidato prende nota, approva e sottoscrive questo regolamento. |
||||
SEMINARS IN ARTIFICIAL INTELLIGENCE AND ROBOTICS | AAF1790 | 2020/2021 | ||
RETI E SISTEMI OPERATIVI | 1035355 | 2020/2021 | ||
ELECTIVE IN ARTIFICIAL INTELLIGENCE | 1056413 | 2020/2021 | ||
SEMINARS IN ADVANCED TOPICS IN COMPUTER SCIENCE ENGINEERING | AAF1788 | 2019/2020 | ||
SEMINARS IN ARTIFICIAL INTELLIGENCE AND ROBOTICS | AAF1790 | 2019/2020 | ||
SISTEMI DI CALCOLO | 1056029 | 2019/2020 | ||
SEMINARS IN ARTIFICIAL INTELLIGENCE AND ROBOTICS | AAF1790 | 2018/2019 | ||
SEMINARS IN ARTIFICIAL INTELLIGENCE AND ROBOTICS | AAF1790 | 2017/2018 | ||
SEMINARS IN ARTIFICIAL INTELLIGENCE AND ROBOTICS | AAF1244 | 2016/2017 |
Martedì 09:00-11:00 (course)
Martedì 11:00-13:00 (thesis)
Christian Napoli is Associate Professor with the Department of Computer, Control, and Management Engineering "Antonio Ruberti", Sapienza University of Rome, since 2019, as well as Scientific Director and co-founder (2015) of the International School of Advanced and Applied Computing (ISAAC).
He received the B.Sc. degree in Physics from the Department of Physics and Astronomy, University of Catania, in 2010, where he also got the M.Sc. degree in Astrophysics in 2012 and the Ph.D. in Computer Science in 2016 at the Department of Mathematics and Computer Science, he obtained the National Scientific Abilitation as associate professor in Computer Engineering (2017) and computer science (2019).
Christian Napoli has been Research Associate with the Department of Mathematics and Computer Science, University of Catania, from 2018 to 2019, while, previously, Research Fellow and Adjunct Professor with the same department from 2015 to 2018. He has been a Student Research Fellow with the Department of Electrical, Electronics, and Informatics Engineering, University of Catania, from 2009 to 2016, a collaborator of the Astrophysical Observatory of Catania and the National Institute for Nuclear Physics, since 2010.
He has been several time Invited Professor at the Silesian University of Technology, Visiting Academic at the New York University, and responsible of more than 25 institutional topics from 2011 until now for Undegraduate, Graduate and PhD students in Computer Science, Computer Engineering and Electronics Engineering. His teaching activity focused on Artificial Intelligence, Neural Networks, Machine Learning, Computing Systems, Computer Architectures, Distributed Systems, and High Performance Computing.
He is involved in several international research projects, serves as reviewer and member of the board program committee for major international journals and international conferences.
His current research interests include neural networks, artificial intelligence, computational models, and high performance computing.