massimo.lamorgia@uniroma1.it's picture
Course Code Year Course - Attendance Bulletin board
INTRODUCTION TO PROGRAMMING AND LABORATORY 10602985 2023/2024

Programma

- Introduzione alla programmazione ed al linguaggio Python (una settimana).
- Tipi di dati, variabili, assegnamenti, strutture di controllo, funzioni, classi, moduli e input/output (due settimane).
- Strutture dati: vettori, stringhe, liste, tuple e dizionari (una settimana).
- Progettazione e sviluppo di programmi tramite programmazione procedurale e orientata agli oggetti (due settimane).
- Librerie di Python per la grafica, la gestione dei file, l'elaborazione di testi e la visualizzazione dei dati (tre settimane).
- Algoritmi ricorsivi ed iterativi (due settimane).
- Debugging e testing di programmi (una settimana).
Il numero di settimane riportate è indicativo e può variare in base alle necessità ed il contesto di apprendimento.


 

Testi adottati

– Charles Dierbach, Introduction to Computer Science Using Python: A Computational Problem-Solving Focus. Wiley, 2012
– Think Python 2nd Edition by Allen B. Downey

Prerequisiti

Indispensabile: Comprensione e produzione orale e scritta fluenti in inglese; nozioni di base di matematica. Importante: Conoscenza di concetti di base di algebra, logica e analisi matematica. Utile: Nozioni di base di programmazione (variabili, funzioni, strutture di controllo).

Modalità di svolgimento

Il corso comprende lezioni ed esercitazioni in aula, nelle quali verranno affrontati tutti gli argomenti in programma.

Modalità di frequenza

La frequenza al corso è facoltativa ma consigliata.

Modalità di valutazione

La prova di esame consiste in una prova mista con sessione scritta e sessioni pratiche. La prova pratica consiste in esercizi di programmazione da risolvere a casa, assegnati in itinere durante il corso per verificare lo stato di apprendimento corrente, nonché una prova finale in laboratorio per verificare la capacità di ragionamento, individuazione dei requisiti e risoluzione dei problemi in un tempo limitato dalla seduta di esame. La prova scritta verte sui concetti alla base della computazione e delle soluzioni algoritmiche e si svolge al termine del corso. Per avere accesso alle prove finali, gli esercizi di programmazione in itinere devono essere stati risolti con successo.
La parte di programmazione ha un peso pari a 3/4 della votazione finale, mentre la parte scritta ha un peso pari a 1/4 della votazione finale. Gli esami verranno tenuti nel rispetto delle disposizioni di Ateneo.

METODOLOGIE DI PROGRAMMAZIONE 1015884 2020/2021

Su appuntamento
Under appointment

Massimo La Morgia is an Assistant Professor (RTD-A) at the Computer Science Department of Sapienza University of Rome, Italy. He obtained the Laurea Degree in Computer Science, summa cum laude, and and the Ph.D in Computer Science from Sapienza University of Rome, respectively in 2014 and 2019. In 2014 he worked six months as NFC Specialist Consultant for PayBay Networks Srl. In 2014 and 2015 he worked for Consorzio Roma Ricerche as Senior Software Developer. In 2017 he obtained the Google Associate Android Developer certification. He is involved in several technology transfer activities regarding IOT systems, machine learning, mobile technology, and proximity payments. His research interests include computer systems, security and privacy. He won the Avvio alla Ricerca 2017 and Avvio alla Ricerca 2021 awards from Sapienza University.