Welcome to the Programmazione1/AD web

Fondamenti di Programmazione - Canale A-D

Docente: Chiara Petrioli

Esercitatori: Toni Mancini, Paul Wollan ( Pagina dei laboratori )



Orario delle Lezioni A.A. 2009/2010

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


Avvisi

ATTENZIONE: 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).

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

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 corso

Le slide delle prime lezioni del corso:

Alcuni esercizi svolti nella settimana di preparazione alla prova d'esame:


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

Esami ed Esoneri

I risultati degli esoneri sono ora disponibili al seguente link

Esempi di esercizi di esonero (a.a. 2007/2008) * esercizi_esonero_esempio.ppt: esercizi_esonero_esempio.ppt trovate altri esempi sulla seconda parte nelle slide relative alle ultime lezioni (gli esercizi sono stati esercizi di esonero degli anni passati)

I risultati del secondo esonero e del compito completo (prova di gennaio 2010) sono ora disponibili:

I risultati del compito di febbraio sono ora disponibili

Risultati dell'appello di giugno:

hanno passato l'appello 1318597 28/30 1318694 29/30 1275870 24/30

Risultati dell'appello di luglio:

nessuno degli studenti che hanno sostenuto la prova scritta ha passato l'esame -1208156,1249775,1225780,1275950,1349143- (potete contattare il docente per vedere il compito)

degli studenti che hanno fatto la prova di laboratorio ha passato tale prova (l'esito della prova di laboratorio o degli homework rimane valido fino a settembre) 1208156 votazione 2/6

Risultati dell'esame di settembre 2010

  • Prova di laboratorio del 2 settembre 2010: nessuno degli studenti presenti ha superato la prova.


Homework

Trovate 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 / 139

dove:

  • (punteggio hw1) ... (punteggio hwR) sono i punteggi grezzi di hw1 (da 0 a 34), hw2, hw3, hw4 (da 0 a 35) e hwR (homework di recupero, da 0 a 75);
  • 139 = 34+35+35+35 è il punteggio massimo conseguibile con gli hw1, hw2, hw3, hw4 (si noti come svolgere hwR permette di recuperare punti, dato che il suo punteggio occorre solo al numeratore, e si osservi il fattore di amplificazione del 15%).

Gli homework si intendono superati da uno studente se il suo punteggio finale è >= 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

Topic attachments
I Attachment History Action Size Date Who Comment
HTMLhtml Homework4.html r13 r12 r11 r10 r9 manage 45.0 K 2010-02-09 - 14:07 ToniMancini Homework 4 per il canale A-D
HTMLhtml 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
PowerPointppt LEZ1.ppt r1 manage 794.0 K 2009-10-05 - 07:42 ChiaraPetrioli  
PowerPointppt LEZ_12_1509.ppt r1 manage 1367.5 K 2009-11-29 - 11:39 ChiaraPetrioli  
PowerPointppt LEZ_12_1509_final.ppt r1 manage 1465.0 K 2009-12-06 - 14:15 ChiaraPetrioli  
PowerPointppt LEZ_16_19_0708.ppt r1 manage 818.0 K 2009-12-10 - 06:57 ChiaraPetrioli  
PowerPointppt LEZ_16_19_0910.ppt r1 manage 985.5 K 2010-01-17 - 11:15 ChiaraPetrioli  
PowerPointppt LEZ_2_3.ppt r1 manage 625.0 K 2009-10-05 - 07:47 ChiaraPetrioli  
PowerPointppt LEZ_4_5.ppt r1 manage 411.0 K 2009-10-27 - 10:41 ChiaraPetrioli  
PowerPointppt LEZ_6_8.ppt r1 manage 860.0 K 2009-10-26 - 08:26 ChiaraPetrioli  
PowerPointppt LEZ_9_10_anno09.ppt r1 manage 1595.5 K 2009-11-01 - 09:38 ChiaraPetrioli  
PNGpng MappaLabColossus.png r1 manage 3497.6 K 2010-01-31 - 17:27 ToniMancini Mappa Lab. Colossus, Via Salaria 113
Microsoft Word filedoc RisultatiFONDAMENTIPORGAD_settembre.doc r1 manage 19.5 K 2010-09-02 - 14:42 ChiaraPetrioli  
Microsoft Word filedoc RisultatiFONDAMENTIPORGAD_settembrev2.doc r1 manage 19.5 K 2010-09-07 - 08:24 ChiaraPetrioli  
Microsoft Word filedoc Settimana_finale_esercitazione_esame.doc r1 manage 40.0 K 2010-01-17 - 14:10 ChiaraPetrioli  
PowerPointppt esercizi_esonero_esempio.ppt r1 manage 59.5 K 2009-10-27 - 11:22 ChiaraPetrioli  
Texttxt esercizi_matrici.txt r1 manage 4.0 K 2009-11-16 - 22:41 ChiaraPetrioli  
Microsoft Word filedoc esonero1_risweb.doc r1 manage 36.0 K 2009-11-29 - 12:18 ChiaraPetrioli  
Compressed Zip archivezip hwR-testFiles.zip r1 manage 35.0 K 2010-03-23 - 22:04 ToniMancini Alcuni casi di test usati nella valutazione di Homework Recupero
PowerPointppt lezioniglicine.ppt r1 manage 44.0 K 2010-01-17 - 14:10 ChiaraPetrioli  
HTMLhtml risultati-hw4.html r2 r1 manage 50.4 K 2010-02-15 - 17:24 ToniMancini Valutazione Homework 4
HTMLhtml risultati-hwR.html r2 r1 manage 57.2 K 2010-03-31 - 15:01 ToniMancini Risultati valutazione Homework Recupero
Microsoft Word filedoc risultati_febbraio_2010.doc r1 manage 19.5 K 2010-03-01 - 23:36 ChiaraPetrioli  
Microsoft Word filedoc risultati_gennaio_2010.doc r1 manage 20.5 K 2010-01-31 - 16:14 ChiaraPetrioli  

This topic: Programmazione1/AD > WebHome
Topic revision: r70 - 2010-09-07 - ChiaraPetrioli
 
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