21.06.2013 Views

Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento

Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento

Nuovo Ordinamento - Ingegneria - Università degli Studi di Trento

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FACOLTA’ DI INGEGNERIA<br />

INFORMATICA GENERALE 2<br />

Docente: Fabio Massacci<br />

1° anno - 2° bim - 6 cre<strong>di</strong>ti<br />

<strong>Ingegneria</strong> delle Telecomunicazioni<br />

Orario lezioni: Martedì 16:30-19:30 - Venerdì 10:30-13:30<br />

Orario esewrcitazioni: Martedì 9:30-13:00 - Mercoledì 11:30-13:00 (turni <strong>di</strong> 1h30)<br />

Esercitatore: Andrea Malossini<br />

e-mail: xandreax@libero.it<br />

Obiettivi generali del corso<br />

Programmazione imperativa in C++ <strong>di</strong> strutture <strong>di</strong> dati.<br />

Programma del corso<br />

Memoria e puntatori: come è fatta la memoria, in<strong>di</strong>rizzi <strong>di</strong> variabili, puntatori, allocazione <strong>di</strong> memoria;<br />

Array e aritmetica dei puntatori: array statici, <strong>di</strong>namici, aritmetica dei puntatori, liberare la memoria,<br />

lettura <strong>di</strong> array statici e <strong>di</strong>namici da file;<br />

File <strong>di</strong> testo: apertura, chiusura, controllo <strong>di</strong> esistenza, lettura da file, scrittura da file, lettura <strong>di</strong> vettori,<br />

rilevazione errori in lettura;<br />

File binari: la rappresentazione testuale e binaria dei dati, spostarsi e trovare la posizione corrente<br />

in un file binario, mo<strong>di</strong>fica <strong>di</strong> dati in un file binario;<br />

Strutture e tipi: strutture, occupazione <strong>di</strong> memoria, vettori <strong>di</strong> strutture, strutture composte <strong>di</strong> strutture,<br />

definizione <strong>di</strong> nuovi tipi;<br />

Liste collegate: definizione <strong>di</strong> tipo, rappresentazione in memoria, scansione, mo<strong>di</strong>fiche (inserimenti<br />

e cancellazioni);<br />

Ricorsione: stack, heap, record <strong>di</strong> attivazione, punto <strong>di</strong> ritorno, assunzione delle funzioni ricorsive,<br />

progettazione <strong>di</strong> funzioni ricorsive;<br />

Alberi binari: rappresentazione con array e con strutture e puntatori, visite;<br />

Alberi generali: rappresentazione con strutture e array <strong>di</strong>namici, rappresentazione con strutture e<br />

liste, visite;<br />

Sicurezza del software: problemi classici della sicurezza del co<strong>di</strong>ce, come funziona un virus, come<br />

funziona un worm. Programmi che sfruttano gli errori del co<strong>di</strong>ce per sovvertire il sistema buffer<br />

overrun e stack smashing.<br />

Modalità <strong>di</strong> svolgimento del corso<br />

Lezioni: Martedì 16:30-19:30 Venerdì 10:30-13:30<br />

Esercitazioni al calcolatore: Martedì 9:30-13:00 (turni <strong>di</strong> 1h30) Mercoledì 11:30-13:00<br />

Modalità d’esame<br />

Per chi segue il corso si consiglia <strong>di</strong> sostenere l’esame alla prova <strong>di</strong> valutazione conclusiva al<br />

calcolatore alla fine del corso. Altrimenti una prova al calcolatore ed un progetto.<br />

152

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!