scuola scuola delle scienze di base e applicate anno accademico

SCUOLA
SCUOLA DELLE SCIENZE DI BASE E APPLICATE
ANNO ACCADEMICO OFFERTA
2016/2017
ANNO ACCADEMICO EROGAZIONE
2017/2018
CORSO DILAUREA
INFORMATICA
INSEGNAMENTO
LINGUAGGI DI PROGRAMMAZIONE
TIPO DI ATTIVITA'
B
AMBITO
50166-Discipline Informatiche
CODICE INSEGNAMENTO
04758
SETTORI SCIENTIFICO-DISCIPLINARI
INF/01
DOCENTE RESPONSABILE
FICI GABRIELE
Ricercatore a tempo
determinato
Univ. di PALERMO
ALTRI DOCENTI
CFU
9
NUMERO DI ORE RISERVATE ALLO
STUDIO PERSONALE
153
NUMERO DI ORE RISERVATE ALLA
DIDATTICA ASSISTITA
72
PROPEDEUTICITA'
05880 - PROGRAMMAZIONE E LABORATORIO C.I.
16448 - METODI MATEMATICI PER L'INFORMATICA
ANNO DI CORSO
2
PERIODO DELLE LEZIONI
1° semestre
MODALITA' DI FREQUENZA
Facoltativa
TIPO DI VALUTAZIONE
Voto in trentesimi
ORARIO DI RICEVIMENTO DEGLI
STUDENTI
FICI GABRIELE
Lunedì
15:00
16:00
Stanza 202, Dipartimento di Matematica e Informatica, Via
Archirafi 34, Palermo
Mercoledì 15:00
16:00
Stanza 202, Dipartimento di Matematica e Informatica, Via
Archirafi 34, Palermo
DOCENTE: Prof. GABRIELE FICI
ORGANIZZAZIONE DELLA DIDATTICA
Lezioni frontali in laboratorio. Gli studenti avranno a disposizione dei computer
per seguire le lezioni in modo interattivo. La frequenza delle lezioni e'
fortemente raccomandata.
VALUTAZIONE DELL'APPRENDIMENTO Verso la meta' del corso e' prevista una prova in itinere (facoltativa) con le
stesse modalita' della prova d'esame (vedi oltre) che permette a chi la supera di
sostenere l'esame finale solo sulla seconda parte del corso. Il voto finale sara' la
media tra il voto ottenuto nella prova in itinere e il voto ottenuto all'esame finale.
La validita' del voto della prova in itinere termina con l'ultimo appello di esami
previsto per l'a.a. di riferimento. L'esame finale consiste in una prova scritta e
una prova orale. La prova scritta e' costituita da un test a risposta multipla di tipo
vero/falso (5 opzioni di risposta per ogni domanda, una sola risposta esatta),
costituito da 30 domande (12 per chi ha superato la prova in itinere). Ogni
risposta esatta vale un punto, ogni risposta sbagliata vale -0.25 punti, ogni
risposta non fornita vale 0 punti. Il voto dello scritto, in trentesimi, non costituisce
voto di partenza e non fa media. Esso serve solamente allo studente per
accertare di avere il livello sufficiente per sostenere la prova orale. La prova
orale consiste in un colloquio che verte ad approfondire le conoscenze acquisite
e la capacita' di scrivere codice corretto in Java.
Il punteggio massimo si ottiene se la verifica accerta il pieno possesso dei tre
seguenti aspetti: una capacita di giudizio in grado di rappresentare aspetti
approfonditi della materia; una spiccata capacita di rappresentare l'impatto dei
contenuti oggetto del corso all'interno della disciplina nel quale i contenuti si
iscrivono, ovvero di sapere applicare le metodologie esposte nel corso alle
soluzioni di problemi algoritmici legati alla programmazione orientata agli oggetti
in particolare, e alla programmazione in generale; infine, una padronanza nella
capacita di rappresentare idee e/o soluzioni innovative all'interno del contesto
professionale, tecnologico o socioculturale di riferimento. Per quanto attiene alla
verifica delle capacita espositive, si ha una valutazione minima nel caso in cui
l’esaminando dimostri si una proprieta di linguaggio adeguata al contesto
professionale di riferimento ma questa non sia sufficientemente articolata,
mentre la valutazione massima potra essere conseguita da chi dimostri piena
padronanza del linguaggio tecnico relativo ai linguaggi di programmazione.
RISULTATI DI APPRENDIMENTO ATTESI Conoscenza e capacita' di comprensione
Conoscenza delle macchine astratte. Conoscenza panoramica dei vari
paradigmi di programmazione. Conoscenza del paradigma orientato agli oggetti.
Conoscenza del linguaggio Java.
Capacita' di applicare conoscenza e comprensione
Capacita' di valutare le funzionalita' dei diversi paradigmi di programmazione.
Capacita' di scrivere un codice nel linguaggio di programmazione Java.
Autonomia di giudizio
Capacita' di valutare e comparare autonomamente le soluzioni di un problema
di limitata complessita.
Abilita' comunicative
Capacita' di organizzarsi in gruppi di lavoro. Capacita' di comunicare
efficacemente in forma orale, anche utilizzando termini in inglese.
Capacita' di apprendere
Capacita' di catalogare, schematizzare e rielaborare le nozioni acquisite.
OBIETTIVI FORMATIVI
Fornire le competenze di base, sia metodologiche che tecniche, sui linguaggi di
programmazione, in particolar modo sui linguaggi orientati agli oggetti.
PREREQUISITI
Conoscenze di programmazione in C, matematica discreta (array, liste,
relazioni, calcolo combinatorio), conoscenze di base di logica (calcolo
proposizionale, inferenza, tipi di dimostrazione, principio di induzione).
TESTI CONSIGLIATI
M. Gabbrielli, S. Martini, Linguaggi di programmazione, principi e paradigmi, Mc
GrawHill;
P. Principe, Java 7 Guida completa, Apogeo;
C. Horstmann, Concetti di informatica e fondamenti di Java, Apogeo;
C. Demetrescu, U. Ferraro Petrillo, I. Finocchi, G. F. Italiano, Progetto di
algoritmi e strutture dati in Java, Mc GrawHill;
R. Sedgewick, K. Wayne, Algorithms, 4th edition, Addison-Wesley.
PROGRAMMA
ORE
Lezioni
12
Concetti base sui linguaggi di programmazione: linguaggi interpretati e compilati, macchine astratte, regole di
visibilita, gestione della memoria, paradigmi di programmazione.
12
Paradigma di programmazione orientato agli oggetti: classi, attributi e metodi, incapsulamento.
PROGRAMMA
ORE
Lezioni
6
Caratteristiche di base del linguaggio Java: struttura delle classi, strutture di controllo del flusso, stringhe, array
e arraylist.
12
Caratteristiche OOP di Java: ereditarieta' e polimorfismo, overloading e overriding di metodi, static type
checking e dynamic late binding.
12
Caratteristiche avanzate di Java: classi astratte e interfacce, gestione dell'input output, gestione delle eccezioni.
12
Strutture dati in Java (liste, pile, code, alberi, visite).
6
Interfacce grafiche con Swing.