Tags:
tag this topic
create new tag
view all tags
<table border=2><tr valign=top><td width="90%"> <center> ---+++ <font color=blue size="+3">Programmazione 1 - Canale A-D </font> </center> <center> <font color=blue size="+2">Docente: Chiara Petrioli</font> <font color=blue size="+2">Esercitatore: Ivano Salvo </font> (<font color=green size="+2"><a href="http://www.dsi.uniroma1.it/~poti/PROG1.html">Pagina delle Esercitazioni</a></font>) <font color=blue size="+2">Tutor: Roberto Petroccia</font> </center> ---- <font color=orange> </font> ---- ---+++ <font color=blue size="+2"> <b>Orario delle Lezioni A.A. 07/08</b> </font> 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. ---- ---+++ <font color=blue size="+2"> <b>Avvisi</b> </font> 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. </font> ---- ---+++ <font color=blue size="+2"> <b>Orario di ricevimento</b> </font> | 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@NOSPAMdi.uniroma1.it - cancellare la scritta NOSPAM dall'indirizzo |. Se inviate una mail specificate nel subject: domanda relativa a PROG1. ---- ---+++ <font color=blue size="+2">Modalita' d'Esame </font> 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. ---- ---+++ <font color=blue size="+2">Programma del Corso</font> 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. ---+++ <font color=blue size="+2">Libro di testo</font> 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. ---- ---- ---+++ <font color=990000 size="+2">Lucidi (tutti e soli i lucidi delle lezioni fatte nel 2007/2008) </font> I lucidi delle lezioni della prima settimana * [[%ATTACHURL%/LEZ1.ppt][LEZ1.ppt]]: LEZ1.ppt * [[%ATTACHURL%/LEZ_2_3.ppt][LEZ_2_3.ppt]]: LEZ_2_3.ppt I lucidi delle lezioni della seconda settimana di ottobre * [[%ATTACHURL%/LEZ_4_5.ppt][LEZ_4_5.ppt]]: LEZ_4_5.ppt I lucidi della terza settimana e dell'inizio quarta settimana di ottobre * [[%ATTACHURL%/LEZ_6_8.ppt][LEZ_6_8.ppt]]: LEZ_6_8.ppt I lucidi della prima settimana di novembre * [[%ATTACHURL%/LEZ_9_10.ppt][LEZ_9_10.ppt]]: LEZ_9_10.ppt I lucidi della terza e quarta settimana di novembre * [[%ATTACHURL%/LEZ_11_150708.ppt][LEZ_11_150708.ppt]]: LEZ_11_150708.ppt * [[%ATTACHURL%/LEZ_9_10_0708.ppt][LEZ_9_10_0708.ppt]]: LEZ_9_10_0708.ppt I lucidi delle settimane di dicembre * [[%ATTACHURL%/LEZ_16_19.ppt][LEZ_16_19.ppt]]: LEZ_16_19.ppt Esercizi di preparazione al secondo esonero * [[%ATTACHURL%/LEZ_Secondo_esonero.ppt][LEZ_Secondo_esonero.ppt]]: LEZ_Secondo_esonero.ppt ----+++ <font color=blue size="+2">Esami ed Esoneri</font> ---- I risultati del primo esonero di programmazione 1 AD (anno 2007/2008) sono ora disponibili * [[%ATTACHURL%/Ris_esonero_0708.doc][Ris_esonero_0708.doc]]: Ris_esonero_0708.doc I risultati del secondo esonero di programmazione 1 AD sono ora disponibili * [[%ATTACHURL%/Risultati_prog1_ESONERI_e_HW.doc][Risultati_prog1_ESONERI_e_HW.doc]]: Risultati_prog1_ESONERI_e_HW.doc 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. * [[%ATTACHURL%/Ris_esoneri_con_recupero_final.doc][Ris_esoneri_con_recupero_final.doc]]: Ris_esoneri_con_recupero_final.doc Qui si seguito i risultati del compito completo di febbraio (8)e della prova di laboratorio * [[%ATTACHURL%/Compito_completo_2_08_final.doc][Compito_completo_2_08_final.doc]]: Compito_completo_2_08_final.doc Qui di seguito i risultati dell'esame del 12 febbraio e della prova di laboratorio del 13 * [[%ATTACHURL%/Ris_Esame_12_2_08.doc][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. * [[%ATTACHURL%/risultati_lab_prog1.doc][risultati_lab_prog1.doc]]: risultati_lab_prog1.doc Qui di seguito i risultati del compito del 1 settembre 2008: * [[%ATTACHURL%/risultati.doc][risultati.doc]]: Risultati compito 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). ---+++ <font color=990000 size="+2">Homework</font> Segui il link per le istruzioni sulla [[HomeworkAD0708][scrittura e sull'invio degli homeworks]]. </table> <!-- * [[%ATTACHURL%/lab_prog1_sept.doc][lab_prog1_sept.doc]]: lab_prog1_sept.doc --> <!-- * [[%ATTACHURL%/RisProg1Sept.doc][RisProg1Sept.doc]]: RisProg1Sept.doc -->
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
doc
Compito_completo_2_08.doc
r1
manage
32.5 K
2008-02-07 - 19:10
ChiaraPetrioli
doc
Compito_completo_2_08_final.doc
r1
manage
32.0 K
2008-02-07 - 21:41
ChiaraPetrioli
pdf
LEZ1.pdf
r1
manage
4994.9 K
2006-10-09 - 12:47
ChiaraPetrioli
Lezione1
ppt
LEZ1.ppt
r1
manage
634.5 K
2007-09-26 - 12:45
ChiaraPetrioli
ppt
LEZ_11_14.ppt
r1
manage
1525.0 K
2006-12-01 - 10:44
ChiaraPetrioli
ppt
LEZ_11_15.ppt
r1
manage
1648.5 K
2006-12-08 - 11:06
ChiaraPetrioli
ppt
LEZ_11_150708.ppt
r2
r1
manage
1047.0 K
2007-12-07 - 10:32
ChiaraPetrioli
ppt
LEZ_11_temp.ppt
r1
manage
522.0 K
2006-11-17 - 15:44
ChiaraPetrioli
ppt
LEZ_16.ppt
r1
manage
129.5 K
2006-12-08 - 11:10
ChiaraPetrioli
ppt
LEZ_16_19.ppt
r2
r1
manage
880.0 K
2007-12-07 - 10:36
ChiaraPetrioli
ppt
LEZ_2_3.ppt
r1
manage
467.0 K
2006-10-13 - 17:17
ChiaraPetrioli
ppt
LEZ_4_5.ppt
r1
manage
488.5 K
2006-10-13 - 17:18
ChiaraPetrioli
ppt
LEZ_6_8.ppt
r1
manage
976.0 K
2006-10-25 - 12:31
ChiaraPetrioli
ppt
LEZ_9_10.ppt
r1
manage
1360.0 K
2006-11-17 - 15:42
ChiaraPetrioli
ppt
LEZ_9_10_0708.ppt
r1
manage
1467.5 K
2007-11-23 - 10:39
ChiaraPetrioli
ppt
LEZ_Secondo_esonero.ppt
r1
manage
134.0 K
2008-01-08 - 18:30
ChiaraPetrioli
doc
RisProg1Sept.doc
r1
manage
23.5 K
2007-09-19 - 21:51
ChiaraPetrioli
doc
Ris_Esame_12_2_08.doc
r2
r1
manage
25.0 K
2008-02-14 - 14:11
ChiaraPetrioli
doc
Ris_esoneri_con_recupero.doc
r1
manage
56.5 K
2008-02-07 - 19:20
ChiaraPetrioli
doc
Ris_esoneri_con_recupero_final.doc
r1
manage
53.0 K
2008-02-07 - 21:37
ChiaraPetrioli
doc
Ris_esonero_0708.doc
r6
r5
r4
r3
r2
manage
85.0 K
2007-11-27 - 18:04
ChiaraPetrioli
doc
Risultati_prog1_ESONERI_e_HW.doc
r1
manage
43.0 K
2008-01-22 - 10:08
ChiaraPetrioli
doc
Risultati_prog1_ESONERI_e_HW_FINAL.doc
r1
manage
151.5 K
2008-02-03 - 14:02
ChiaraPetrioli
doc
lab_prog1_sept.doc
r1
manage
23.5 K
2007-09-22 - 11:52
ChiaraPetrioli
doc
risultati.doc
r1
manage
19.0 K
2008-09-02 - 17:20
IvanoSalvo
doc
risultati_lab_prog1.doc
r1
manage
24.0 K
2008-07-01 - 18:13
ChiaraPetrioli
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r113
<
r112
<
r111
<
r110
<
r109
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r113 - 2008-09-02
-
IvanoSalvo
Log In
or
Register
Programmazione1/AA0708/AD Web ...
Programmazione1/AA0708/AD Web
Programmazione1/AA0708/AD Web Home
Users
Groups
Index
Search
Changes
Notifications
Statistics
Preferences
User Reference ...
User Reference
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
ChangeEmailAddress
ChangePassword
ResetPassword
Prenotazioni esami
Laurea Triennale ...
Laurea Triennale
Algebra
Algoritmi
Introduzione agli algoritmi
Algoritmi 1
Algoritmi 2
Algoritmi per la
visualizzazione
Architetture
Prog. sist. digitali
Architetture 2
Basi di Dati
Basi di Dati 1 Inf.
Basi di Dati 1 T.I.
Basi di Dati (I modulo, A-L)
Basi di Dati (I modulo, M-Z)
Basi di Dati 2
Calcolo
Calcolo differenziale
Calcolo integrale
Calcolo delle Probabilitą
Metodi mat. per l'inf. (ex. Logica)
canale AD
canale PZ
Programmazione
Fond. di Programmazione
Metodologie di Programmazione
Prog. di sistemi multicore
Programmazione 2
AD
EO
PZ
Esercitazioni Prog. 2
Lab. Prog. AD
Lab. Prog. EO
Lab. Prog. 2
Prog. a Oggetti
Reti
Arch. di internet
Lab. di prog. di rete
Programmazione Web
Reti di elaboratori
Sistemi operativi
Sistemi Operativi (12 CFU)
Anni precedenti
Sistemi operativi 1
Sistemi operativi 2
Lab. SO 1
Lab. SO 2
Altri corsi
Automi, Calcolabilitą
e Complessitą
Apprendimento Automatico
Economia Aziendale
Elaborazione Immagini
Fisica 2
Grafica 3D
Informatica Giuridica
Laboratorio di Sistemi Interattivi
Linguaggi di Programmazione 3° anno Matematica
Linguaggi e Compilatori
Sistemi Informativi
Tecniche di Sicurezza dei Sistemi
ACSAI ...
ACSAI
Computer Architectures 1
Programming
Laurea Magistrale ...
Laurea Magistrale
Percorsi di studio
Corsi
Algoritmi Avanzati
Algoritmica
Algoritmi e Strutture Dati
Algoritmi per le reti
Architetture degli elaboratori 3
Architetture avanzate e parallele
Autonomous Networking
Big Data Computing
Business Intelligence
Calcolo Intensivo
Complessitą
Computer Systems and Programming
Concurrent Systems
Crittografia
Elaborazione del Linguaggio Naturale
Estrazione inf. dal web
Fisica 3
Gamification Lab
Information Systems
Ingegneria degli Algoritmi
Interazione Multi Modale
Metodi Formali per il Software
Methods in Computer Science Education: Analysis
Methods in Computer Science Education: Design
Prestazioni dei Sistemi di Rete
Prog. avanzata
Internet of Things
Sistemi Centrali
Reti Wireless
Sistemi Biometrici
Sistemi Distribuiti
Sistemi Informativi Geografici
Sistemi operativi 3
Tecniche di Sicurezza basate sui Linguaggi
Teoria della
Dimostrazione
Verifica del software
Visione artificiale
Attivitą complementari
Biologia Computazionale
Design and development of embedded systems for the Internet of Things
Lego Lab
Logic Programming
Pietre miliari della scienza
Prog. di processori multicore
Sistemi per l'interazione locale e remota
Laboratorio di Cyber-Security
Verifica e Validazione di Software Embedded
Altri Webs ...
Altri Webs
Dottorandi
Commissioni
Comm. Didattica
Comm. Didattica_r
Comm. Dottorato
Comm. Erasmus
Comm. Finanziamenti
Comm. Scientifica
Comm Scientifica_r
Corsi esterni
Sistemi Operativi (Matematica)
Perl e Bioperl
ECDL
Fondamenti 1
(NETTUNO)
Tecniche della Programmazione 1° modulo
(NETTUNO)
Seminars in Artificial Intelligence and Robotics: Natural Language Processing
Informatica generale
Primo canale
Secondo canale
II canale A.A. 10-11
Informatica
Informatica per Statistica
Laboratorio di Strumentazione Elettronica e Informatica
Progetti
Nemo
Quis
Remus
TWiki ...
TWiki
Tutto su TWiki
Users
Main
Sandbox
Home
Site map
AA web
AAP web
ACSAI web
AA2021 web
Programming web
AA2021 web
AN web
ASD web
Algebra web
AL web
AA1112 web
AA1213 web
AA1920 web
AA2021 web
MZ web
AA1112 web
AA1213 web
AA1112 web
AA1314 web
AA1415 web
AA1516 web
AA1617 web
AA1819 web
Old web
Algo_par_dis web
Algoreti web
More...
AD Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
Questo sito usa cookies, usandolo ne accettate la presenza. (
CookiePolicy
)
Torna al
Dipartimento di Informatica
E
dit
A
ttach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback