- Docente: Matteo Francia
- Crediti formativi: 3
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Cesena
- Corso: Laurea in Ingegneria elettronica (cod. 5834)
-
dal 22/04/2024 al 30/05/2024
Conoscenze e abilità da conseguire
Al termine del corso, lo studente possiede conoscenze pratiche di algoritmi e programmazione informatica avanzata (in particolare: programmazione imperativa e strutturata) nel linguaggio di programmazione C. Lo studente sarà in grado di progettare e implementare algoritmi iterativi e ricorsivi, strutture dati avanzate (liste), e di gestire l'I/O standard (file).
Contenuti
Introduzione ad aspetti avanzati di algoritmi e strutture dati: strutture dati avanzate (liste, alberi); algoritmi ricorsivi e analisi di complessità.
Linguaggio C: aspetti avanzati di programmazione: iterazione e ricorsione; algoritmi su liste (ricerca, inserimento, cancellazione, ordinamento); IO e persistenza di dati su file.
Testi/Bibliografia
Testo adottato:
- Paul J. Deitel, Harvey M. Deitel, "Il linguaggio C: fondamenti e tecniche di programmazione", 8/ed, Pearson, ISBN 978-8891901651
Ulteriore materiale sarà reso disponibile dal docente.
Approfondimenti sulla parte di teoria:
- J. Glenn Brookshear, “Informatica—una panoramica generale”, 11/ed., Pearson 2012, ISBN 978-8871927671
Approfondimenti sulla programmazione in C:
- Brian W. Kernighan and Dennis M. Ritchie, "The C Programming Language, Second Edition", Prentice Hall, Inc., 1988. ISBN 0-13-110362-8 (paperback), 0-13-110370-9 (hardback).
Metodi didattici
La didattica si svolge mediante lezioni frontali accompagnate da esercitazioni pratiche al laboratorio. Durante le lezioni teoriche vengono introdotti concetti avanzati dell'informatica, e vengono via via descritti i costrutti di programmazione che sono poi oggetto di esercitazioni parzialmente guidate, con la supervisione dei docenti. Di tutti gli esercizi proposti viene poi fornita una possibile soluzione sul sito Web del corso, allo scopo di supportare le attività di studio individuale. Alcune esercitazioni sono rivolte a simulare lo svolgimento dell'esame finale.
Modalità di verifica e valutazione dell'apprendimento
Gli studenti saranno valutati in base allo svolgimento di una prova scritta/pratica composta da domande di tipo teorico ed esercizi da risolvere al computer. L'esame è strutturato in modo tale da valutare il raggiungimento degli obiettivi didattici; in particolare, la capacità di ragionare in termini logici e algoritmici e le competenze di analisi, progettazione, ed implementazione di programmi in linguaggio C.
Strumenti a supporto della didattica
Nel corso sarà utilizzato anche materiale didattico fornito dal docente (in particolare, lucidi e dispense con esercizi e problemi vari). L'attività di laboratorio supporterà l'apprendimento pratico. Sarà presente un tutor per supportare l'attività laboratoriale.
Orario di ricevimento
Consulta il sito web di Matteo Francia
SDGs
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.