PROGRAMMAZIONE AVANZATA

Annalisa DE BONIS PROGRAMMAZIONE AVANZATA

0512100047
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2024/2025

ANNO CORSO 3
ANNO ORDINAMENTO 2017
PRIMO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
Obiettivi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE.

LO STUDENTE ACQUISIRÀ LA CONOSCENZA E LA CAPACITÀ DI APPLICARE I PRINCIPALI MODELLI E STRUMENTI PER
PROGETTARE E IMPLEMENTARE PROGRAMMI COMPLESSI, CON PARTICOLARE RIFERIMENTO AI PARADIGMI DI
OOP E DI PROGRAMMAZIONE FUNZIONALE E ALL'UTILIZZO DEI PRINCIPALI DESIGN PATTERN.
NELLA FASE INIZIALE DEL CORSO, L'OBIETTIVO SARÀ DI FAR COMPRENDERE ALLO STUDENTE LE TECNICHE (AGGIORNATE ALLO STATO DELL'ARTE) NECESSARIE A PROGETTARE UN PROGRAMMA COMPLESSO. NEL PROSIEGUO DEL CORSO LO STUDENTE SARÀ STIMOLATO AD APPLICARE LE CONOSCENZE ACQUISITE ALLA PROGETTAZIONE E ALLO SVILUPPO DI APPLICAZIONI CON CARATTERISTICHE DI ROBUSTEZZA ED EFFICIENZA.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE.

- LO STUDENTE ACQUISIRÀ UNA COMPRENSIONE GENERALE DEI COSTRUTTI PIÙ IMPORTANTI DELLA PROGRAMMAZIONE ORIENTATA AGLI OGGETTI E DELLA PROGRAMMAZIONE FUNZIONALE, NONCHÉ DI ALTRI ASPETTI
AVANZATI DEL LINGUAGGIO PYTHON, QUALI LA PROGRAMMAZIONE CONCORRENTE E IL NETWORKING.
- LO STUDENTE IMPARERÀ A INDIVIDUARE NEI DESIGN PATTERN STUDIATI GLI SCHEMI RISOLUTIVI UTILI ALLA SOLUZIONE DI SPECIFICI PROBLEMI LEGATI ALLO SVILUPPO DEL CODICE. LO STUDENTE SARÀ CAPACE DI PROGETTARE E SVILUPPARE PROGRAMMI COMPLESSI CON FUNZIONALITÀ AGGIORNATE ALLO STATO DELL'ARTE E DI VERIFICARNE LA CORRETTEZZA, PORTABILITÀ E MANUTENIBILITÀ.

AUTONOMIA DI GIUDIZIO.
- LO STUDENTE SARÀ IN GRADO AUTONOMAMENTE DI INDIVIDUARE CONTESTI A CUI APPLICARE LE TECNICHE ACQUISITE.

ABILITÀ COMUNICATIVE
- LO SVILUPPO DI UN LINGUAGGIO COMUNE SEMPLIFICHERÀ LA COMUNICAZIONE TRA I TEAM DI LAVORO.

CAPACITÀ DI APPRENDIMENTO.
LO STUDENTE SARÀ IN GRADO DI
- RIUTILIZZARE TECNICHE DI DESIGN DI SUCCESSO NELLO SVILUPPO DI NUOVE SOLUZIONI
- PROCEDERE ALL’AGGIORNAMENTO CONTINUO DELLE PROPRIE CONOSCENZE, UTILIZZANDO LA LETTERATURA TECNICA E SCIENTIFICA
Prerequisiti
CONOSCENZE DI BASE DI UN LINGUAGGIO DI PROGRAMMAZIONE IMPERATIVO E DI UN LINGUAGGIO ORIENTATO AGLI OGGETTI.
Contenuti
CONCETTI DI BASE DI PYTHON (4 ORE)
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI IN PYTHON (3 ORE)
ECCEZIONI E ASSERZIONI (2 ORE)
PROGRAMMAZIONE FUNZIONALE (5 ORE)
CREATIONAL DESIGN PATTERN (3 ORE)
STRUCTURAL DESIGN PATTERN (4 ORE)
BEHAVIORAL DESIGN PATTERN (6 ORE)
INTROSPECTION (4 ORE)
GENERATORI, COROUTINE (3 ORE)
GESTIONE DELLA MEMORIA, GARBAGE COLLECTION (2 ORE)
INPUT-OUTPUT, SERIALIZZAZIONE (2 ORE)
MULTIPROCESSING (3 ORE)
MULTITHREADING (3 ORE)
NETWORKING (4 ORE)
Metodi Didattici
L'INSEGNAMENTO PREVEDE 48 ORE DI LEZIONI FRONTALI IN CUI SARANNO ESPOSTI CONCETTI DI PROGRAMMAZIONE AVANZATA ANCHE ATTRAVERSO NUMEROSI ESEMPI DI FRAMMENTI DI PROGRAMMI. GLI STUDENTI SARANNO INCORAGGIATI A RISOLVERE ESERCIZI DI PROGRAMMAZIONE UTILIZZANDO LE TECNICHE ILLUSTRATE VIA VIA NEL CORSO SELLE LEZIONI.

Verifica dell'apprendimento
L'ESAME CONSISTE IN UNA PROVA DI PROGRAMMAZIONE E DI UNA DISCUSSIONE ORALE. L'ESAME È FINALIZZATO A VALUTARE IL LIVELLO DI CONOSCENZA E DI COMPRENSIONE DELLE METODOLOGIE DI PROGRAMMAZIONE AFFRONTATE DURANTE IL CORSO. IL VOTO FINALE È DATO DALLA MEDIA DEI VOTI OTTENUTI ALLA PROVA DI PROGRAMMAZIONE E ALLA DISCUSSIONE ORALE.
Testi
MARK LUTZ, "LEARNING PYTHON", O'REILLY, 5TH EDITION.

MARK SUMMERFIELD, “PYTHON IN PRACTICE: CREATE BETTER PROGRAMS USING CONCURRENCY, LIBRARIES, AND PATTERNS ”, ADDISON-WESLEY PROFESSIONAL.

ULTERIORE MATERIALE PER APPROFONDIRE GLI ARGOMENTI DEL CORSO E SUPPORTI NECESSARI PER LA PREPARAZIONE ALLA PROVA DI VERIFICA POTRANNO ESSERE FORNITI TRAMITE LE PAGINA WEB DELLA DOCENTE.
Altre Informazioni
NESSUNA
Orari Lezioni

  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-18]