| Lingua insegnamento |
---|
| Italiano |
| Obiettivi formativi e risultati di apprendimento |
---|
| - Conoscenza e capacità di comprensione.
L'insegnamento è il primo e anche unico dell'area informatica per le lauree di primo livello in ingegneria. L'obiettivo formativo principale consiste nel fornire agli studenti le basi della programmazione procedurale. Le principali conoscenze trasmesse saranno: elementi di base della programmazione procedurale, tecniche algoritmiche di base, programmazione modulare, utilizzo del linguaggio C.
- Capacità di applicare conoscenza e comprensione.
Dal punto di vista delle capacità di applicare le conoscenze acquisite lo studente dovrà essere in grado di produrre codice in C per la risoluzione di problemi di semplice e media complessità, con particolare riguardo alla manipolazione di matrici e dati numerici.
- Autonomia di giudizio.
Lo studente deve essere in grado di analizzare i problemi, individuare il corretto algoritmo risolutivo e saper utilizzare, in maniera autonoma, le tecniche algoritmiche di base acquisite, al fine di realizzare un programma che risolva il problema di partenza.
- Abilità comunicative.
Lo studente deve essere in grado di spiegare in parole semplici il funzionamento di un programma, compresa l'organizzazione della memoria ed il passaggio dei parametri ai sottoprogrammi.
- Capacità di apprendimento.
Poiché molte delle conoscenze acquisite riguardano la programmazione procedurale in sé (indipendentemente dal linguaggio utilizzato) lo studente dovrebbe essere in grado di affrontare la programmazione in altri linguaggi, una volta appresane la sintassi.
|
| Prerequisiti |
---|
| Non sono richiesti particolari prerequisiti se non l’uso ordinario di un personal computer per la scrittura di testi, l’uso di e-mail e la capacità di accedere a siti Internet. |
| Contenuti del corso |
---|
| - Concetti introduttivi
Elementi di architettura degli elaboratori, linguaggi di programmazione, strumenti di sviluppo
- Elementi di base della programmazione
Dichiarazioni, assegnazioni, espressioni, stringhe, lettura e stampa di dati, dettagli in C
- Strutture di controllo
Strutture condizionali, strutture cicliche, tecniche algoritmiche di base (conteggio, somma con accumulatore, variabile bandiera), dettagli in C
- I sottoprogrammi
Programmazione modulare (sintassi e semantica), tipi e passaggio dei parametri, dettagli in C
- I tipi strutturati
Gli array monodimensionali, gli array multidimensionali, strutture e unioni, tecniche algoritmiche di base (ricerca di massimi e di minimi, verifica di condizioni), dettagli in C - Gestione file
Lettura e scrittura di file sequenziali e binari, dettagli in C
- Il puntatori
Definizione di puntatori, indirizzi di memoria e loro utilizzo. Allocazione dinamica di memoria, dettagli in C
|
| Metodi didattici |
---|
| Il corso prevede 60 ore di didattica tra lezioni ed esercitazioni. In particolare sono previste 36 ore di lezione in aula e 24 ore di esercitazioni sempre in aula. |
| Modalità di verifica dell'apprendimento |
---|
| Esame scritto. L’esame scritto consiste in un questionario che verte su tutti gli argomenti trattati nel corso più un esercizio di programmazione in C. Il questionario è composto da domande di 3 diversi livelli di difficoltà: le domande di base sono volte alla valutazione dello studio ed alla comprensione degli elementi fondanti (competenze minime); le domande di livello intermedio valutano la capacità di applicare le conoscenze a problemi semplici; le domande di terzo livello richiedono capacità di ragionamento e conoscenza più approfondita dei vari argomenti trattati. L'esercizio di programmazione verte sull'applicazione delle tecniche algoritmiche studiate durante il corso. |
| Testi di riferimento e di approfondimento, materiale didattico Online |
---|
| - Materiale didattico reperibile sul sito del docente;
- B. Kernighan, D. Ritchie, Il linguaggio C, 2a ed., 2004, Pearson/Prentice-Hall (ottimo libro di riferimento, conciso ed essenziale, non particolarmente adatto a chi non sa già programmare in qualche linguaggio)
- K. N. King, Programmare in C, Apogeo, 2009 (ottimo testo didattico e di riferimento, molto completo e approfondito)
- H. Deitel, P. Deitel, Il linguaggio C. Fondamenti e tecniche di programmazione, case editrici diverse nel tempo. Precedentemente il titolo era C. Corso completo di programmazione (buon testo didattico)
|
| Metodi e modalità di gestione dei rapporti con gli studenti |
---|
| Tutte le informazioni concernenti il corso, le modalità di esame, il materiale didattico e l’orario di ricevimento sono disponibili online sulla pagina Web del docente. |
| Date di esame previste |
---|
| - 23/05/2024
- 27/06/2024
- 11/07/2024
- 12/09/2024
- 23/10/2024
- 14/11/2024
- 11/12/2024
|