Insegnamenti

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



Informazioni aggiuntive

Corso Percorso CFU Durata(h)
[70/75]  INGEGNERIA BIOMEDICA [75/00 - Ord. 2017]  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

Obiettivi
L'obiettivo principale del corso di Elementi di Informatica è quello di fornire allo studente gli strumenti necessari a comprendere i principi fondamentali dell’informatica e della programmazione in C.

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 base di matematica e algebra. 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: 48 ore.
Esercizi di linguaggio C: 12 ore.

Verifica dell'apprendimento

L'esame è articolato in una prova comprendente sia la parte di teoria che la parte di programmazione con linguaggio C.
La prova è effettuata 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. La prova orale sarà obbligatoria qualora lo studente riporti una votazione compresa tra 16 e 20 trentesimi. 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

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:
Impostazioni cookie