Obiettivi formativi del corso secondo i descrittori di Dublino:
Conoscenza e comprensione: Lo studente acquisirà una solida base di conoscenze sull'informatica come disciplina che analizza algoritmi, principi di funzionamento e organizzazione dei calcolatori, sistemi informativi e reti di computer, nonché le basi dei linguaggi di programmazione e dei fogli di calcolo.
Capacità di applicare conoscenza e comprensione: Lo studente sarà capace di comprendere la struttura e la logica di funzionamento dei moderni sistemi informativi, le metodologie statistiche, al calcolo delle probabilità, di progettare algoritmi per risolvere problemi di media complessità e di implementare questi algoritmi in un linguaggio di programmazione e/o con fogli di calcolo elettronico.
Autonomia di giudizio: Lo studente svilupperà la capacità di valutare l'idoneità degli strumenti informatici nell'ambito professionale e di scegliere strutture dati e metodologie adeguate per risolvere problemi di elaborazione dati.
Abilità comunicative: Lo studente saprà interfacciarsi con esperti informatici riguardo l'organizzazione di sistemi informativi moderni e sarà in grado di descrivere dettagliatamente le soluzioni adottate per problemi di elaborazione dati.
Capacità di apprendimento: Lo studente avrà le competenze per apprendere metodologie avanzate e nuovi linguaggi di programmazione, applicando con flessibilità i concetti di base acquisiti nel corso.
In linea con gli obiettivi dell’Agenda 2030 per lo sviluppo sostenibile delle Nazioni Unite (https://www.un.org/sustainabledevelopment/), il corso promuove competenze digitali e analitiche che contribuiscono all’innovazione responsabile, all’inclusione digitale, alla qualità dell’istruzione (Obiettivo 4), alla crescita economica sostenibile (Obiettivo 8) e alla costruzione di infrastrutture resilienti e sostenibili (Obiettivo 9).
Lezioni frontali alternate a esercitazioni al calcolatore da parte del docente. Il corso prevede anche esercitazioni pratiche svolte dagli studenti.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Competenze Minime
Rappresentazione dell'informazione: Sistemi di numerazione e algoritmi di conversione. Aritmetica intera e in virgola mobile.
Struttura di un elaboratore: Architettura di base di un calcolatore, memoria centrale, unità centrale di elaborazione e funzionamento elementare.
Sistema Operativo: Traduzione ed esecuzione di programmi. Ambiente di sviluppo. Differenze tra compilatori e interpreti. Funzioni principali di un sistema operativo.
Algoritmi e Programmi: Concetti fondamentali di elaborazione automatica dell'informazione. Algoritmi e loro rappresentazione. Linguaggi di programmazione. Progettazione e sviluppo di programmi.
Reti di Calcolatori e Internet: Concetti di base delle reti di calcolatori, reti locali (LAN), reti geografiche (WAN), Internet e principali applicazioni di rete.
Programmazione in linguaggi moderni: Sintassi e semantica di un linguaggio di programmazione. Strutture di controllo: assegnazione, selezione, iterazione. Tipi di dato semplici (numerici, caratteri) e strutturati (array, stringhe, strutture). Concetto di riferimento/puntatore. Funzioni e modularità. Ambito degli identificatori. Variabili locali, globali e statiche. Tecniche di passaggio dei parametri. Ricorsione. Gestione dei file: file di testo e file binari. Operazioni di accesso ai file.
Algoritmi di ricerca: Ricerca sequenziale e binaria.
Allocazione dinamica della memoria
Gestione di documenti di testo
Progettazione e gestione di fogli di calcolo
Introduzione alla progettazione e gestione di basi di dati
Materiale didattico
Possibili libri di testo sulla parte teorica:
- Informatica arte e mestiere ( S. Ceri, D. Mandrioli, L. Sbattella - McGrawHill )
- Introduzione ai sistemi informatici ( D. Sciuto, G. Buonanno, L. Mari, 4^ Edizione - McGrawHill )
- Fondamenti di informatica per ingegneri civili, ambientali e gestionali (Massimiliano Salfi, McGraw-Hill )
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Introduzione all’informatica | dispense docente; testi consigliati |
| 2 | La rappresentazione delle informazioni | dispense docente; testi consigliati |
| 3 | Algebra Booleana | dispense docente; testi consigliati |
| 4 | Architettura dei calcolatori | dispense docente; testi consigliati |
| 5 | Sistema Operativo e applicativi software | dispense docente; testi consigliati |
| 6 | Reti di calcolatori ed Internet | dispense docente; testi consigliati |
| 7 | Algoritmi e strutture dati | dispense docente; testi consigliati |
| 8 | I fogli di calcolo per metodologie statistiche e calcolo delle probabilità. | dispense docente; testi consigliati |
| 9 | Programmazione al calcolatore | dispense docente; testi consigliati |
L'esame di profitto include due parti:
La verifica dell'apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
La prova consiste nella realizzazione di un programma in grado di gestire dati (inseriti dagli utenti o gia' memorizzati su file). La prova potrà includere inoltre esercizi riguardanti: La creazione di una base di dati e l'esecuzione di semplici query; Progettazione e gestione di fogli di calcolo.
Di seguito una lista (non esaustiva) di possibili domande teoriche - scritto a risposta multipla o aperta.