N13734 Informatica

Scuola di Ingegneria Industriale
Scheda Insegnamento
Anno Accademico 2019/20 Annuale

foto
Docente TitolareGiacomo Buonanno
E-mailgbuonanno@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 un linguaggio di programmazione di alto livello (per esempio Java, Python, JavaScript, C, ...) 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:
    • introduzione alla programmazione;
    • istruzioni di controllo (decisioni);
    • istruzioni di controllo (cicli);
    • tipi di dati;
    • utilizzo combinato di cicli e collezioni.
  4. Modellizzazione e programmazione a oggetti:
    • introduzione alla modellizzazione ad oggetti;
    • introduzione agli strumenti per la modellizzazione
    • 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.

Regole di Comportamento

Ci si aspetta da parte di tutti gli studenti una presenza attiva e critica, ma sempre educata soprattutto nei confronti dei colleghi.

Durante le lezioni pratiche (che saranno svolte nelle aule informatizzate) gli studenti sono invitati a focalizzarsi sulla soluzione dei problemi proposti.

La presenza in aula di studenti estranei al corso deve essere autorizzata dal docente.

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 è parzialmente “open book”: è consentito l’uso del materiale distribuito a supporto delle lezioni durante l'annoì.

Durante lo svolgimento del corso sono previste quattro 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 alla programmazione;
  • la terza prova si concentra sulla progettazione e successiva programmazione di classi di oggetti;
  • la quarta e ultima prova si concentra sulla gestione delle eccezioni e sulla 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 di programmazione - Cicli

Letture

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

Argomenti

Linguaggio di programmazione - Metodi

Letture

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

Argomenti

Linguaggio di programmazione - Array

Letture

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

Argomenti

Linguaggio di programmazione - Array2D

Letture

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

Argomenti

Linguaggio di programmazione - Soluzione problemi con cicli e array

Letture

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

Argomenti

Linguaggio di programmazione - Introduzione agli oggetti

Letture

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

Argomenti

Linguaggio di programmazione - Oggetti e classi

Letture

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

Argomenti

Linguaggio di programmazione - ArrayList e collezioni

Letture

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

Argomenti

Linguaggio di programmazione - Progettazione Classi [1/2]

Letture

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

Argomenti

Linguaggio di programmazione - Progettazione Classi [2/2]

Letture

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

Argomenti

Linguaggio di programmazione - Ereditarietà e Polimorfismo

Letture

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

Argomenti

Linguaggio di programmazione - Ereditarietà e interfacce

Letture

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

Argomenti

Eventuale lezione aggiuntiva su Eccezioni e File

Letture

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

Argomenti

Introduzione alla programmazione [1/2]

Letture

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

Argomenti

Introduzione alla programmazione [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: L. Colombo

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