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



Informazioni aggiuntive

Corso Percorso CFU Durata(h)
[70/75]  INGEGNERIA BIOMEDICA [75/00 - Ord. 2014]  PERCORSO COMUNE 6 60
[70/89]  INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA [89/10 - Ord. 2016]  ELETTRICA 6 60
[70/89]  INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA [89/20 - Ord. 2016]  ELETTRONICA 6 60
[70/89]  INGEGNERIA ELETTRICA, ELETTRONICA E INFORMATICA [89/30 - Ord. 2016]  INFORMATICA 6 60

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.

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. Concetto di algoritmo, linguaggi, sistemi informatici.
Applicazioni dell'informatica e sue aree disciplinari. Codifica degli
algoritmi. Il nucleo del linguaggio C, primi esempi di C. I dati
strutturati in C, costruzione dei programmi in C. Struttura dei
programmi C: dichiarazioni, variabili, costanti, istruzioni
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. Istruzioni di selezione: if-else, switch. Istruzioni
cicliche: for, do-while. Istruzioni di salto: goto, break, continue. Le
funzioni: definizione, chiamata, esecuzione. Passaggio dei parametri.
Uso pratico dei sottoprogrammi. Funzioni di sistema, header, funzione
scanf. La gestione della memoria dinamica: allocazione e
de-allocazione di memoria in C Operazioni su file in C. Lettura e
scrittura su e da file. Tipi di dato astratto.
Nozioni di base sull'organizzazione di un calcolatore. Nozioni di base sull'organizzazione di un Sistema Operativo.
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. 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.
Introduzione alla sicurezza informatica: concetti base sulla sicurezza
informatica. Attacchi informatici. Cenni di autenticazione e
crittografia.

Metodi Didattici

Lezioni frontali: 34 ore.
Lezioni frontali con esercitazioni di linguaggio C: 26 ore.

Metodi Didattici

Lezioni frontali: 34 ore.
Lezioni frontali con esercitazioni di linguaggio C: 26 ore.

Verifica dell'apprendimento

L'esame è articolato in una prova comprendente la teoria e linguaggio C.
La prova per la 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. La
parte 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. Il docente si riserva l'esame in forma orale, in caso
di un numero ridotto di iscrizioni all'appello.

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., "Informatica: arte e mestiere", Mc. Graw Hill Italia, Milano
E. Burattini et al., Che C serve? APOGEO
J. Glenn Brookshear, Fondamenti di Informatica e Programmazione in C. Pearson

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/matteofraschini/ e sulla piattaforma Moodle di Ateneo
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

Altre Informazioni

Gli strumenti a supporto della didattica si trovano sul sito del docente http://people.unica.it/matteofraschini/ e sulla piattaforma Moodle di Ateneo
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

Questionario e social

Condividi su: