N13734 Informatica

Scuola di Ingegneria Industriale
Scheda Insegnamento
Anno Accademico 2019/20 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 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 si potrà svolgere in presenza oppure a distanza. In entrambi i casi, nell’ambito delle attività didattiche collegate all’insegnamento, sarà organizzata una simulazione dell’esame per permettere a tutti i candidati di comprendere al meglio le modalità operative di svolgimento della prova e di ridurre il più possibile gli eventuali problemi operativi/organizzativi.

Esame completo svolto in presenza

L’esame si tiene 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.

Esame completo svolto a distanza

L’esame si compone di una parte scritta e di una parte orale.

  • La parte scritta si avvale di un PC per lo svolgimento della prova e di un dispositivo aggiuntivo (smartphone) per il collegamento via zoom e consiste di alcuni (indicativamente tra tre e cinque) esercizi pratici da risolvere utilizzando gli strumenti installati sui PC a disposizione del candidato (e del cui corretto funzionamento è responsabile il candidato stesso). Gli esercizi saranno proposti uno per volta tramite la piattafroma ecorsi.liuc.it e prevederanno la soluzione di semplici problemi di programmazione. Il candidato dovrà caricare volta per volta la soluzione di ogni esercizio (composta da uno o più file) entro il tempo previsto per il singolo esercizio. Non sarà possibile accettare file caricati oltre il limite di tempo stabilito.

  • La parte orale prevede una o più domande relative al programma dell’insegnamento e alla soluzione della parte scritta proposta dal candidato. Sono ammessi alla parte orale solo gli studenti che hanno superato la parte scritta.

Prove in itinere

Durante lo svolgimento del corso sono previste alcune prove in itinere:

  • la prima prova si concentra sulla parte teorica (codifica dell’informazione, architettura HW e SW dei sistemi di elaborazione, introduzione alle reti di calcolatori) e che viene svolta in forma scritta se in presenza oppure in forma orale se a distanza;

  • le prove successive (che possono essere da una a tre) si concentrano sulla parte di programmazione e vengono svolte secondo le modalità proprie delle’esame completo;

Il superamento di tutte le prove in itinere sostituisce l’esame finale. La valutazione complessiva è pari a una combinazione (normalmente una media pesata) degli esiti delle prove in itinere.

Il calendario delle prove in itinere viene definito in corso d’anno. Dopo l’utlima prova in itinere e prima del primo appello d’esame completo si tiene una prova di recupero in cui è possibile recuperare una qualsiasi combinazione delle prove in itinere.

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