Programmazione 1 - Canale A-DOrario delle Lezioni A.A. 07/08Le lezioni si terrano in aula 1 NEC In laboratorio vi verranno dati degli homework. Superare gli homework o un esame di laboratorio e' condizione necessaria per il superamento dell'esame. Gli homework conteranno circa il 15% del voto dell'esame. Maggiori informazioni sono disponibili sulla pagina del laboratorio, mantenuta dal tutor, Dott. Petroccia.AvvisiIMPORTANTE: E' stato messo un foglio di prenotazione su twiki per coloro che vogliono fare l'appello congiunto (orale 17 luglio) di programmazione 1 e programmazione 2. L'orale si terra' venerdi' 18 mattina -ore 9.30- a Via Salaria, aula seminari (corrisponde all'orario dell'orale di programmazione 2 AD). Per TUTTI coloro che devono sostenere l'esame di laboratorio è possibile sostenerlo nella mattina del primo luglio a partire dalle ore 9 presso il laboratorio Colossus di Via Salaria 113.Orario di ricevimento| Chiara Petrioli | Dip. di Inform. stanza 311 | 06 4991 8354 | mercoledi' 13.30-14.30 (su appuntamento, se possibile mandate una mail al docente) | petrioli@NOSPAMdiNOSPAM.uniroma1.it - cancellare la scritta NOSPAM dall'indirizzo |. Se inviate una mail specificate nel subject: domanda relativa a PROG1.Modalita' d'EsameL'esame consiste in una prova scritta ed una prova di laboratorio. Superare gli esoneri esonera dalla prova scritta. Superare gli homework esonera dalla prova di laboratorio. Coloro che dovessero superare uno solo dei due esoneri potranno partecipare all'appello di fine corso, svolgendo solo la parte del compito relativa alla metà del corso non esonerata. Ci sarà la possibilità di una prova orale per coloro che volessero alzare il voto conseguito all'esame o per coloro che aspirano a voti superiori a 27.Programma del CorsoIl programma delle lezioni di esercitazione e laboratorio è riportato separatamente sul sito. Prima Settimana Testi di riferimento. Deitel & Deitel: C how to program (quarta edizione),Prentice Hall: capitoli 1,2,3. Per la parte di introduzione al funzionamento di un eleboratore’Operating Systems (Internals and Deisgn Principles), William Stallings, quinta edizione, Prentice Hall’. Mercoledi' 26 settembre 2007 Introduzione al corso. Nozioni base sul funzionamento di un elaboratore. Componenti HW: memoria, processore, dispositivi di I/=, bus. Fetch e esecuzione di istruzioni. Linguaggi macchina e linguaggi ad alto livello. Compilatori. I compiti del sistema operativo. Esempio di esecuzione di un programma. Venerdì 28 settembre Struttura di un programma. Variabili: loro tipo, definizione di variabili, inizializzazione di variabili. Operatori e espressioni aritmetiche. Operatore di assegnamento, di uguaglianza/disuguaglianza, operatori relazionali. Il preprocessore. Librerie standard. Primi semplici esercizi. Seconda settimana Mercoledì 3 ottobre Introduzione alla programmazione strutturata. Teorema di Bohm- Jacopini. Costrutti di selezione: if, if..else. Costrutto di ripetizione: while. Annidamento di costrutti. Casting. Esercizi di preparazione all’esame su queste tematiche. Terza settimana Martedì 9 ottobre Ripetizione definita e indefinita. Esercizi. Costrutti for, switch, do..while. Mercoledì 10 ottobre Operatori logici. Introduzione del concetto di funzione. Funzioni ed esercizi su funzioni. Venerdì 12 ottobre Esercizi su funzioni. Rand, srand e scrittura di un programma che emula il lancio dei dadi. Quarta settimana Venerdì 19 ottobre Vettori e stringhe. Esercizi su vettori e stringhe. Quinta settimana Mercoledì 24 ottobre Ordinamento di vettori: bubblesort. Dimostrazione di correttezza del bubblesort (per induzione). Complessità di un algoritmo. Ricerca di un elemento in un vettore: ricerca lineare.Ricerca di un elemento in un vettore ordinato: ricerca binaria. Complessità dell'algoritmo di ricerca binaria. Correttezza dell'algoritmo di ricerca binaria (dimostrazione per assurdo). Venerdì 26 ottobre Funzioni della libreria standard di input/output, introduzione all'utilizzo di Linux da utente. Sesta settimana Martedì 30 e Mercoledi' 31 ottobre Verifica e validazione di un programma. Scelta dei dati di test: black box testing. Esercizi sui vettori: calcolo della media e mediana. Matrici e esercizi su matrici.Introduzione ai puntatori, primi esercizi sui puntatori. Settima settimana Esercizi di preparazione all'esonero: vettori, matrici, stringhe Ottava settimana Martedì 20 novembre Puntatori e aritmetica dei puntatori. Esercizi su stringhe e vettori usando la rappresentazione con puntatori. Stringhe. Funzioni di libreria per la manipolazione dei caratteri e delle stringhe. Esercizi con stringhe. Mercoledì 21 novembre Utilizzo di funzioni di librerie standard. Correzione dei compiti di esonero. Nona settimana Venerdì 23 novembre Correzione compiti di esonero B e D, vettori di puntatori ed esercizi su vettori di puntatori. Venerdì 30 novembre Puntatori a funzione e vettori di puntatori a funzione. Classi di memoria. Decima settimana Mercoledì 5 dicembre Ricorsione: fattoriale, calcolo della somma, prodotto di due interi. Calcolo della potenza. Fattoriale. Torri di Hanoi. Venerdì 7 dicembre Ricorsione e vettori (esercizi). Rappresentazione dei reali: problematiche e soluzioni. Strutture.. Undicesima settimana Mercoledì 12 dicembre Liste concatenate. Esercizi sulle liste: inserimento in testa, coda, ordinato in lista ordinata. versioni iterative e ricorsive. Stampa di una lista in avanti e indietro, append tra list. Venerdì 14 dicembre Esercizi sulle strutture. Puntatori a puntatori (esempio applicato all'inserimento in testa ad una lista). Esercizi sulle liste: ricerca di un elemento, somma dei valori di una lista, calcolo del numero di occorrenze di un valore in una lista. Dodicesima settimana Mercoldì 19 dicembre verifica se una lista è ordinata; inserimento in coda (ricorsiva, con puntatori a puntatori); cancellazione di un elemento da una lista (varie versioni: iterativa, ricorsiva, con puntatori a puntatori o restituendo un puntatore); inversione di una lista.Libro di testoDeitel & Deitel: C How to program, Prentice Hall. Il libro e' disponibile in inglese o in italiano. Si invitano gli studenti a prendere sin dai primi corsi confidenza con i manuali in inglese (si consiglia quindi si usare il libro in inglese). Specifici argomenti verranno trattati sulla base di altri libri di consultazione che verranno elencati a mano a mano durante il corso. Ad esempio sulle componenti di un elaboratore potete consultare il cap.1 dello Stallings di Sistemi Operativi.Lucidi (tutti e soli i lucidi delle lezioni fatte nel 2007/2008)I lucidi delle lezioni della prima settimana
Esami ed EsoneriI risultati del primo esonero di programmazione 1 AD (anno 2007/2008) sono ora disponibili
HomeworkSegui il link per le istruzioni sulla scrittura e sull'invio degli homeworks. |
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |