Fondamenti di informatica un approccio a oggetti con Java Luca Cabibbo Introduzione al corso di Fondamenti di informatica I e II (informatici) Anno Accademico 2001-2002 18 febbraio 2002 1 Introduzione Fondamenti di informatica Fondamenti di informatica I (informatici) Docente: con la collaborazione di: Luca Cabibbo Maurizio Pizzonia Primo modulo (5CFU) n CFU = Credito formativo Universitario n 1 CFU = 25 ore di impegno per lo studente “medio” n nel terzo periodo, dal 18 febbraio al 27 marzo 2002 n dal lunedì al venerdì, dalle 9:45 alle 11:15, aula N1 Ricevimento studenti: giovedì dalle 14:00 alle 16:00, presso n Dipartimento di Informatica e Automazione Via della Vasca Navale 79 — secondo piano, stanza 211 2 Introduzione Fondamenti di informatica Fondamenti di informatica II (informatici) Docente: con la collaborazione di: Luca Cabibbo Maurizio Pizzonia Secondo modulo (5CFU) n nel quarto periodo, dal 29 aprile al 7 giugno 2002 n dal lunedì al venerdì, dalle 11:30 alle 13:00, presso l’Oratorio San Paolo 3 Introduzione Fondamenti di informatica Che cosa è l’informatica Informatica: n scienza e tecnica dell’elaborazione dei dati e, genericamente, del trattamento automatico dell’informazione (Lo Zingarelli, 2001) L’informatica è una disciplina scientifica n è la scienza del trattamento dell’informazione n problemi, informazioni, algoritmi n livello astratto, concettuale, metodologico, logicomatematico L’informatica è una disciplina tecnologica n è la tecnologia dell’elaborazione dei dati n dati, programmi n livello concreto, pragmatico, tecnologico, legato al calcolatore 4 Introduzione Fondamenti di informatica Prerequisiti e obiettivi Prerequisiti n uso dei calcolatori e delle reti di calcolatori Obiettivi di questo corso di Fondamenti di informatica n introdurre alcuni aspetti fondamentali dell’informatica come disciplina per la soluzione automatica di problemi n elementi di programmazione n aspetti metodologici e qualitativi (correttezza, complessità) n mediante strumenti (sia tecnologici che metodologici e culturali) efficaci e duraturi per affrontare l’evoluzione tecnologica in modo flessibile 5 Introduzione Fondamenti di informatica Programma del corso — primo modulo Elementi di programmazione n introduzione alla programmazione n introduzione alla programmazione orientata agli oggetti n problemi e algoritmi n introduzione al linguaggio di programmazione Java Metodologie e tecniche di programmazione n correttezza 6 Introduzione Fondamenti di informatica Programma del corso — secondo modulo Elementi di programmazione n altri elementi del linguaggio di programmazione Java n stringhe e array n definizione di classi n modello di gestione della memoria Metodologie e tecniche di programmazione n ricorsione n complessità n alcuni algoritmi notevoli 7 Introduzione Fondamenti di informatica Materiale didattico Fondamenti di informatica: un approccio a oggetti con Java n a cura di Luca Cabibbo — con la collaborazione di Giuseppe Di Battista, Giuseppe Liotta e Alfonso Miola n una bozza di libro (solo capitoli 3–6) n lucidi delle lezioni (estremamente dettagliati, quasi un libro!) n una libreria di classi (fiji) utilizzata nel corso e codice sorgente per tutti gli esempi proposti nel corso n un sito web (con lucidi in formato PDF) n http://cabibbo.dia.uniroma3.it/fiji n http://www.dia.uniroma3.it/~cabibbo/fiji In distribuzione presso: n Xero Digital (Viale Marconi 447) n CD-ROM e copia dei lucidi n Libreria Galileo Galilei (Via Segre 13-17) n copia dei lucidi e bozza del libro (capitoli 3–6) 8 Introduzione Fondamenti di informatica Materiale didattico Sito web del corso di Fondamenti di informatica (informatici) n http://www.dia.uniroma3.it/~java/fdi CD-ROM n Fondamenti di informatica: un approccio a oggetti con Java n software e documentazione per la programmazione in Java n in distribuzione presso: Xero Digital 9 Introduzione Fondamenti di informatica Materiale didattico supplementare Libri — non indispensabili, ma utili per la consultazione n tecnologia dell’informazione e della comunicazione n Curtin e altri. Informatica di base. McGraw-Hill, 1999 n Sciuto e altri. Introduzione ai sistemi informatici. McGraw-Hill, 1997 n Autori vari. Guida alla patente europea del computer. Apogeo, 2000 n elementi di programmazione n Mizzaro. Introduzione alla programmazione con il linguaggio Java. Franco Angeli, 1999 n Horstmann. Concetti di informatica e fondamenti di Java 2. Apogeo, 2000 n Arnow e Weiss. Introduzione alla programmazione Java. Un approccio Object-Oriented. Jackson Libri, 1999 10 Introduzione Fondamenti di informatica Laboratorio Durante il corso, gli studenti hanno accesso ai calcolatori del Laboratorio Informatico n ADiSu, sala Luigi Arata, Via della Vasca Navale 79, piano terra n l’accesso al laboratorio è consentiti negli orari di apertura affissi presso il laboratorio stesso n l’utilizzo del laboratorio è consentito solo nel rispetto del regolamento del laboratorio stesso n http://www2.dia.uniroma3.it/Laboratori/labArata.htm È inoltre disponibile un servizio di tutorato presso il Laboratorio Informatico n attualmente, con il seguente orario n lunedì, martedì e giovedì, dalle 14:00 alle 15:30 Gli studenti che hanno a disposizione un calcolatore e un collegamento a Internet possono svolgere le “attività di laboratorio” in proprio 11 Introduzione Fondamenti di informatica Modalità d’esame L’esame, per ciascun modulo, prevede lo svolgimento di due prove n una prova scritta n domande relative alla parte tecnologica/teorica/metodologica del programma del corso n viene verificato il “sapere” e la capacità di “comunicare il sapere” n una prova pratica n presso il Laboratorio Informatico n allo studente viene richiesto di dimostrare la conoscenza del linguaggio di programmazione Java e delle tecniche di programmazione n viene verificato il “saper fare” e la capacità di “comunicare il saper fare” 12 Introduzione Fondamenti di informatica Prove di (auto)valutazione Durante lo svolgimento del corso saranno proposti periodicamente, sul sito web del corso, alcuni esercizi di autovalutazione che gli studenti potranno svolgere in maniera autonoma, consegnando le proprie soluzioni entro qualche giorno n le prove di (auto)valutazione permettono di prepararsi alle prove pratiche degli esami del corso, in quanto sia le modalità di svolgimento che i contenuti sono analoghi a quelli di tali prove pratiche n in aula saranno discusse le soluzioni degli esercizi, insieme ad alcune soluzioni proposte dagli studenti (presentate in forma anonima) Lo svolgimento delle prove di (auto)valutazione influenza la valutazione finale delle prove di profitto nella misura massima di 3 punti su 30 13 Introduzione Fondamenti di informatica Esperienze passate Negli anni precedenti, relativamente al corso di Fondamenti di informatica 1 del vecchio ordinamento, gli studenti che hanno superato l’esame sono stati circa il 75% dei frequentanti, con una votazione media di circa 25 trentesimi Gli studenti che hanno sostenuto l’esame non avendo svolto prove intermedie sono stati circa il 10% dei frequentanti 14 Introduzione Fondamenti di informatica Fondamenti di informatica (elettronici) – AA 2000-2001 Fondamenti di informatica (elettronici) – AA 2000-2001 Distribuzione voti della prima prova intermedia Distribuzione voti della seconda prova intermedia 50 45 40 35 30 25 20 15 10 5 0 Frequenza Frequenza Esperienze passate — Fondamenti di informatica (elettronici) 2000-2001 Scritto Pratica 0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 45 40 35 30 25 20 15 10 5 0 Scritto Pratica 9,0 10,0 0,0 1,0 2,0 3,0 4,0 Voto 5,0 6,0 7,0 8,0 9,0 10,0 Voto Fondamenti di informatica (elettronici) – AA 2000-2001 Fondamenti di informatica (elettronici) – AA 2000-2001 Distribuzione voti prove intermedie Distribuzione dei voti verbalizzati 31 30 29 28 27 26 25 24 23 22 21 34 32 30 28 26 24 22 20 18 16 14 12 8 10 6 4 2 0 0 20 5 19 Esonerati Tutti 10 20 18 16 14 12 10 8 6 4 2 0 17 15 Frequenza Frequenza 20 18 25 Voto Voto 15 Introduzione Fondamenti di informatica Esperienze passate — 2000-2001 Fondamenti di informatica (elettronici) – AA 2000-2001 Frequenza delle lezioni Ore di studio individuale 30 Frequenza 25 20 15 10 Voto 440 470 470 410 380 350 320 290 410 380 350 320 290 260 230 200 170 470 440 410 380 350 320 290 260 230 200 170 140 110 80 50 20 Ore di studio 5 140 10 110 15 80 Frequenza Frequenza 20 20 18 16 14 12 10 8 6 4 2 0 50 Ore di studio complessive 20 Fondamenti di informatica (elettronici) – AA 2000-2001 Ore di studio al calcolatore Ore di studio Fondamenti di informatica (elettronici) – AA 2000-2001 25 16 260 Voto 30 0 440 Voto 230 200 170 140 110 80 50 20 470 440 410 380 350 320 290 260 230 200 170 140 110 80 50 0 Ore di studio 5 20 90 80 70 60 50 40 30 20 10 0 Fondamenti di informatica (elettronici) – AA 2000-2001 Ore di studio Frequenza Ore di studio dedicate dagli studenti all’esame di Fondamenti di informatica (dati ricavati da interviste a studenti verbalizzanti) Voto Introduzione Fondamenti di informatica Calendario delle prove d’esame Per il primo modulo gli esami sono fissati con il seguente calendario n prova scritta: 17 aprile 2002 n prova pratica: 18 e 19 aprile 2002 Per il primo modulo gli esami sono fissati con il seguente calendario n nell’interruzione di giugno-luglio 2002 Nel resto dell’anno accademico sono previste le seguenti prove di appello n una prova di recupero per il primo modulo nell’interruzione di giugno-luglio 2002 n prove di recupero per entrambi i moduli a luglio 2002 e a settembre 2002 17 Introduzione Fondamenti di informatica