L'insegnamento mira a fornire le basi della programmazione al fine di permettere agli studenti lo sviluppo di progetti software di piccole e di medie dimensioni. S'intende introdurre alle metodologie della programmazione imperativa nei suoi elementi essenziali. Si vuole orientare lo studente all'analisi, progettazione ed effettiva implementazione di algoritmi in software di efficace ed efficiente utilizzo. Particolare attenzione e' rivolta allo sviluppo e correttezza dei Programmi con riferimento alla modularità del software, all'organizzazione di un progetto e alla documentazione del software. L'attività sperimentale di laboratorio introduce agli ambienti operativi di tipo Windows, Unix, Unix-like per poi proseguire con concetti di sintassi e semantica di un linguaggio di programmazione e con l'implementazione di costrutti di controllo, condizioni ed iterazioni. Una seconda parte del corso è dedicata alle metodologie di programmazione basate su approcci iterativi e ricorsivi, a strutture dati di tipo astratto e alla loro implementazione (Pile, Code, Liste puntate, Liste ordiante, Alberi, ...). L'attività sperimentale di programmazione si basa sull'utilizzo dei Linguaggi di programmazione C e C++, che vengono approfonditi a diversi livelli partendo da quello di utilizzatori fino ad arrivare a quello di utente esperto.
1. Prolusione
2. Sistemi Operativi – parte prima
3. Sistemi Operativi – parte seconda
6. Il linguaggio C – parte prima
8. Il linguaggio C – funzioni e puntatori
10. Il linguaggio C – parte terza
11. La documentazione del software
12. Dati strutturati
13. Esercizi sui dati strutturati
14. Approfondimenti di C, Stringhe e file
15. Esercizi su stringhe e file
16. La ricorsione
17. Il linguaggio c++ parte prima
18. Il linguaggio C++ - parte seconda
19. Strutture dati di tipo astratto
Formazione: 1997 laurea con lode in Matematica, presso l’Università degli Studi di Napoli Federico II, 1998-1999 borsa di studio di avviamento alla ricerca dell’Istituto Nazionale di Alta Matematica “F. Severi”, Roma.
1999-2001 Borse di studio dell’Istituto Nazionale di Fisica Nucleare finalizzata allo sviluppo di software e ricerca sistema PQE2000.
2004 Dottorato di Ricerca in Matematica Applicata ed Informatica (MAICS-XIV Ciclo) Federico II Napoli.
2002 ad oggi Ricercatore Confermato di Analisi Numerica (MAT/08).
Esperienze professionali e titoli: 2000 abilitazione all’insegnamento della Matematica (A047) nelle scuole di II grado. 2001 con contratto a tempo indeterminato dal Provveditorato agli Studi di Caserta nel ruolo docente.
Docenza: Ha svolto incarichi per i corsi di: Lab. di Calcolo Parallelo e Distribuito I, Calcolo Parallelo e Distribuito II, Calcolo Numerico, Lab. di Programmazione, Elaborazione delle Immagini e Didattica (corso SICSI A034-A042), Lab. di Matematica e Informatica.
Altro: Membro eletto del Consiglio della Facoltà di Scienze MMFFNN, della Giunta del Dipartimento di Matematica e Applicazioni, del Progetto Lauree Scientifiche II.