Fondamenti di Informatica e - Laboratorio - modulo B Corso di Laurea triennale - Unife
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Fondamenti di Informatica e Laboratorio - modulo B Corso di Laurea triennale in Ingegneria Elettronica e Informatica Prof. Evelina Lamma Anno Accademico 2018-19 1
Fondamenti di Informatica e Laboratorio per iscriversi a uno dei turni di Laboratorio, iscriversi a uno dei due appelli parziali del modulo B su studiare.unife.it in data 4 marzo o 5 marzo 2
Questionario di autovalutazione: http://www.unife.it/ing/informazione/fond-info-modulo-b/autovalutazione-modulo-b 4
OBIETTIVI (modulo B) • Approfondire l’uso del linguaggio C rispetto a quanto noto dal modulo A (propedeutico) prof. Evelina Lamma • Presentare le principali strutture di dato utilizzate per applicazioni informatiche e gli algoritmi associati (discutendone la complessità) • Introdurre il concetto di componente software (modulo, tipo di dato astratto, classe e oggetto) • Presentare i principi della programmazione a oggetti e prof. Evelina Lamma, il linguaggio Java Dr. Riccardo Zese • Sperimentare librerie di componenti Java per le strutture di dato (JCF) 5
E’ NOSTRO OBIETTIVO CHE ACQUISIATE CFU! • Fondamenti di Informatica e Laboratorio vale 15 CFU • Lezioni e ricevimento • Esercitazioni, con esercizi passo passo 7
LEZIONI e RICEVIMENTO • Alcune lezioni si terranno in Laboratorio di Informatica Grande (vedi orario lezioni, settimanalmente) • Esercitazioni in Laboratorio: Lunedì o Martedì h. 14-16.30 Laboratorio grande • Ricevimento, nel II semestre: – prof. Lamma, lunedì h. 16.30-18 (altri giorni e orari su appuntamento) – Dip. di Ingegneria, III piano – tel. interno 4894 8
SITO DEL MODULO B http://www.unife.it/ing/informazione/fond-info-modulo-b Riferimento per: • materiale didattico (lucidi delle lezioni, esercizi, programmi svolti) • struttura e modalità d’esame • testi dei compiti d’esame e loro soluzione • Per lezioni che si svolgeranno in Laboratorio, si veda sito orario lezioni, settimanalmente 9
Esercitazioni • Attività di esercitazione assistita da tutor • Esercizi proposti a lezione e in laboratorio, risolti individualmente, con il supporto dei tutor • Due turni, almeno inizialmente, Lunedì o Martedì h. 14-16.30 • Iscriversi su studiare.unife.it in uno dei due turni (lunedì TURNO A e martedì TURNO B) • Si inizia questa settimana (TURNO B Grazie! martedì 5, TURNO A eccezionalmente il mercoledi' 6) 10
TUTOR in Laboratorio • I tutor sono studenti del Dottorato di Ricerca in Scienze dell’Ingegneria (ing. Damiano Azzolini e ing. Alessandro Bertagnon) Partecipate! 11
ESAME • In due parti (A e B separati), alla fine di ogni modulo • Voto finale = media delle prove parziali • Solo per chi ha già superato il parziale modulo A (vi esortiamo a superare la parte B entro il 2018!) • In un'unica parte (A+B), alla fine di tutto il corso 12
ESAME – parziale B [o A+B] • Una prova Java di programmazione in laboratorio 10 • Scrittura di un semplice programma in linguaggio Java • Occorre dimostrare di saper effettivamente produrre un programma eseguibile • Una prova C (in laboratorio) • Sintesi di un programma C che verte sulle strutture dati 15 (liste, alberi, tavole), compilato ed eseguito correttamente [A+B ha una funzione in più, solitamente su vettori che vale 20 punti su 31 della parte A, 10 punti su 30 la teoria scritta] • Una prova di teoria (scritta, ma al pc) 6 • Esercizi (teoria della parte B: analisi di complessità, risposte a domande aperte su OOP e Java, [+ teoria della ___ parte A se non già superato il parziale]) 31 13
Esame: organizzazione 45 min lab, Java + domanda OOP 2-2,5 h lab, C + domanda complessità 1h scritto, teoria modulo A E’ facoltativo richiedere un esame orale Non è possibile consultare appunti o testi durante le prove (sia scritte sia pratiche). 14
APPELLI D’ESAME • Date e liste d’esame pubblicate prossimamente sul portale: http://studiare.unife.it • 12 Giugno 2019 • 3 Luglio 2019 • 23 Luglio 2019 Ore 9 prova pratica in Lab. di Informatica, a seguire prova C (e scritto nel pomeriggio per teoria modulo A) • Possibile prova in itinere a fine Aprile …(29/4 ) 15
PREREQUISITI... • Modulo A (almeno studiato e assimilato se non superato il parziale …) studio Esercizi al • per affrontare e superare calcolatore l’esame è indispensabile fare costantemente esercizi al calcolatore ESERCITAZIONI IN LABORATORIO • Attività di esercitazione assistita • Attività di esercitazione libera 16
INFORMAZIONI UTILI • Orario di Ricevimento • Lunedì h. 16.30-18 c/o Dipartimento di Ingegneria, III piano (blu) ufficio 324. • Posta elettronica nome.cognome@unife.it • Telefono 0532-97-4894 • E inoltre... • Tutor in laboratorio: • Damiano Azzolini nome.cognome@unife.it • Alessandro Bertagnon nome.cognome@unife.it 17
Modulo A - recap • Architettura dei sistemi di elaborazione – Struttura generale di un calcolatore elettronico, macchina di Von Neumann • Software di base per sistemi di elaborazione: il sistema operativo – Il sistema operativo Window, il file system • Metodi per la risoluzione di un problema – Algoritmi e programmi • I linguaggi di programmazione e cenni alla loro evoluzione – Ambienti di programmazione: editor, debugger, compilatori ed interpreti; fasi di sviluppo di un programma 18
Modulo A – recap (2) • Il linguaggio C – Alfabeto e sintassi del C, Tipi di dato primitivi in C, Tipi di dato scalari e strutturati (array e struct) – Espressioni – Dichiarazione di costanti, variabili e loro tipo – Istruzioni di assegnamento e di ingresso/uscita, composte, condizionali e cicli – Funzioni e procedure, record di attivazione Ricorsione e ricorsione tail – Tecniche di passaggio dei parametri, Regole di visibilità e tempo di vita – Librerie standard – Gestione di file binari e di testo – Il preprocessore C, il linker – Progetti su più file – Argomenti del main 19
PROGRAMMA DEL MODULO B • Algoritmi e strutture di dati: – Cenni sulle tecniche per la gestione di tabelle, liste, alberi e loro realizzazione in C. Algoritmi di ricerca su tali strutture dati. Complessità degli algoritmi (applicata alle strutture dato presentate e agli algoritmi per esse). Algoritmi di ordinamento (cenni). • Approfondimenti sul linguaggio C: – Funzioni come parametri. Variabili statiche. Altri costrutti C: switch case. Programmazione “modulare” in C. File header e file implementazione. 20
PROGRAMMA DEL MODULO B • La programmazione a oggetti e il linguaggio Java: – Il concetto di componente software. Progettare per astrazioni. Incapsulamento e protezione. Classi ed ereditarietà. – Il linguaggio Java: classe, costruzione e distruzione di oggetti, oggetti semplici e oggetti composti. Package e Package di I/O. Eccezioni – Ereditarietà, Classi Astratte, Interfacce – Strutture dati in Java: la Java Collections Framework (JCF). 21
Testi e materiale consigliato • Per la parte sul linguaggio C: – Copie dei lucidi mostrati a lezione (sono scaricabili dal sito del corso) – A. Ciampolini, E. Lamma. Esercizi di programmazione – Linguaggio C, Progetto Leonardo, 1999. – C. Demetrescu, I. Finocchi, G.F. Italiano, Algoritmi e strutture dati, McGraw-Hill, 2008 – S. Ceri, D. Mandrioli, L. Sbattella, Informatica Programmazione, McGraw-Hill, 2° edizione (Cap 10) – Qualsiasi testo su C e strutture dati 22
Testi e materiale consigliato • Per la parte sul linguaggio Java, qualsiasi testo introduttivo a tale linguaggio, tra questi segnaliamo: – Cay S. di Horstmann, Concetti di informatica e fondamenti di Java - 4a ed., Apogeo, Milano. – H. M. Deitel, P. J. Deitel. Java Fondamenti di Programmazione, 3a ed., Apogeo, Milano. – J. Lewis,W. Loftus, Java - Fondamenti di progettazione software, Pearson, 2001. 23
Risorse per la programmazione • Ambienti di programmazione utilizzati nel corso disponibili in Laboratorio di Informatica: – MS VisualStudio – Eclipse 24
For foreign students • It is possible to give the exam in English, provided that I am asked 1 week in advance • If you have problems with Italian, you may consider buying a textbook for Java in your own language 25
Statistiche ultimi tre AA (al 31/9) 2015/2016 2016/2017 2017/2018 Coorte imm. Numer osità Numero Numero AD nei di cui con Tassi di sità AD di cui con Tassi di sità AD di cui con Tassi di Piani Esame superame nei Piani Esame superame nei Piani Esame superame di già nto (per di già nto (per di già nto (per Studio sostenuto AD) Studio sostenuto AD) Studio sostenuto AD) 2015/2016 144 74 51,4% 105 80 76,2% 96 81 84,4% 2016/2017 0 0 0,0% 136 66 48,5% 88 66 75,0% 2017/2018 0 0 0,0% 0 0 0,0% 174 89 51,1% • Obiettivo: arrivare al 60% almeno che ha ottenuto i 15 CFU dell'insegnamento • Prova in itinere a fine Aprile • 3 appelli a Giugno-Luglio, 1-2 a Settembre 26
Puoi anche leggere