Insegnamenti

 

60/64/175 - ELEMENTI DI INFORMATICA

Anno Accademico ​2017/2018

Docente
ROBERTO ​TONELLI (Tit.)
Periodo
Secondo Semestre​
Modalità d'Erogazione
Convenzionale​
Lingua Insegnamento




Informazioni aggiuntive

CorsoPercorsoCFUDurata(h)
[60/64] ​ ​MATEMATICA [64/00 - Ord. 2017] ​ ​PERCORSO COMUNE864
Obiettivi

CONOSCENZA E CAPACITÀ DI COMPRENSIONE

Il corso di Elementi di Informatica fornisce agli studenti le basi per l'utilizzo dei moderni calcolatori, per la comprensione del loro funzionamento ed organizzazione, e le basi della programmazione. Le principali conoscenze trasmesse saranno le seguenti. Conoscere la rappresentazione nel calcolatore di numeri interi, razionali, reali e complessi, dei dati alfanumerici e di altre tipologie di dati. Conoscere la struttura ed architettura degli elaboratori e di Internet e come i dati vengono memorizzati e trasmessi. Lo studente acquisirà le conoscenze di base dell'ambiente linux/unix. Lo studente apprenderà le tecniche di base della programmazione in c.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE (Abilità)

Il corso è fortemente orientato verso l'applicazione delle tecniche illustrate. Gli studenti dovranno risolvere esercizi mediante l'uso di computer, conoscere le basi per la gestione di Unix e le basi della programmazione in C, utilizzare algoritmi comuni.

AUTONOMIA DI GIUDIZIO

Gli esercizi sono pensati in modo da stimolare lo sviluppo di capacità di giudizio autonomo. Gli studenti saranno in grado di scegliere gli strumenti appropriati secondo il tipo di problema.

ABILITÀ COMUNICATIVE

Gli studenti apprenderanno le basi del linguaggio tecnico proprio dell'informatica.

CAPACITÀ DI APPRENDERE

Gli studenti saranno in grado di affrontare i successivi corsi che richiedano competenze informatiche. Dovranno imparare a risolvere autonomamente esercizi e problemi di programmazione elementare. Avranno la capacità di saper leggere e comprendere un programma elementare scritto in C. Conosceranno i rudimenti del funzionamento delle BlockChain.

Prerequisiti

-E’ richiesta la conoscenza a livello utente di un sistema operativo.
-E’ richiesta una buona preparazione logico matematica a livello di scuole medie superiori.
-Conoscenza delle operazioni elementari sui numeri

Contenuti

-Architettura di base del computer, memorie e circuiti logici, algoritmo, sistema operativo,kernel, linuaggio di programmazione, Unix, Linux. Logica Booleana e porte logiche. Struttura della RAM. Hard disk. Memorie permanenti e volatili.

-Ambiente linux- directory structure, terminal, applicazioni. Commandi di base di linux : man, cd, pwd, ls, cp, mv, rm, history, clear cat, more, less, head, tail, grep. Le opzioni aggiuntive dei commandi. Utilizzo del pipe.

-Sistema di numerazione: decimale, binario, esadecimale. Conversione e aritmetica. Codifica dell'informazione nel calcolatore. Caratteri, interi, reali.

-Struttura di un programma C. Variabili: Tipi, dichiarazione, inizializazione. Costanti. Operatori: Assegnamento (=), operatori aritmetici ( +, -, *, /, % ), operatori di assegnamento composti ( +=, -=, *=, /=, %=), incremento e decremento (==, --), operatori relazionali, operatori logici ( !, &&, || ), operatore condizionale ( ? - condizione ? risultato1 : risultato2). Comunicazione da console: printf, scanf, cout, cin. Type-specifier, escape sequences. Strutture di controllo: Strutture condizionali: if - else, l'istruzione di scelta: switch - case, l'istruzione break. Istruzioni iterative o cicli: for, while, do-while. Array - singola dimensione. Inizializazione, dichiarazione, accesso ai valori di un array. Funzioni - dichiarazione, parametri, scopo delle variabili, parametri passati per valore e per riferimento, ricorrenza, prototipi di funzioni. Puntatori - introduzione, dichiarazione, operatori - '&', '*'; puntatori e array. File I/O - aprire e chiudere un file, scrittura e lettura, fopen, fclose, fprintf, fscanf.

