Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento
Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento
Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
FACOLTA’ DI INGEGNERIA<br />
PROGRAMMAZIONE I (KA)<br />
Docente: prof. Fausto Giunchiglia<br />
1°anno - 1° bimestre - 6 cre<strong>di</strong>ti<br />
Corso <strong>di</strong> Laurea in <strong>Ingegneria</strong> dell’Informazione e dell’Organizzazione<br />
email: fausto@science.unitn.it<br />
Obiettivi del Corso<br />
L’obiettivo del corso è <strong>di</strong> insegnare a programmare utilizzando un linguaggio <strong>di</strong> tipo imperativo ed,<br />
in particolare, il subset del C++ che corrisponde al C. Si cerca <strong>di</strong> raggiungere questo obiettivo<br />
tramite due sotto-obiettivi. Il primo è quello <strong>di</strong> dare una conoscenza dettagliata ed avanzata dei<br />
coman<strong>di</strong> e costrutti <strong>di</strong> controllo del linguaggio stu<strong>di</strong>ato, anche ed in particolare in tutti quegli aspetti<br />
che lo <strong>di</strong>stinguono da altri linguaggi imperativi (ad esempio Pascal). Il secondo è quello <strong>di</strong> insegnare<br />
agli studenti a sviluppare programmi <strong>di</strong> me<strong>di</strong>a <strong>di</strong>mensione utilizzando la metodologia della<br />
programmazione strutturata. Il corso non richiede alcuna specifica conoscenza della programmazione<br />
imperativa del C/C++ e prevede un’introduzione <strong>di</strong> base sia dell’hardware dei sistemi <strong>di</strong><br />
elaborazione, sia del software necessario per la programmazione (e<strong>di</strong>tor, compilatore, debugger).<br />
Programma del Corso:<br />
- Gli algoritmi e i linguaggi <strong>di</strong> programmazione<br />
- La macchina <strong>di</strong> von Neumann e le unita’ costitutive <strong>di</strong> un elaboratore<br />
- Il compilatore e la creazione <strong>di</strong> un eseguibile<br />
- La macchina C: concetti astratti del linguaggio<br />
· Le istruzioni con<strong>di</strong>zionali<br />
· Le istruzioni <strong>di</strong> ciclo<br />
· Le istruzioni <strong>di</strong> Input-output<br />
- Il linguaggio C reale<br />
- La fase <strong>di</strong>chiarativa<br />
- Tipi <strong>di</strong> variabili nel C<br />
· Gli array<br />
· Le strutture<br />
· I puntatori<br />
- Funzioni, Procedure e blocchi<br />
- Le classi <strong>di</strong> memorizzazione<br />
- I file Gli argomenti trattati sono integrati con esempi <strong>di</strong> co<strong>di</strong>ce C ed esercizi.<br />
Modalità <strong>di</strong> svolgimento: Il corso avrà la durata <strong>di</strong> 6 settimane con otto ore <strong>di</strong> lezione a settimana e<br />
con esercitazioni integrate durante le lezioni. Ciò significa che esempi <strong>di</strong> programmazione verranno<br />
illustrati durante la presentazione <strong>degli</strong> argomenti teorici. L’esame finale mirerà a valutare la<br />
capacità concreta che gli studenti hanno <strong>di</strong> sviluppare programmi <strong>di</strong> me<strong>di</strong>e <strong>di</strong>mensioni e consisterà<br />
in una prova orale durante la quale il can<strong>di</strong>dato illustrerà un progetto <strong>di</strong> co<strong>di</strong>ce operativo in C.<br />
Testo consigliato: “Informatica e programmazione”, Ceri-Mandrioli- Sbattella, McGraw-Hill<br />
230