Corso di

Fondamenti di informatica

Anno accademico 2009-2010

(Ingegneria Elettronica)

prof. Luca Cabibbo

Benvenuti nel sito del corso di Fondamenti di informatica (Ingegneria Elettronica), tenuto da Luca Cabibbo

Su questa pagina sono pubblicate le notizie più recenti riguardo allo svolgimento del corso di Fondamenti di informatica (ingegneria elettronica), relativamente all'anno accademico 2009-2010. 

Attenzione, alcune informazioni potrebbero riferirsi ancora all'edizione 2008-2009 del corso.


Avvisi

(È disponibile anche un elenco completo degli avvisi.)


Gli studenti che hanno conseguito una votazione positiva all'appello di febbraio ma non hanno potuto verbalizzare nei tempi stabiliti, sono pregati di contattare il docente, per posta elettronica, appena possibile.


Avviso importante:

Questa nuova modalità d'esame entra in vigore il 1 gennaio 2010. Si applica a tutti gli studenti, sia dell'ordinamento 509 che 270. Si applica anche agli studenti che hanno frequentato il corso negli anni passati.


Sono disponibili due dispense riferite ad argomenti che non sono disponibili sul libro di testo: 


Programma del corso di Fondamenti di informatica

Il programma definitivo del corso di Fondamenti di informatica, per l'anno accademico 2009-2010, è il seguente: 

I modulo:

II modulo:


Materiale didattico

Libro di testo:

Luca Cabibbo
Fondamenti di informatica: oggetti e Java
McGraw-Hill, 2004

Ulteriore materiale didattico:

Ulteriori risorse e collegamenti:


Lezioni 

I modulo 

Data

Argomento

Materiale didattico

5 ottobre 2009 Introduzione al corso Introduzione al corso
(aggiornata il 2 ottobre 2008)
  Architettura dei calcolatori: calcolatori e applicazioni Architettura dei calcolatori
Paragrafo 1.1
6 ottobre 2009 Architettura dei calcolatori: architettura dei calcolatori; tecnologia dei calcolatori Paragrafi 1.2 e 1.3
8 ottobre 2009 Architettura dei calcolatori: il sistema operativo, calcolatori e programmazione Paragrafi 1.4 e 1.5
9 ottobre 2009 Oggetti software: programmi e programmazione; introduzione agli oggetti software; esempi di oggetti software; oggetti software; classi e costruzione di oggetti software (cenni) Oggetti software
Paragrafi da 2.1 a 2.3 (fino a 2.3.3)
Paragrafi 2.4 e 2.5 (cenni)
     
12 ottobre 2009 Oggetti software: esempi di oggetti software Paragrafo 2.3.4
  Oggetti e Java: introduzione alla programmazione in Java; introduzione a Java (per esempi) Paragrafi 3.1 e 3.2 (fino a 3.2.2)
13 ottobre 2009 Strumenti per la programmazione Capitolo 4
Uso di Eclipse
15 ottobre 2009 Oggetti e Java: introduzione a Java (per esempi) Paragrafo 3.2 (da 3.2.3 a 3.2.5)
Uso di Scanner
16 ottobre 2009 Problemi, algoritmi e oggetti: problemi e algoritmi; introduzione agli algoritmi (per esempi) Paragrafo 5.1 e Paragrafo 5.2 (fino a 5.2.4)
     
19 ottobre 2009 Problemi, algoritmi e oggetti: introduzione agli algoritmi (per esempi) Paragrafo 5.2 (da 5.2.5 a 5.2.8)
20 ottobre 2009 Problemi, algoritmi e oggetti: introduzione agli algoritmi (per esempi); attraversamento di labirinti (cenni) Paragrafo 5.2 (da 5.2.9 a 5.2.11) e Paragrafo 5.3 (cenni)
22 ottobre 2009 Le basi del linguaggio Java Capitolo 6
  leggibilità Capitolo 7
22 ottobre 2009
(tutorato, in aula Campus)
Tutorato: Introduzione a Java Introduzione a Java
23 ottobre 2009 Esercizi: Come eseguire un'istruzione per N volte  
  Uso di oggetti: tipi ed espressioni; descrizione di oggetti e classi Capitolo 8, da 8.1 a 8.3
     
26 ottobre 2009 Uso di oggetti: creazione di oggetti e costruttori Paragrafo 8.4
  Esercizi: Somma dei primi N numeri dispari  
  Variabili e assegnazione Capitolo 9
27 ottobre 2009 Errori di programmazione Capitolo 10
  Tipi ed espressioni: tipi; espressioni; tipi primitivi per numeri interi; tipi primitivi per numeri reali Capitolo 11 (da 11.1 a 11.4)
