Programmazione 1 - Canale A-D

Docente: Chiara Petrioli

Esercitatore: Ivano Salvo (Pagina delle Esercitazioni)

Tutor: Roberto Petroccia



Orario delle Lezioni A.A. 07/08

Le 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.


Avvisi

IMPORTANTE: 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'Esame

L'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 Corso

Il 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 testo

Deitel & 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 I lucidi delle lezioni della seconda settimana di ottobre I lucidi della terza settimana e dell'inizio quarta settimana di ottobre I lucidi della prima settimana di novembre I lucidi della terza e quarta settimana di novembre I lucidi delle settimane di dicembre

Esercizi di preparazione al secondo esonero

Esami ed Esoneri


I risultati del primo esonero di programmazione 1 AD (anno 2007/2008) sono ora disponibili

I risultati del secondo esonero di programmazione 1 AD sono ora disponibili

Qui di seguito i risultati aggiornati dopo la correzione del settimo homework E dopo la correzione dei recuperi del primo e secondo esonero dell'8 febbraio (NON INCLUDE i RIUSLTATI DEL 12 febbraio). Per tutti: la verbalizzazione e la possibilità di visionare i compiti e' domani mattina 8/2/2008 a partire dalle ore 9 in aula alfa.

Qui si seguito i risultati del compito completo di febbraio (8)e della prova di laboratorio

Qui di seguito i risultati dell'esame del 12 febbraio e della prova di laboratorio del 13 * Ris_Esame_12_2_08.doc: Ris_Esame_12_2_08.doc

Qui di seguito i risultati del compito del 30 giugno 2008 e del laboratorio del primo luglio 2008.

Qui di seguito i risultati del compito del 1 settembre 2008:

Orali e verbalizzazioni: mercoledi' 3 settembre ore 14:30

ATTENZIONE: la verbalizzazione delle persone che hanno passato l'esame tramite esoneri DEVE essere fatta contestualmente ad una delle due prove di febbraio (o la prova scritta del 6 febbraio o la prova orale dell'8 febbraio).

Homework

Segui il link per le istruzioni sulla scrittura e sull'invio degli homeworks.

Topic attachments
I Attachment History Action Size Date WhoSorted ascending Comment
Microsoft Word filedoc Compito_completo_2_08.doc r1 manage 32.5 K 2008-02-07 - 19:10 ChiaraPetrioli  
Microsoft Word filedoc Compito_completo_2_08_final.doc r1 manage 32.0 K 2008-02-07 - 21:41 ChiaraPetrioli  
PDFpdf LEZ1.pdf r1 manage 4994.9 K 2006-10-09 - 12:47 ChiaraPetrioli Lezione1
PowerPointppt LEZ1.ppt r1 manage 634.5 K 2007-09-26 - 12:45 ChiaraPetrioli  
PowerPointppt LEZ_11_14.ppt r1 manage 1525.0 K 2006-12-01 - 10:44 ChiaraPetrioli  
PowerPointppt LEZ_11_15.ppt r1 manage 1648.5 K 2006-12-08 - 11:06 ChiaraPetrioli  
PowerPointppt LEZ_11_150708.ppt r2 r1 manage 1047.0 K 2007-12-07 - 10:32 ChiaraPetrioli  
PowerPointppt LEZ_11_temp.ppt r1 manage 522.0 K 2006-11-17 - 15:44 ChiaraPetrioli  
PowerPointppt LEZ_16.ppt r1 manage 129.5 K 2006-12-08 - 11:10 ChiaraPetrioli  
PowerPointppt LEZ_16_19.ppt r2 r1 manage 880.0 K 2007-12-07 - 10:36 ChiaraPetrioli  
PowerPointppt LEZ_2_3.ppt r1 manage 467.0 K 2006-10-13 - 17:17 ChiaraPetrioli  
PowerPointppt LEZ_4_5.ppt r1 manage 488.5 K 2006-10-13 - 17:18 ChiaraPetrioli  
PowerPointppt LEZ_6_8.ppt r1 manage 976.0 K 2006-10-25 - 12:31 ChiaraPetrioli  
PowerPointppt LEZ_9_10.ppt r1 manage 1360.0 K 2006-11-17 - 15:42 ChiaraPetrioli  
PowerPointppt LEZ_9_10_0708.ppt r1 manage 1467.5 K 2007-11-23 - 10:39 ChiaraPetrioli  
PowerPointppt LEZ_Secondo_esonero.ppt r1 manage 134.0 K 2008-01-08 - 18:30 ChiaraPetrioli  
Microsoft Word filedoc RisProg1Sept.doc r1 manage 23.5 K 2007-09-19 - 21:51 ChiaraPetrioli  
Microsoft Word filedoc Ris_Esame_12_2_08.doc r2 r1 manage 25.0 K 2008-02-14 - 14:11 ChiaraPetrioli  
Microsoft Word filedoc Ris_esoneri_con_recupero.doc r1 manage 56.5 K 2008-02-07 - 19:20 ChiaraPetrioli  
Microsoft Word filedoc Ris_esoneri_con_recupero_final.doc r1 manage 53.0 K 2008-02-07 - 21:37 ChiaraPetrioli  
Microsoft Word filedoc Ris_esonero_0708.doc r6 r5 r4 r3 r2 manage 85.0 K 2007-11-27 - 18:04 ChiaraPetrioli  
Microsoft Word filedoc Risultati_prog1_ESONERI_e_HW.doc r1 manage 43.0 K 2008-01-22 - 10:08 ChiaraPetrioli  
Microsoft Word filedoc Risultati_prog1_ESONERI_e_HW_FINAL.doc r1 manage 151.5 K 2008-02-03 - 14:02 ChiaraPetrioli  
Microsoft Word filedoc lab_prog1_sept.doc r1 manage 23.5 K 2007-09-22 - 11:52 ChiaraPetrioli  
Microsoft Word filedoc risultati_lab_prog1.doc r1 manage 24.0 K 2008-07-01 - 18:13 ChiaraPetrioli  
Microsoft Word filedoc risultati.doc r1 manage 19.0 K 2008-09-02 - 17:20 IvanoSalvo  
Edit | Attach | Watch | Print version | History: r113 < r112 < r111 < r110 < r109 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r113 - 2008-09-02 - IvanoSalvo






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback