.

Informatica

Benvenuto nella home page del corso di Informatica per Biotecnologie.


Docente:
Roberto Segala
Dip. di Informatica
Tel. 045 802 7997
Orario delle lezioni:
Vedi sito ufficiale di Facoltà

 


OBIETTIVI FORMATIVI

Il corso si propone di introdurre gli elementi fondamentali dell'Informatica e di fornire i primi rudimenti di programmazione. Al termine del corso lo studente conosce i concetti di algoritmo, programma, informazione, conosce a livello elementare la struttura hardware di un calcolatore, la struttura di un sistema operativo, la struttura di una rete, è in grado di leggere semplici programi scritti in C e C++, ed è in grado di scrivere semplici programmi nei linguaggi C e C++. Nel corso non viene trattata la programmazione ad oggetti.

ATTIVITÀ FORMATIVE

Il corso viene svolto in 32 ore di lezione frontale suddivise in 16 lezioni di due ore ciascuna, e 24 ore di laboratorio suddivise in 10 lezioni di 3 ore ciascuna. Le lezioni di teoria sono volutamente dense e più ricche di contenuti rispetto a quanto dichiarato negli obiettivi formativi. Questo al fine di affrontare gli argomenti fondamentali con il più alto numero di esempi possibile e di fornire agli studenti interessati gli strumenti necessari per ulteriori approfondimenti personali. Le lezioni di laboratorio consistono nella risoluzione di semplici esercizi di programmazione al calcolatore.

PROGRAMMA DEL CORSO

  • Algoritmi e Programmi: Concetti di sapere ed essere in grado di risolvere un problema, interpretazione di un linguaggio, problema semplice e complesso, scomposizione di un problema in sottoproblemi, algoritmo. Proprietà di un esecutore. Diagrammi di flusso.

  • Linguaggi di programmazione: Sintassi e semantica, categorie di istruzioni (input/output, aritmetico/logiche, controllo), operatori, costrutti principali (if-then-else, while, repeat), variabili e tipi di dati elementari, vettori, record, sottoprogrammi.

  • Elementi di teoria dell'informazione: Condizioni di esistenza dell'informazione, concetto di codice, informazione sintattica semantica e pragmatica, misura dell'informazione e concetto di bit, byte e suoi multipli, definizione di entropia, codifica binaria dei dati, rappresentazione di numeri in base diversa da 10.

  • Struttura hardware di un calcolatore: Macchina di Von Neumannm struttura della CPU (diagramma interno a blocchi, esecuzione di una istruzione con fasi di fetch ed execute), memoria (struttura, memoria centrale e di massa, memoria elettronica, ottica, magnetica, magneto-ottica,flash, confronto in termini di velocità di accesso, capacità, volatilità, costo per bit, memorie ad accesso sequenziale, casuale, misto, associativo, struttura a blocchi di una memoria elettronica, gerarchia di memorie), dispositivi di Input/Output (hard disk, CD, CD-R, tastiera, video, mouse, stampante, interfacciamento di dispositivi di I/O, meccanismo delle interruzioni).

  • Sistemi operativi: Obiettivi, funzioni svolte, e componenti principali. Gestione dei processi (code di pronto, esecuzione, attesa), gestione della memoria (cache, memoria virtuale), gestione delle periferiche (interazione con periferiche eterogenee, uso dei driver), gestione del file system (struttura logica di un file system).

  • Reti di calcolatori: Reti locali e geografiche, collegamenti a commutazione di circuito e commutazione di pacchetto, trasmissioni ISDN, DSL, ATM, funzione di un modem, topologia (stella, anello, bus) e comunicazione (token-ring, CSMA/CD) in una rete locale, componenti di una rete (hub, swithc, bridge, router, gateway), indirizzamento IP, indirizzi simbolici, funzione del DNS.

LIBRI DI TESTO

  • Introduzione ai Sistemi Informatici (seconda edizione), di D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari, Edizioni McGraw Hill.

PIANO DELLE LEZIONI

Lezione 1: Introduzione al corso. Cenni alla storia dell'Informatica
Riferimenti: Capitolo 1.

Lezione 2: Il concetto di algoritmo. Proprietà di un esecutore.
Riferimenti: Capitolo 2 (2.1).

Lezione 3: Struttura di un linguaggio di programmazione.
Riferimenti: Capitolo 2 (2.2.1, 2.2.2, 2.2.4).

Lezione 4: Tipi di dati primitivi, array, record.
Riferimenti: Capitolo 2 (2.2.3, 2.2.4).

Lezione 5: Elementi di teoria dell'informazione.
Riferimenti: Capitolo 3 (3.1).

Lezione 6: Rappresentazione dei dati in un calcolatore.
Riferimenti: Capitolo 3 (3.2).

Lezione 7: Informazione analogica e digitale.
Riferimenti: Capitolo 3 (3.3).

Lezione 8: Architettura di un elaboratore, macchina di Von Neumann.
Riferimenti: Capitolo 4 (4.1).

Lezione 9: Struttura e funzionamento di una CPU.
Riferimenti: Capitolo 4 (4.2).

Lezione 10: Struttura e classificazione delle memorie.
Riferimenti: Capitolo 4 (4.3, 4.4, 4.5).

Lezione 11: Struttura di un sistema operativo.
Riferimenti: Capitolo 5 (5.1, 5.2).

Lezione 12: Componenti di un sistema operativo.
Riferimenti: Capitolo 5 (5.3, 5.4, 5.5).

Lezione 13: Struttura delle reti di calcolatori.
Riferimenti: Capitolo 4 (4.7, 4.8, 4.9).

Lezione 14: Protocolli su reti.
Riferimenti: Capitolo 5 (5.6).

Lezione 15: Elementi di sicurezza informatica.
Riferimenti: Appunti personali.

Lezione 16: Revisione del corso e conclusioni.
Riferimenti: .

PIANO DELLE ESERCITAZIONI DI LABORATORIO

Laboratorio 1: Struttura del laboratorio, accesso alle macchine, configurazione account, uso della posta elettronica, di un web browser, e di un editor di testo.

Laboratorio 2: Scrittura di semplici programmi e loro esecuzione.

Laboratorio 3: Operazioni su array (somma elementi, lettura, stampa) mediante sottoprogrammi.

Laboratorio 4: Lettura e scrittura formattata di un array bisimensionale.

Laboratorio 5: Operazioni su stringhe: confronto, verifica prefisso, verifica sottostringa.

Laboratorio 6: Operazioni su stringhe: concatenazione, calcolo lunghezza, conteggio caratteri, rovesciamento, riconoscimento palindrome.

Laboratorio 7: Esercizi sul passaggio di parametri per valore e per riferimento.

Laboratorio 8: Ordinamento di un array con Insertion Sort.

Laboratorio 9: Ricerca su un array, ricerca dicotomica, partizionamento, ordinamento con Quick Sort.

Laboratorio 10: Scrittura di un semplice programma completo: il gioco "indovina numero".

MODALITÀ DI VERIFICA

L'esame di Informatica è orale. Per l'ammissione all'esame lo studente deve superare una esercitazione scritta di 3 ore che consiste in cinque domande sulla parte di teoria e un esercizio sulla parte di laboratorio. L'esercitazione scritta si intende superata se lo studente ottiene una votazione di almeno 18/30 considerando che ogni domanda e ogni esercizio valgono 5 punti.

All'esercitazione scritta lo studente può portare solamente penne e matite.

Alla prova orale lo studente può decidere di verbalizzare il voto dell'esercitazione scritta o di essere riesaminato mediante colloquio. In tal caso il voto finale dell'esame sarà basato puramente sul colloquio senza tenere in alcun conto l'esito dell'esercitazione scritta.

homepage
.