29 ottobre 2009 Tipi ed espressioni: conversione tra tipi; il tipo primitivo char (cenni); algebra di Boole e tipo primitivo boolean Paragrafi 11.5, 11.6 (cenni) e 11.7
  Esercizi: Massimo tra dieci numeri  
30 ottobre 2009 Istruzioni condizionali e blocco Capitolo 13
     
2 novembre 2009 Esercitazione: Introduzione a Java Introduzione a Java
  Esercitazione: Problemi, algoritmi e programmi Java Problemi, algoritmi e programmi Java
3 novembre 2009 Iterazione: accumulazione; conteggio; verifica esistenziale; verifica universale Paragrafi 17.2, 17.3, 17.4 e 17.5
  Esercizi: verifica se una sequenza di numeri contiene almeno uno zero; verifica se una sequenza di numeri contiene tutti zeri  
5 novembre 2009 Istruzioni ripetitive: while, for, do-while; confronto tra istruzioni ripetitive Paragrafi da 14.1 a 14.4
  Esercizi: verifica se gli elementi di una sequenza non vuota sono tutti uguali (al primo); verifica se una sequenza non vuota è crescente  
6 novembre 2009 Istruzioni ripetitive: confronto tra istruzioni ripetitive; linee guida; errori comuni Paragrafi da 14.5 e 14.8
  Esercizi: somme, somme alterne, calcolo approssimato di pi greco  
     
9 novembre 2009 Esercitazione: Analisi di sequenze Analisi di sequenze
  Esercitazione: Uso di oggetti Uso di oggetti
12 novembre 2009 Esercitazione: Iterazione: accumulazione e conteggio Iterazione: accumulazione e conteggio
  Esercitazione: Iterazione: verifiche Iterazione: verifiche
13 novembre 2009 Introduzione alla correttezza: correttezza di applicazioni Capitolo 16 (cenni)
  Esercizi: Calcolo della radica quadrata di un numero naturale;  Verifica se una sequenza di numeri è vuota, oppure contiene tutti 7, oppure contiene almeno un 7, oppure non contiene nessun 7.  
     
17 novembre 2009 Prova intermedia  
     

II modulo

Data

Argomento

Materiale didattico

3 dicembre 2009 Definizione di metodi Capitolo 15
4 dicembre 2009 Esercitazione sulla definizione di metodi Esercitazione 4/12/2009
     
10 dicembre 2009 Istruzioni ripetitive annidate Paragrafo 14.9
11 dicembre 2009 Esercitazione: Elementi di grafica Elementi di grafica
     
14 dicembre 2009 Array: introduzione agli array, uso di array Paragrafi da 19.1 a 19.4
15 dicembre 2009 Array: array e accesso posizionale Paragrafo 19.5
17 dicembre 2009 Array: ricerca sequenziale Paragrafo 19.8
  Esercizi su array: numero di elementi comuni tra due array, verifica se gli elementi di un array sono tutti uguali, verifica se gli elementi di un array sono tutti distinti, inserimento di un elemento in un array in coda, elemento di un elemento in un array in una posizione data, cancellazione di un elemento da un array da una posizione data  
18 dicembre 2009 Array: ricerca binaria Paragrafo 19.9
18 dicembre 2009 Esercizi su array: cancellazione da un array di tutti gli elementi uguali ad un valore dato, calcolo dell'array intersezione di due array dati  
     
7 gennaio 2010 Tipi riferimento e stringhe: tipi riferimento, stringhe e oggetti String, uso di variabili riferimento Paragrafi da 12.1 a 12.3
  Definizione di metodi: effetti collaterali, legame dei parametri (solo legame per valore) Paragrafi 15.10 e 15.12.1
8 gennaio 2010 Esercizi su array: posizione del minimo, calcolo dell'array "inverso", verifica se un array è "palindromo"  
     
11 gennaio 2010 Definizione di classi Paragrafi da 18.1 a 18.5
12 gennaio 2010 Definizione di classi Paragrafi da 18.6 a 18.8
14 gennaio 2010 Esercizi su array: concatenazione, estrazione, verifica se un array è "anagramma" di un altro array  
15 gennaio 2010 Modello runtime Capitolo 21
     
18 gennaio 2010 Correttezza (di metodi) Capitolo 16
  Esercizi su array: inserimento ordinato Array
19 gennaio 2010 Array di array Capitolo 20
21 gennaio 2010 Ricorsione (cenni) Capitolo 22 (cenni)
  Definizione di classi: classi per oggetti dati Paragrafo 18.8
  Esercizi su definizione di classi: Orario  