-Basi della crittografia. Crittografia asimmetrica, crittografia a chiave pubblica. Hashing. Funzionamento delle BlockChain.

Metodi Didattici

Il corso prevede un totale di 64 ore suddivise in lezioni frontali ed esercizi con sessioni teoriche e sessioni pratiche ed in esercitazioni con lezioni di laboratorio su PC con spiegazione ed esercitazione annessa.

A inizio corso viene definito il calendario delle esercitazioni di laboratorio la cui frequenza e' importante ai fini dell'apprendimento delle abilita' necessarie per il superamento del corso.

Verifica dell'apprendimento

L'obiettivo della prova d'esame consiste nel verificare il livello di raggiungimento degli obiettivi formativi precedentemente indicati. L'esame consiste in una prova scritta della durata di 2 ore e una di laboratorio di utilizzo del calcolatore, dell'ambiente linux/unix e di programmazione di una durata prevista tra le 2 e 3 ore. Eventualmente anche la prova scritta verra' effettuata utilizzando i computer in laboratorio. Per accedere alla seconda prova gli studenti dovranno superare la prima con la votazione minima di 16/30. Il voto finale sara' la media dei voti delle due prove, che non potra' essere inferiore a 18, integrata eventualmente da un colloqui orale, in accordo ai criteri riportati sotto.

Il voto finale, eventualmente dopo colloquio orale, è assegnato seguendo il seguente metodo:

Insufficiente: lo studente dimostra di non aver compreso molte delle costruzioni fondamentali della disciplina.

18-24: lo studente conosce parte degli argomenti chiesti durante l’esame; dimostra di aver capito e assimilato sufficientemente gli argomenti. Riesce parzialmente a completare i task nelle prove di laboratorio.

25-28: lo studente conosce tutti gli argomenti chiesti durante l’esame; dimostra di aver capito e assimilato bene gli argomenti; utilizza in modo corretto il linguaggio della disciplina. Completa i taks assegnati.

29-30: lo studente conosce molto bene tutti gli argomenti chiesti durante l’esame; utilizza in modo corretto il linguaggio; è in grado di spiegare le nozioni apprese, risolve i task con completezza.

30 e lode: lo studente conosce perfettamente tutti gli argomenti chiesti durante l’esame; dimostra di aver capito e assimilato in profondità tutti gli argomenti; utilizza in modo corretto il linguaggio della disciplina; è in grado di spiegare le nozioni apprese a risolve brillantemente i task asseganti.

Testi

Durante il corso verra' fornito del materiale didattico, scaricabile dal sito del corso, sotto forma di file pdf
o ppt, o file in linguaggio C.

Testi di riferimento sono:

-Informatica: arte e mestiere 3/ed Dino Mandrioli, Stefano Ceri, Licia Sbattella, Paolo Cremonesi, Gianpaolo Cugola, McGraw-Hill

-Architettura dei computer Un approccio Strutturato
Andrew S. Tanenbaum UTET (cap 1 e 2).

-Schaum's: Programmare in C, Gottfried McGraw Hill;

Altre Informazioni

Slides delle lezioni e testi di esame verranno messi a disposizione nel sito docente.

L'orario di ricevimento verra' definito insieme al calendario delle lezioni a gennaio/febbraio 2018. In linea di massima il ricevimento verra' concordato via mail con gli studenti.

credits unica.it | accessibilità Università degli Studi di Cagliari
C.F.: 80019600925 - P.I.: 00443370929
note legali | privacy

Nascondi la toolbar