Obiettivo del corso è quello di fornire le conosceza che permettano allo studente di implementare, valutare ed analizzare gli algoritmi visti nell'ambito del corso di Algoritmi e Strutture Dati:
- Conoscenza delle basi del linguaggio Python e delle piattaforme di sviluppo
- Conoscenza di base di Latex e del suo utilizzo per scrivere documentazione scientifica
- Conoscenza delle tecniche di test di algoritmi
- Conoscenza dell'implementazione di algoritmi nel linguaggio Python
Prerequisiti
Fondamenti di Informatica. Algoritmi e Strutture Dati (è consigliabile seguire i due insegnamenti nello stesso periodo).
Metodi Didattici
Laboratorio, esercitazioni a casa.
Modalità di verifica apprendimento
La verifica consta nello svolgimento di progetti assegnati durante l'anno e nella loro discussione all'orale. Tale verifica è finalizzata a verificare la capacità di:
- Saper implementare un algoritmo in Python
- Saper condurre (anche in mdoo automatizzato) test funzionali sui programmi implementati per poter verificare le complessità teoriche degli algoritmi corrispondenti
- Saper analizzare in modo critico i risultati dei test
- Saper descrivere le soluzioni adottate per l'implementazione, i test ed i risultati dei test
Programma del corso
Introduzione a Python.
Notebook Jupyter.
Ambiente di sviluppo Pycharm.
Latex per scrivere documenti scientifici. Editor online e offline.
Implementazione di algoritmi (cambiano di anno in anno) visti nel corso di Algoritmi e Strutture Dati.
Esecuzione di test funzionali su tali implementazioni per verificare il comportamento atteso dalla teoria.
Descrizione, tramite una relazione, dell'implementazione e dei risultati ottenuti dalla sperimentazione.