22 gennaio 2010 Array: fusione di sequenze ordinate Paragrafo 19.10
  Esercizi su definizione di classi: Coppia  
  Esercizi su array di array: somma elementi diagonale principale (oppure secondaria) di una matrice quadrata, somma elementi triangolo inferiore (oppure superiore) di una matrice quadrata  
     
     
25 gennaio 2010 Ordinamento: introduzione, ordinamento per selezione (in dettaglio), ordinamento per inserzione (cenni) Capitolo 24
29 gennaio 2010 Ordinamento: ordinamento a bolle (cenni), ordinamento per fusione (cenni), ordinamento veloce (cenni), confronto (cenni) Capitolo 24
  Esercizi su array di array: concatenazione delle righe di un array di array  
29 gennaio 2010
(dalle 11:30 alle 13:00)
Esercizi: su tutto il programma  
     

Prove di autovalutazione

Numero

Argomento della prova di valutazione Data pubblicazione Data consegna Soluzione
1 Introduzione a Java martedì 20 ottobre 2009 giovedì 29 ottobre 2009

soluzione

2 Problemi, algoritmi e programmi Java martedì 27 ottobre 2009 giovedì 5 novembre 2009

soluzione

3 Analisi di sequenze lunedì 2 novembre 2009 lunedì 9 novembre 2009

soluzione

4 Uso di oggetti lunedì 2 novembre 2009 giovedì 12 novembre 2009

soluzione

5 Iterazione: Accumulazione e conteggio giovedì 5 novembre 2009 lunedì 16 novembre 2009

soluzione

6 Iterazione: Verifiche giovedì 5 novembre 2009 lunedì 16 novembre 2009

soluzione

7 Elementi di grafica giovedì 10 dicembre 2009 giovedì 19 dicembre 2009

soluzione

         
8 Stringhe giovedì 4 dicembre 2008 venerdì 12 dicembre 2008

 

         
9 Array venerdì 8 gennaio 2010 venerdì 15 gennaio 2010

soluzione

10 Definizione di classi venerdì 19 dicembre 2008 mercoledì 14 gennaio 2009

 

11 Definizione di classi e array giovedì 10 gennaio 2008 martedì 22 gennaio 2008

 

12 Array di array mercoledì 16 gennaio 2008 mercoledì 23 gennaio 2008

 


Esami

Si veda l'introduzione al corso per una descrizione dettagliata delle modalità d'esame e la collocazione degli appelli per gli studenti dell'ordinamento 270.

In particolare, si evidenzia il fatto che per partecipare all'esame è necessario prenotarsi all'esame presso il sito prenota.uniroma3.it. La prenotazione va fatta entro quattro giorni lavorativi (che corrispondono a circa una settimana effettiva) prima della data dell'appello.

Chi non riuscisse a prenotarsi presso il sito suddetto, può fare richiesta di partecipazione alle prove d'esame mediante un messaggio di posta elettronica al Prof. Cabibbo, sempre entro gli stessi termini.

Chi non riuscisse a prenotarsi presso il sito suddetto, può fare richiesta di partecipazione alle prove d'esame mediante un messaggio di posta elettronica al Prof. Cabibbo, sempre entro gli stessi termini.

Per motivi organizzativi, gli studenti non prenotati sul sito prenota.uniroma3.it che non contatteranno il docente entro 24 ore dall'esame non saranno ammessi all'esame stesso.

Si ricorda inoltre che agli esami (e alla loro verbalizzazione) lo studente deve portare il libretto universitario oppure lo statone e un documento di riconoscimento valido

Si raccomanda inoltre la massima puntualità, sia nella prenotazione (come già osservato) che nella partecipazione alle prove d'esame.

Durante le prove d'esame non sarà consentito l’uso di alcun materiale didattico.

Testi d'esame

Testi d'esame relativi alla modalità d'esame in vigore dall'anno accademico 2005-2006 (la modalità d'esame cambierà parzialmente dall'anno accademico 2008-2009).

Prova pratica

Prova scritta

Altri testi d'esame di appelli conclusi, relativi alla modalità d'esame in vigore fino all'anno accademico 2004-2005, utili per esercitarsi.

Fondamenti di informatica I

Fondamenti di informatica II

Avviso importante riguardante lo svolgimento della prova pratica:

Questa nuova modalità d'esame entra in vigore il 1 gennaio 2010. Si applica a tutti gli studenti, sia dell'ordinamento 509 che 270. Si applica anche agli studenti che hanno frequentato il corso negli anni passati.


