Seleziona l'Anno Accademico:     2016/2017 2017/2018 2018/2019 2019/2020 2020/2021 2021/2022
Docente
MICHELE MARCHESI (Tit.)
Periodo
Secondo Semestre 
Modalità d'Erogazione
Teledidattica 
Lingua Insegnamento
 



Informazioni aggiuntive

Corso Percorso CFU Durata(h)
[70/89]  INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA [89/40 - Ord. 2016]  ELETTRICA ON LINE 6 36
[70/89]  INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA [89/50 - Ord. 2016]  ELETTRONICA ON LINE 6 36
[70/89]  INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA [89/60 - Ord. 2016]  INFORMATICA ON LINE 6 36

Obiettivi

Conoscenza e capacità di comprensione: lo studente conoscerà i fondamenti dell'informatica come scienza che studia la codifica delle informazioni, gli algoritmi, i principi di funzionamento di sistemi informativi, basi di dati, reti di calcolatori, e i fondamenti dei linguaggi di programmazione.

Capacità di applicare la conoscenza e capacità di comprensione: lo studente sarà in grado di comprendere l'organizzazione e la logica del funzionamento dei moderni sistemi informativi, di sviluppare algoritmi per la soluzione di problemi di media complessità e di codificarli in linguaggio C.
Autonomia di giudizio: lo studente saprà valutare sia l'adeguatezza di strumenti informatici in ambito professionale, che le strutture dati e gli approcci al loro trattamento per la soluzione di problemi di elaborazione dati.
Abilità comunicative: lo studente sarà in grado di dialogare con specialisti informatici sull'organizzazione elementare di un moderno sistema informativo, e descrivere il procedimento risolutivo di problemi di elaborazione di dati.
Capacità di apprendere autonomamente: lo studente sarà in grado di apprendere metodologie avanzate e nuovi linguaggi di programmazione, applicando con flessibilità i concetti di base forniti nel corso.

Prerequisiti

Conoscenze di matematica e algebra elementari. Dimestichezza con l'uso del calcolatore (uso del file system, navigazione in Internet, uso elementare di word processor e programmi di visualizzazione formati pdf, .ppt e simili).

Contenuti

Rappresentazione Binaria dei Numeri: naturali, interi, frazionari, reali. Codifica dei caratteri. Codifica delle immagini, dei suoni e dei video. (9 ore)
Concetto di algoritmo, linguaggi, sistemi informatici. Applicazioni dell'informatica e sue aree disciplinari. Codifica degli algoritmi. (4 ore)
Il nucleo del linguaggio C, primi esempi di C. I dati strutturati in C, costruzione dei programmi in C. (2 ore)
Struttura dei programmi C: dichiarazioni, variabili, costanti, istruzioni (3 ore)
Classificazione dei tipi di dato. Tipi semplici predefiniti: int, float, double, char. Tipi semplici definiti dall'utente: ridefinizioni, enumerazioni. Tipi strutturati: vettori, struct, puntatori. Vettori, puntatori, aritmetica dei puntatori. Espressioni e problematiche della tipizzazione. (6 ore)
Istruzioni di selezione: if-else, switch. Istruzioni cicliche: for, do-while. Istruzioni di salto: goto, break, continue. (4 ore)
Le funzioni: definizione, chiamata, esecuzione. Passaggio dei parametri. Uso pratico dei sottoprogrammi. Funzioni di sistema, header, funzione scanf. (4 ore)
La gestione della memoria dinamica: allocazione e de-allocazione di memoria in C (2 ore)
Operazioni su file in C. Lettura e scrittura su e da file (3 ore)
Programmazione Tipi di dato astratto e programmazione a oggetti (2 ore)
Archivi e basi di dati: Organizzazione degli archivi. Elementi di basi di dati: i DB relazionali. Elementi di linguaggio SQL. (8 ore)
Reti di calcolatori: Mezzi di trasmissione dei dati. Reti geografiche e locali, topologia delle reti. Struttura di messaggi e pacchetti, protocolli di comunicazione. Architetture e apparati di rete, sistemi distribuiti. (3 ore)
Storia di Internet. I protocolli IP, TCP, UDP; il DNS. Il Word Wide Web, l'HTML, i motori di ricerca. Servizi di posta, audio e video. Cenni su Grid e Cloud computing. (5 ore)
Introduzione alla sicurezza informatica: concetti base sulla sicurezza informatica. Attacchi informatici. Cenni di autenticazione e crittografia. (5 ore)

Metodi Didattici

Lezioni frontali di teoria: 34 ore.
Lezioni frontali ed esercitazioni di linguaggio C: 26 ore.
Laboratorio di linguaggio C con tutor, extra orario di lezione: 40 ore.

Verifica dell'apprendimento

L'esame è articolato in due prove: una di teoria e una di linguaggio C, sostenibili anche separatamente.
Una volta superata una prova, l'altra deve essere superata entro 18 mesi. Il voto finale è ottenuto facendo la media dei voti delle due prove.
La prova di teoria è effettuata in genere in forma scritta, tramite domande a risposta aperta, a risposta multipla, risoluzione di esercizi di conversione tra formati binario, ottale, esadecimale, decimale, incluso il formato IEEE 754, scrittura di codice SQL per definire tabelle ed effettuare semplici “query” su di esse. Il docente si riserva l'esame in forma orale, in caso di un numero ridotto di iscrizioni all'appello.
La prova di linguaggio C consiste nella scrittura di codice C, e/o nell'interpretazione di programmi C dati, e/o nella risposta a quesiti sul linguaggio C.
Entrambe le prove sono valutate con un punteggio massimo di 33. In caso di media maggiore o uguale a 32, viene data la lode. In caso di media uguale a 31, viene dato 30.

Testi

Dennis M. Ritchie, Brian W. Kernighan, “Il linguaggio C - Principi di programmazione e manuale di riferimento”, Pearson, 2004 (ISBN: 9788871922003).

Libri di consultazione: D. Mandrioli et al., I"nformatica: arte e mestiere", Mc. Graw Hill Italia, Milano

Altre Informazioni

Gli strumenti a supporto della didattica si trovano sul sito del docente: http://people.unica.it/michelemarchesi/
Tra essi si trovano:
- copia dei lucidi mostrati a lezione
- esercitazioni di conversione tra numeri in diversi formati con relativa soluzione
- esercitazioni C con relativa soluzione
- esempi di testi d'esame con soluzioni
Ulteriore materiale e avvisi si trovano nel sito:
http://agilegroup.eu

Questionario e social

Condividi su: