01.11.2012 Views

Laboratorio di programmazione - Computer Science - Università ...

Laboratorio di programmazione - Computer Science - Università ...

Laboratorio di programmazione - Computer Science - Università ...

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.

caratteri. Semplice input/output.<br />

• Programmazione strutturata e strutture <strong>di</strong> controllo. Diagrammi <strong>di</strong> flusso. Istruzioni composte.<br />

L'istruzione if. L'istruzione switch. Ciclo while. Ciclo for.<br />

• Vettori e or<strong>di</strong>namento. Vettori (array) mono<strong>di</strong>mensionali e bi<strong>di</strong>mensionali. Gestione degli array per<br />

riferimento, allocazione con new, aliasing. Ricerca lineare in un vettore e or<strong>di</strong>namento <strong>di</strong> vettori (per<br />

Selezione).<br />

• Meto<strong>di</strong> <strong>di</strong> classe (static). Chiamate <strong>di</strong> meto<strong>di</strong>. Parametri formali e parametri attuali. Passaggio <strong>di</strong><br />

parametri per valore. Passaggio <strong>di</strong> parametri per riferimento (Java non lo prevede). Variabili locali.<br />

Effetti collaterali. Sovraccarico (overloa<strong>di</strong>ng) dei meto<strong>di</strong>.<br />

• Modello runtime. Pila <strong>di</strong> attivazione, allocazione degli oggetti nello heap, durata degli oggetti,<br />

visibilità (scope) delle variabili. Effetti collaterali. Esempio: pila <strong>di</strong> attivazione <strong>di</strong> chiamate annidate.<br />

• Ricorsione. Chiamate ricorsive <strong>di</strong> meto<strong>di</strong>. Pila <strong>di</strong> attivazione <strong>di</strong> chiamate ricorsive. Esempi <strong>di</strong><br />

programmi ricorsivi: ricerca binaria, or<strong>di</strong>namento per Fusione,<br />

• Programmazione orientata agli oggetti. Oggetti software, messaggi, interfaccia. Concetto <strong>di</strong> classe e <strong>di</strong><br />

esemplare. Meto<strong>di</strong> istanza, sintassi (dot notation). La classe String. Standard UML per i grafici.<br />

• Classi ed oggetti. Definizione <strong>di</strong> classi. Meto<strong>di</strong> e variabili istanza. Uso del this. Costruttori.<br />

Mo<strong>di</strong>ficatori <strong>di</strong> visibilità (public e private). Gestione degli oggetti per riferimento, aliasing. Classi<br />

mutabili e immutabili, Meto<strong>di</strong> client. In<strong>di</strong>pendenza dalla rappresentazione ed occultamento<br />

dell'informazione. Implementazione del TDA ``Pila''.<br />

• Ere<strong>di</strong>tarietà. Estensione <strong>di</strong> classi. Polimorfismo con sovrascrittura (overri<strong>di</strong>ng). Il meccanismo del<br />

dynamic bin<strong>di</strong>ng. Differenza tra variabili oscurate e meto<strong>di</strong> sovrascritti, uso del super. Classi astratte.<br />

Interfaccie. Eccezioni.<br />

• Packages. Java API. Uso dei packages e definizione <strong>di</strong> packages. Regole <strong>di</strong> visibilità (riviste). Il<br />

package java.io, flussi (streams) <strong>di</strong> ingresso e uscita. Lettura e scrittura <strong>di</strong> file binari e <strong>di</strong> file <strong>di</strong> testo<br />

UNICODE.<br />

Da definire.<br />

Testi <strong>di</strong> riferimento<br />

Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />

Stefano Mizzaro Introduzione alla <strong>programmazione</strong> con il linguaggio Java Franco Angeli 2000 8846416961<br />

<strong>Laboratorio</strong> <strong>di</strong> sistemi operativi<br />

Docente Massimo Poncino − supplente<br />

Cre<strong>di</strong>ti 4<br />

Periodo 2º 3º quadrimestre<br />

Obiettivi formativi<br />

Il corso è una introduzione ai principi ed al progetto <strong>di</strong> sistemi operativi, essenziali per coor<strong>di</strong>nare le attività e<br />

le risorse <strong>di</strong> un sistema <strong>di</strong> calcolo. Sono affrontati i principali temi dalle architetture software alla gestione dei<br />

processi e delle risorse (es. memoria) del sistema. Nel corso <strong>di</strong> <strong>Laboratorio</strong> viene stu<strong>di</strong>ato un sistema<br />

operativo reale della famiglia UNIX.<br />

Attività formative<br />

Il corso viene svolto in 60 ore <strong>di</strong> laboratorio svolte in un unico periodo <strong>di</strong>dattico.

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

Saved successfully!

Ooh no, something went wrong!