Metodi di programmazione avanzata
- A.A. 2024/2025
- CFU 9
- Ore 60
- Classe di laurea L-41
Lo studente dovrebbe avere familiarità con almeno un linguaggio di programmazione ed una IDE di sviluppo.
Il corso si propone di far conoscere allo studente tecniche avanzate per lo sviluppo di programmi. In quest'ambito, gli obiettivi sono:
1. conoscere e comprendere i principali paradigmi di programmazione;
2. acquisire conoscenze su design patterns avanzati e architetture a microservizi basati su containerizzazione;
3. comprendere l'utilizzo di framework per la realizzazione di backend.
Alla fine del corso, lo studente acquisirà la capacità di comprendere le differenze tra i principali paradigmi di programmazine. Acquisirà inoltre conoscenze e capacità di comprendere applicate allo sviluppo di architetture a microservizi, formando la propria autonomia di giudizio sui design patterns e i framework da utilizzare in base alle specifiche di implementazione.
1. Paradigmi di Programmazione
2. Programmazione funzionale
3. Javascript e Typescript
4. Node.js
5. Programmazione asincrona
6. Design patterns
7. Docker: containerizzazione e applicazioni multi-container
1. (C) Osmani, A. Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide 2/ED O'Reilly Media, 2023
Altre informazioni / materiali aggiuntivi
L'insegnamento è interamente tenuto in italiano.
-
L'attività didattica prevede lo svolgimento di lezioni frontali in aula, sia teoriche che applicative. È prevista l'interazione diretta con gli studenti, con domande che hanno lo scopo di coinvolgere i presenti e verificare l'effettiva comprensione degli argomenti trattati. A supporto delle lezioni saranno proiettate slide e laddove necessario saranno effettuate esercitazioni di carattere tecnico.
La valutazione finale sarà effettuata attraverso due prove:
- un progetto didattico, per un totale di 18/30, da svolgere singolarmente o in gruppo
- un prova orale in italiano, per un totale di 12/30, riguardante tutti gli argomenti sviluppati durante il corso.
Le prove avranno lo scopo di valutare le conoscenze specifiche (50%), la proprietà di linguaggio (30%) e l'autonomia di giudizio (20%) sugli argomenti trattati durante il corso. Non è possibile consultare testi o appunti durante la prova orale.
Italiano