Esami di Fondamenti di informatica - per gli studenti iscritti all'ordinamento 509, ovvero entro l'anno accademico 2007-2008

Il corso di Fondamenti di informatica per gli studenti dell'ordinamento 509, da 10 CFU, è attualmente spento (ultima edizione nell'anno accademico 2007-2008), ma è tuttora possibile sostenere esami per questo corso. 

Si veda l'introduzione al corso per una descrizione dettagliata delle modalità d'esame e la collocazione degli appelli per gli studenti dell'ordinamento 509.

Dall'anno accademico 2008-2009 sarà ancora possibile sostenere l'esame di Fondamenti di informatica (509), sostenendo una prova pratica ed una prova scritta.  Le due prove dovranno essere sostenute nello stesso appello.

Per sostenere l'esame di Fondamenti di informatica (509) è necessario prenotarsi presso il sito prenota.uniroma3.it, entro quattro giorni lavorativi prima dell'esame (che corrispondono a una settimana circa), selezionando il corso corretto (dettagli più precisi saranno illustrati nel seguito).  

Chi non riuscisse a prenotarsi presso il sito suddetto, può fare richiesta di partecipazione alle prove d'esame mediante un messaggio di posta elettronica al Prof. Cabibbo, sempre entro gli stessi termini.

Per motivi organizzativi, gli studenti non prenotati sul sito prenota.uniroma3.it che non contatteranno il docente entro 24 ore dall'esame non saranno ammessi all'esame stesso.

Si ricorda inoltre che agli esami (e alla loro verbalizzazione) lo studente deve portare il libretto universitario oppure lo statone e un documento di riconoscimento valido

Si raccomanda inoltre la massima puntualità, sia nella prenotazione (come già osservato) che nella partecipazione alle prove d'esame.

Durante le prove d'esame non sarà consentito l’uso di alcun materiale didattico.

Avviso importante riguardante lo svolgimento della prova pratica:

Questa nuova modalità d'esame entra in vigore il 1 gennaio 2010. Si applica a tutti gli studenti, sia dell'ordinamento 509 che 270. Si applica anche agli studenti che hanno frequentato il corso negli anni passati.


Esami di Fondamenti di informatica II - solo per gli studenti iscritti all'ordinamento 509 ed entro l'anno accademico 2004-2005

Il corso di Fondamenti di informatica II per gli studenti dell'ordinamento 509, da 5 CFU, è attualmente spento (ultima edizione nell'anno accademico 2004-2005), ma è tuttora possibile sostenere esami per questo corso. 

Dall'anno accademico 2005-2006 sarà ancora possibile sostenere l'esame di Fondamenti di informatica II, con le stesse modalità della prova scritta dell'esame di Fondamenti di informatica (509)

Per sostenere l'esame di Fondamenti di informatica (509) è necessario prenotarsi presso il sito prenota.uniroma3.it, entro quattro giorni lavorativi prima dell'esame (che corrispondono a una settimana circa), selezionando il corso corretto (dettagli più precisi saranno illustrati nel seguito).  

Chi non riuscisse a prenotarsi presso il sito suddetto, può fare richiesta di partecipazione alle prove d'esame mediante un messaggio di posta elettronica al Prof. Cabibbo, sempre entro gli stessi termini.

Per motivi organizzativi, gli studenti non prenotati sul sito prenota.uniroma3.it che non contatteranno il docente entro 24 ore dall'esame non saranno ammessi all'esame stesso.

Si ricorda inoltre che agli esami (e alla loro verbalizzazione) lo studente deve portare il libretto universitario oppure lo statone e un documento di riconoscimento valido

Si raccomanda inoltre la massima puntualità, sia nella prenotazione (come già osservato) che nella partecipazione alle prove d'esame.

Durante le prove d'esame non sarà consentito l’uso di alcun materiale didattico.


Programma del corso di Fondamenti di informatica per gli studenti dell'ordinamento 509

Il programma definitivo del corso di Fondamenti di informatica per gli studenti dell'ordinamento 509 (10 crediti) è quello dell'anno accademico 2007-2008, come segue: 

I modulo:

II modulo (è anche il programma di Fondamenti di informatica II):


Docente del corso

Il docente del corso di Fondamenti di informatica è il prof. Luca Cabibbo. Seguite il collegamento per avere informazioni circa l'orario di ricevimento studenti (attenzione: l'orario di ricevimento studenti può cambiare da periodo didattico a periodo didattico).


Fondamenti di informatica (Ingegneria elettronica) / a cura di Luca Cabibbo