Fondamenti di Programmazione - Canale A-D![]() ![]() Orario delle Lezioni A.A. 2009/2010Le lezioni si terrano in aula 1 NEC il lunedi' dalle ore 10.30 alle 12.30 e il giovedi' dalle ore 8.30 alle ore 10.30. In laboratorio (mercoledi' mattina) 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 20% del voto dell'esame. Maggiori informazioni sono disponibili sulla pagina del laboratorio, mantenuta dagli esercitatori del corso.AvvisiATTENZIONE: i risultati dello scritto di settembre sono ora in linea (ed entro stasera lo saranno anche i risultati del laboratorio) ATTENZIONE: Dovete prenotarvi su Infostud per l'appello di settembre. L'esame scritto sara' il primo settembre alle ore 14.30 in aula 1 NEC come da calendario. Dovete prenotarvi su twiki per l'esame in lab colossus del 2. Coloro che non superano l'esame entro l'appello del primo settembre dovranno poi fare l'esame in una sessione dell'a.a. 2010/2011 (con un altro docente). Venerdi' 3 alle ore 11 nella stanza del docente sara' possibile verbalizzare. In questo appello si deve fare l'esame completo. Coloro che hanno gia' passato lo scritto e non il laboratorio devono svolgere solo la prova di laboratorio; coloro che hanno passato gli homework (o il laboratorio) in appelli passati ma NON lo scritto devono svolgere solo lo scritto. Tutti gli altri devono fare la prova scritta E la prova di laboratorio. Per la prova di laboratorio occorre prenotarsi (la prenotazione e' on line su twiki).
E' disponibile la Valutazione di Homework Recupero.
Per superare gli homework ed essere esonerati dal laboratorio e' necessario conseguire un punteggio pari a 0,6* punteggio totale dei primi quattro homework. Tale punteggio puo' essere conseguito tramite i quattro homework o l'homework di recupero. Maggiore il punteggio maggiore il voto conseguito nella prova di laboratorio che vale 6 dei 30 punti dell'esame. Gli altri 24 punti sono assegnati in base agli scritti.
Trovate allegate nella sezione 'Prove di esame' degli esempi di prove di esonero degli anni passati. Il programma svolto prima dell'esonero cambia di anno in anno (anche in funzione del numero di settimane che precedono l'esonero nel calendario accademico dell'anno) e quindi e' possibile che quest'anno ci siano argomenti aggiuntivi (ad esempio qualcosa sui puntatori). Tuttavia gli esercizi vi danno una idea del livello di complessita' della prova intermedia. I risultati della seconda prova di esonero e del compito completo di gennaio sono ora disponibili in fondo alla pagina, con i voti finali per lo scritto per coloro che hanno superato entrambi gli esoneri o il compito completo. Orario di ricevimento| Chiara Petrioli | Dip. di Inform. stanza 311 | 06 4991 8354 | su appuntamento. Per necessita' ulteriori 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 Fondamenti di Programmazione.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. Chi non ha superato il primo esonero puo' comunque sostenere il secondo esonero. Chi supera uno dei due esoneri avra' l'opportunita' di fare uno scritto limitato alla parte del programma non esonerata nella prima sessione d'esame (non in sessioni successive).Slide del corsoLe slide delle prime lezioni del corso:
Programma di massima del Corso (verra' aggiornato a mano a mano)Il programma delle lezioni di esercitazione e laboratorio č riportato separatamente sul sito. Prima Settimana 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. 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 Introduzione alla programmazione strutturata. Teorema di Bohm- Jacopini. Costrutti di selezione: if, if..else. Costrutto di ripetizione: while. Annidamento di costrutti. Casting. Ripetizione definita e indefinita. Esercizi. Costrutti for, switch, do..while. Terza settimana Operatori logici. Introduzione del concetto di funzione. Funzioni ed esercizi su funzioni. Esercizi su funzioni. Rand, srand e scrittura di un programma che emula il lancio dei dadi. Quarta settimana Vettori e stringhe. Esercizi su vettori e stringhe. Quinta settimana 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). Esercizi sui vettori: calcolo della media e mediana. Matrici e esercizi su matrici. Introduzione ai puntatori, aritmetica dei puntatori, primi esercizi sui puntatori. Sesta settimana 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. Utilizzo di funzioni di librerie standard. Esercizi di preparazione all'esonero. Settima settimana Esercizi su funzioni, cicli e matrici. Correzione del compito di esonero. Ottava settimana Aritmetica dei puntatori. Vettori di puntatori ed esercizi su vettori di puntatori.Puntatori a funzione e vettori di puntatori a funzione. Nona settimana classi di memoria, cosa succede nel momento in cui si chiama una funzione: call stack- Esercizio di implementazione della struttura dati pila con i vettori. Ricorsione: fattoriale, calcolo della somma, prodotto di due interi. Calcolo della potenza. Fattoriale. Torri di Hanoi. Decima settimana Strutture.Liste concatenate. Allocazione dinamica dei vettori. Introduzione alle liste. Esercizi sulle liste: inserimento in testa, coda, ordinato in lista ordinata. versioni iterative e ricorsive, stampa di una lista, ricerca di un elemento, somma dei valori di una lista, calcolo del numero di occorrenze di un valore in una lista. Undicesima settimana Puntatori a puntatori. Esercizi sulle liste: 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, cancellando la prima occorrenza di un valore dato o tutte le occorrenze di un determinato valore nella lista), inversione di una lista; Pile,code e insiemi implementati con liste. Unione, differenza e intersezione di insiemi. Estrazione ed inserimento in una pila. Controllo della corretta parentesizzazione di una espressione. Introduzione alle code e code a priorita'. Dodicesima settimana esercizi di preparazione all'esame: esercizi su liste, liste di liste, ricorsione, puntatori.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.Esami ed EsoneriI risultati degli esoneri sono ora disponibili al seguente link
HomeworkTrovate le informazioni relative agli homework e relative valutazioni su questa pagina http://twiki.di.uniroma1.it/twiki/view/Programmazione1/HW0910![]() Homework 4 per il canale A-D. Punteggio massimo: 35 punti. [Valutazione Homework 4] Homework di Recupero per il canale A-D. Punteggio massimo: 75 punti. [Valutazione Homework Recupero] Il punteggio finale degli homework sarà dato da: [(punteggio hw1) + (punteggio hw2) + (punteggio hw3) + (punteggio hw4) + (punteggio hwR)] * 1.15 * 100 / 139dove:
>= 60 (ovvero il 60% del punteggio massimo conseguibile con i primi 4 hw, a valle di un incremento del 15% sul punteggio grezzo).
Gli studenti che superano gli homework sono esonerati dalla prova di laboratorio.
Programmazione1/AD Web Utilities |
I | Attachment | History | Action | Size | Date | Who | Comment![]() |
---|---|---|---|---|---|---|---|
![]() |
hwR-testFiles.zip | r1 | manage | 35.0 K | 2010-03-23 - 22:04 | ToniMancini | Alcuni casi di test usati nella valutazione di Homework Recupero |
![]() |
Homework4.html | r13 r12 r11 r10 r9 | manage | 45.0 K | 2010-02-09 - 14:07 | ToniMancini | Homework 4 per il canale A-D |
![]() |
HomeworkR.html | r8 r7 r6 r5 r4 | manage | 21.5 K | 2010-02-27 - 21:19 | ToniMancini | Homework di Recupero per il canale A-D |
![]() |
MappaLabColossus.png | r1 | manage | 3497.6 K | 2010-01-31 - 17:27 | ToniMancini | Mappa Lab. Colossus, Via Salaria 113 |
![]() |
LEZ1.ppt | r1 | manage | 794.0 K | 2009-10-05 - 07:42 | ChiaraPetrioli | |
![]() |
LEZ_12_1509.ppt | r1 | manage | 1367.5 K | 2009-11-29 - 11:39 | ChiaraPetrioli | |
![]() |
LEZ_12_1509_final.ppt | r1 | manage | 1465.0 K | 2009-12-06 - 14:15 | ChiaraPetrioli | |
![]() |
LEZ_16_19_0708.ppt | r1 | manage | 818.0 K | 2009-12-10 - 06:57 | ChiaraPetrioli | |
![]() |
LEZ_16_19_0910.ppt | r1 | manage | 985.5 K | 2010-01-17 - 11:15 | ChiaraPetrioli | |
![]() |
LEZ_2_3.ppt | r1 | manage | 625.0 K | 2009-10-05 - 07:47 | ChiaraPetrioli | |
![]() |
LEZ_4_5.ppt | r1 | manage | 411.0 K | 2009-10-27 - 10:41 | ChiaraPetrioli | |
![]() |
LEZ_6_8.ppt | r1 | manage | 860.0 K | 2009-10-26 - 08:26 | ChiaraPetrioli | |
![]() |
LEZ_9_10_anno09.ppt | r1 | manage | 1595.5 K | 2009-11-01 - 09:38 | ChiaraPetrioli | |
![]() |
RisultatiFONDAMENTIPORGAD_settembre.doc | r1 | manage | 19.5 K | 2010-09-02 - 14:42 | ChiaraPetrioli | |
![]() |
RisultatiFONDAMENTIPORGAD_settembrev2.doc | r1 | manage | 19.5 K | 2010-09-07 - 08:24 | ChiaraPetrioli | |
![]() |
Settimana_finale_esercitazione_esame.doc | r1 | manage | 40.0 K | 2010-01-17 - 14:10 | ChiaraPetrioli | |
![]() |
esercizi_esonero_esempio.ppt | r1 | manage | 59.5 K | 2009-10-27 - 11:22 | ChiaraPetrioli | |
![]() |
esercizi_matrici.txt | r1 | manage | 4.0 K | 2009-11-16 - 22:41 | ChiaraPetrioli | |
![]() |
esonero1_risweb.doc | r1 | manage | 36.0 K | 2009-11-29 - 12:18 | ChiaraPetrioli | |
![]() |
lezioniglicine.ppt | r1 | manage | 44.0 K | 2010-01-17 - 14:10 | ChiaraPetrioli | |
![]() |
risultati_febbraio_2010.doc | r1 | manage | 19.5 K | 2010-03-01 - 23:36 | ChiaraPetrioli | |
![]() |
risultati_gennaio_2010.doc | r1 | manage | 20.5 K | 2010-01-31 - 16:14 | ChiaraPetrioli | |
![]() |
risultati-hwR.html | r2 r1 | manage | 57.2 K | 2010-03-31 - 15:01 | ToniMancini | Risultati valutazione Homework Recupero |
![]() |
risultati-hw4.html | r2 r1 | manage | 50.4 K | 2010-02-15 - 17:24 | ToniMancini | Valutazione Homework 4 |
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |