N13734 Informatica

Scuola di Ingegneria Industriale
Scheda Insegnamento
Anno Accademico 2018/19 Annuale

foto
Docente TitolareGiacomo Buonanno
E-mailbuonanno@liuc.it
UfficioEdificio Torre Secondo Piano
Telefono0331 572323

Obiettivi di apprendimento attesi

Alla fine dell’insegnamento si presume che l’allievo

  • conosca i principi generali relativi all’elaborazione e alla comunicazione dell’informazione;
  • comprenda l’architettura e il funzionamento di un generico sistema di elaborazione delle informazioni sia per quello che riguarda la componente hardware che per quella software di base (sistema operativo);
  • conosca le basi dell’architettura hardware e software dei sistemi informatici nella prospettiva sia dell’elaborazione (i calcolatori come esecutori di programmi) sia della comunicazione (le reti di calcolatori e Internet);
  • sappia analizzare e descrivere le caratteristiche generali di un sistema informatico;
  • descriva in termini algoritmici (utilizzando eventualmente un apposito linguaggio formale) la procedura di soluzione di un problema;
  • sappia modellizzare i problemi e, soprattutto, le soluzioni tramite una rappresentazione ad oggetti, proprietà e metodi;
  • sappia scrivere programmi di limitata complessità, essendo in grado identificare la soluzione di un problema e di formalizzarla mediante un linguaggio di programmazione.

Risultati di apprendimento attesi

Alla fine dell’insegnamento si presume che l’allievo

  • conosca il concetto di informazione e di elaborazione dell’informazione (che sia automatica o meno);
  • conosca l’architettura e comprenda il funzionamento di un calcolatore sia per quello che riguarda la componente hardware (con riferimento specifico agli elementi della cosiddetta macchina di Von Neumann) che per quella software di base (con riferimento specifico ai principali moduli di un generico sistema operativo);
  • conosca il linguaggio di programmazione Java a tanto da poter scrivere o modificare programmi di complessità medio/bassa sia dal punto di vista dell’architettura delle classi che della dimensione algoritmica.

Contenuti dell’insegnamento

L’insegnamento è articolato nelle seguenti parti:

  1. Informazione e sua codifica:
    • introduzione culturale al concetto di informazione;
    • informazione, informatica e telecomunicazioni;
    • codifica e decodifica (informazione e supporto);
    • codifica binaria (cenni);
    • analogico vs digitale.
  2. Architettura HW e SW dei sistemi di elaborazione delle informazioni:
    • il calcolatore: modello concettuale;
    • gli elementi della macchina di von Neumann: CPU, memoria, interfacce di I/O, bus di interconnessione;
    • Central Processing Unit;
    • memoria di lavoro e di massa;
    • principali periferiche di I/O;
    • il Sistema Operativo e le sue funzioni principali (gestione CPU, memoria, I/O, file, …).
  3. Programmazione in Java:
    • introduzione alla programmazione in Java;
    • istruzioni di controllo (decisioni);
    • istruzioni di controllo (cicli);
    • tipi di dati;
    • utilizzo combinato di cicli e collezioni.
  4. Modellizzazione a oggetti e introduzione al linguaggio di programmazione Java per la modellizzazione:
    • introduzione alla modellizzazione ad oggetti;
    • introduzione agli strumenti per la modellizzazione (BlueJ, eclipse, …)
    • introduzione a classi e oggetti;
    • ereditarietà e polimorfismo;
    • gestione delle eccezioni.

Metodologia Didattica

Le lezioni introduttive e quelle iniziali sull’informazione e la sua codifica e sull’architettura HW/SW saranno tenute secondo l’impostazione tradizionale delle lezioni frontali.

Le lezioni di modellistica e programmazione saranno basate invece sulla proposta di problemi da risolvere con il supporto degli strumenti disponibili nelle aule informatizzate. I problemi saranno affrontati in collaborazione tra studenti (eventualmente raccolti in gruppi) e docenti e la didattica sarà caratterizzata da un’impostazione più pratica, orientata all’effettivo utilizzo delle metodologie di modellizzazione e di problem solving più che alla loro semplice descrizione. La frequenza degli studenti a queste lezioni diventa quindi elemento fondamentale per garantirne l’efficacia.

Modalità con cui viene accertata l’effettiva acquisizione dei risultati di apprendimento.

L’esame completo si svolge nelle aule informatizzate (laboratori PC) e consiste di alcune (normalmente due) domande aperte cui rispondere per iscritto seguite da alcuni (normalmente tra tre e cinque) esercizi pratici da risolvere utilizzando gli strumenti installati sui PC messi a disposizione degli studenti.

L’organizzazione è “open book” è cioè consentito l’uso di libri, appunti, materiali vari.

Durante lo svolgimento del corso sono previste tre prove in itinere il cui superamento sostituisce l’esame finale:

  • la prima prova si concentra sulla parte teorica (codifica informazione e architettura HW e SW dei sistemi di elaborazione)
  • la seconda prova riguarda l’introduzione al linguaggio di programmazione Java;
  • la terza e ultima prova si concentra sulla programmaziona in Java con particolare riferimento alla modellizzazione a oggetti.

Syllabus

Lezione 101
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Concetti introduttivi - Presentazione del corso
Introduzione - macchina di von Neumann

Letture

Lezione 102
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Codifica Informazione - Informazione e sua rappresentazione (1/3)

Letture

Lezione 103
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Codifica Informazione - Informazione e sua rappresentazione (2/3)

Letture

Lezione 104
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

 Codifica Informazione - Informazione e sua rappresentazione (3/3)

Letture

Lezione 105
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Algebra booleana

Letture

Lezione 106
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Architettura HW (Von Neumann - CPU - Memoria - I/O) [1/2]

Letture

Lezione 107
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Architettura HW (Von Neumann - CPU - Memoria - I/O) [2/2]

Letture

Lezione 108
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Architettura SW (SO - Macchine virtuali e gestione risorse)

Letture

Lezione 109
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Cicli

Letture

Lezione 110
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Metodi

Letture

Lezione 111
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Array

Letture

Lezione 112
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Array2D

Letture

Lezione 113
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Soluzione problemi con cicli e array

Letture

Lezione 114
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Introduzione agli oggetti

Letture

Lezione 115
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Oggetti e classi

Letture

Lezione 116
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - ArrayList e collezioni

Letture

Lezione 117
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Progettazione Classi [1/2]

Letture

Lezione 118
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Progettazione Classi [2/2]

Letture

Lezione 119
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Ereditarietà e Polimorfismo

Letture

Lezione 120
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Linguaggio Java - Ereditarietà e interfacce

Letture

Lezione 121
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Eventuale lezione aggiuntiva su: Linguaggio Java - Eccezioni e File

Letture

Lezione 201
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Introduzione alla programmazione in Java [1/2]

Letture

Lezione 202
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Introduzione alla programmazione in Java [2/2]

Letture

Lezione 203
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Istruzioni di controllo - Decisioni [1/2]

Letture

Lezione 204
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Istruzioni di controllo - Decisioni [2/2]

Letture

Lezione 205
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Istruzioni di Controllo - Cicli [1/2]

Letture

Lezione 206
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Istruzioni di Controllo - Cicli [2/2]

Letture

Lezione 207
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Cicli & Array [1/4]

Letture

Lezione 208
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Cicli & Array [2/4]

Letture

Lezione 209
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Cicli & Array [3/4]

Letture

Lezione 210
Ore di lezione: 2
Docente: G. Buonanno

Argomenti

Cicli & Array [4/4]

Letture

Lezione 211
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Modellizzazione a oggetti

Letture

Lezione 212
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Progettazione e realizzazione di classi [1/2]

Letture

Lezione 213
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Progettazione e realizzazione di classi [2/2]

Letture

Lezione 214
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Cicli & Collezioni [1/2]

Letture

Lezione 215
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Cicli & Collezioni [2/2]

Letture

Lezione 216
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Ereditarietà [1/2]

Letture

Lezione 217
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Ereditarietà [2/2]

Letture

Lezione 218
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Polimorfismo [1/2]

Letture

Lezione 219
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Polimorfismo [2/2]

Letture

Lezione 220
Ore di lezione: 2
Docente: L. Colombo

Argomenti

Gestione eccezioni e file

Letture

Lezione 301
Ore di lezione: 4
Docente: G. Buonanno

Argomenti

Esercizi di preparazione alla seconda prova in itinere.

Letture

Lezione 302
Ore di lezione: 4
Docente: L. Colombo

Argomenti

Esercizi di preparazione alla terza prova in itinere.

Letture

Lezione 303
Ore di lezione: 4
Docente: L. Colombo

Argomenti

Esercizi di preparazione alla quarta prova in itinere.

Letture


Per accedere al syllabus completo entrate nel selfservice studenti