Offerta Didattica
INFORMATICA
ALGORITMI E STRUTTURE DATI
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2021/2022
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
INF/01 | Base | Libera | Libera | No |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
9 | 6 | 0 | 3 | 72 | 36 | 0 | 36 |
LegendaCFU: n. crediti dell’insegnamento CFU LEZ: n. cfu di lezione in aula CFU LAB: n. cfu di laboratorio CFU ESE: n. cfu di esercitazione FREQUENZA:Libera/Obbligatoria MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli ORE: n. ore programmate ORE LEZ: n. ore programmate di lezione in aula ORE LAB: n. ore programmate di laboratorio ORE ESE: n. ore programmate di esercitazione SSD:sigla del settore scientifico disciplinare dell’insegnamento TAF:sigla della tipologia di attività formativa TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio
Obiettivi Formativi
I principali obiettivi del corso sono: - analizzare le principali tecniche di progettazione degli algoritmi - classificare, analizzare, progettare ed implementare algoritmi - valutare i costi in termini di efficienza computazionale - giungere al miglior compromesso tra esigenze conflittuali (costo, semplicità, efficienza)Learning Goals
The main objectives of the course are: - analize the main techniques for algorithm design - classify, analize, design and implement algorithms - evaluate costs in terms of computational efficiency - choose and implement suitable data structures - make the best compromise among conflicting requirements (cost, simplicity, efficiency)Metodi didattici
Lezioni frontali Esercizi assegnati dal docente, esercizi guidati con il supporto del docente.Teaching Methods
Lectures Exercises given by the teacher, guided exercises with teacher support.Prerequisiti
Matematica di base (algebra di base, concetto di funzione) Programmazione proceduralePrerequisites
Basic mathematics (basic algebra, definition of function) Procedural programmingVerifiche dell'apprendimento
Prova scritta obbligatoria (risoluzione di problemi mediante approccio ricorsivo o iterativo sulla programmazione Python e le strutture dati). La prova si intende superata in caso di valutazione non inferiore a 18/30. La prova scritta viene sostituita da una prova orale in caso di didattica a distanza. Prova orale facoltativa (solo per gli studenti il cui voto alla prova scritta è non inferiore a 18/30).Assessment
Mandatory written exam (solution of problems with recursive or iterative approach on Python programming and data structures). The written exam is considered as passed if the grade is at least 18/30. The written exam will be replaced by an oral exam in case of distance learning. Elective oral exam (only for students whose written exam grade is not smaller than 18/30).Programma del Corso
Introduzione alla programmazione Python - Introduzione agli algoritmi - Modelli di calcolo e metodologie di analisi - Algoritmi di Ordinamento - Strutture dati.Course Syllabus
Introduction to Python programming â Introduction to algorithms â Models and methodologies for the analysis of algorithms â Sorting algorithms â Data structuresTesti di riferimento:
Allen Downey Think Python, Second Edition
Cay Horstmann, Rance D. Necaise Python for everyone (2014) Wiley
David Beazley, Brian K. Jones Python Cookbook O’Reilly, Third Edition
Cormen, Leiserson, Rivest, Stein Algorithms and Data Structures: an introduction, Third Edition
Goodrich, Tamassia, Goldwasser Data Structures and Algorithms in Python (2014) Wiley
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
Docente: LORENZO CARNEVALE
Orario di Ricevimento - LORENZO CARNEVALE
Dato non disponibile