Nome del corso di laurea |
Ingegneria informatica ed elettronica |
Codice insegnamento |
A003461 |
Curriculum |
Ingegneria elettronica |
Docente responsabile |
Emilio Di Giacomo |
Docenti |
|
Ore |
- 81 Ore - Emilio Di Giacomo
|
CFU |
9 |
Regolamento |
Coorte 2025 |
Erogato |
Erogato nel 2025/26 |
Erogato altro regolamento |
|
Attività |
Caratterizzante |
Ambito |
Ingegneria informatica |
Settore |
ING-INF/05 |
Anno |
1 |
Periodo |
Primo Semestre |
Tipo insegnamento |
Obbligatorio (Required) |
Tipo attività |
Attività formativa monodisciplinare |
Lingua insegnamento |
Italiano |
Contenuti |
Parte in comune con il primo modulo del corso di Fondamenti di Informatica: - CONCETTI PRELIMINARI - PROGRAMMAZIONE PROCEDURALE (Linguaggio C) - RICORSIONE Parte esclusiva per il corso di Fondamenti di Informatica per l'Elettronica: - CENNI ALL'ANALISI DI COMPLESSITA' - RICERCA E ORDINAMENTO |
Testi di riferimento |
Deitel and Deitel “Il linguaggio C, fondamenti e tecniche di programmazione”, Pearson |
Obiettivi formativi |
Dopo una breve introduzione sulla rappresentazione dell'Informazione, viene introdotta la programmazione procedurale, con il linguaggio C. Oltre ad introdurre i costrutti del lingugaggio, viene spiegato agli studenti come affrontare e risolvere semplici problemi di calcolo allo scopo di sviluppare il pensiero computazionale e l'approccio algoritmico alla soluzione dei problemi. A questos copo veien anche introdotta la ricorsione, una tecnica algoritmica fondamentale in informatica. Nella parte esclusiva del corso riservata ai soli studenti del curriculum di elettronica, vengono introdotti brevemente l'analisi id complessità e il problema della ricerca e dell'ordinamento. Al termine del corso ci si aspetta che lo studente abbia le seguenti conoscenze: - conoscenza dei concetti di base della programmazione (tipo di dato, variabile, parametro, strutture di controllo, array) - conoscenza dei costrutti del linguaggio C (funzioni, puntatori, strutture) Al termine del corso ci si aspetta che lo studente abbia le seguenti abilità: - capacità di individuare soluzioni algoritmiche a semplici problemi di calcolo, eventualmente utilizzando la ricorsione; - capacità di implementare tali soluzioni utilizzando il linguaggio C |
Prerequisiti |
Il corso non assume particolari conoscenze preliminari. |
Metodi didattici |
Il corso è organizzato nel seguente modo: 1- Lezioni frontali (54 ore, 6CFU) in cui vengono spiegati i vari argomenti del corso e in cui si svolgono alcuni esercizi per aiutare la comprensione degli argomenti e come preparazione all'esame. 2- Esercitazioni in laboratorio (27 ore, 3CFU) con uso del calcolatore. Gli studenti, supportati dal docente, mettono in pratica, programmando sul calcolatore, i concetti imparati durante le lezioni teoriche. Queste esercitazioni rappresentano anche una preparazione per affrontare la prova pratica di programmazione durante l'esame. |
Modalità di verifica dell'apprendimento |
L'esame consiste nelle due prove di seguito elencate. Esame scritto con test a risposta multipla. Durata:60 minuti Punteggio: 10/30 Obiettivo: accertare la conoscenza dei concetti teorici impartiti nell'insegnamento e la capacità di comprendere ed utilizzare i costrutti del linguaggio C appresi nel corso Prova pratica di programmazione Durata: 120 minuti Punteggio: 20/30 Obiettivo: accertare la capacità dello studente di scrivere semplici programmi in C. Si accede alla prova pratica soltanto se il risultato della prova scritta è sufficiente. Il punteggio complessivo è ottenuto come somma dei punteggi delle due prove. Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa |
Programma esteso |
CONCETTI PRELIMINARI + Rappresentazione dell’informazione (cenni) + Algoritmi, Linguaggi e Programmi PROGRAMMAZIONE PROCEDURALE (Linguaggio C) + Il linguaggio C + Tipi di dato, Variabili, Espressioni + Istruzioni di controllo + Funzioni + Array e Puntatori + Caratteri e stringhe + Input e output + Strutture, unioni e enumerazioni RICORSIONE + Pila e record di attivazione + La ricorsione + Tipi ricorsivi + Ricorsione e iterazione CENNI ALL'ANALISI DI COMPLESSITA' + Efficienza dei programmi + Funzione di costo + Caso migliore, peggiore e medio + Notazione asintotica + Regole per l'analisi id complessità RICERCA E ORDINAMENTO + Il problema della ricerca + Ricerca sequenziale e ricerca binaria + Il problema dell'ordinamento + Esempi di algoritmi di ordinamento |