Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
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.