FONDAMENTI DI INFORMATICA
Stampa
Anno immatricolazione
2020/2021
Anno offerta
2020/2021
Normativa
DM270
SSD
ING-INF/05 (SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI)
Dipartimento
DIPARTIMENTO DI INGEGNERIA INDUSTRIALE E DELL'INFORMAZIONE
Corso di studio
BIOINGEGNERIA
Curriculum
PERCORSO COMUNE
Anno di corso
Periodo didattico
Annualità Singola (28/09/2020 - 14/06/2021)
Crediti
9
Ore
90 ore di attività frontale
Lingua insegnamento
Italiano
Tipo esame
SCRITTO
Docente
LARIZZA CRISTIANA (titolare) - 4 CFU
LARIZZA CRISTIANA (titolare) - 5 CFU
Prerequisiti
Quelli richiesti per l'immatricolazione.
Obiettivi formativi
Gli obiettivi primari dell'insegnamento sono di fornire agli allievi conoscenze di base relative ai seguenti argomenti:
a) architettura di un elaboratore e principi logici del suo funzionamento;
b) metodi di codifica delle informazioni e operatori per manipolarle;
c) sistemi operativi e linguaggi di programmazione;
d) principi di base della programmazione strutturata;
e) definizione e rappresentazione di algoritmi mediante diagrammi di flusso;
f) strutture dati e algoritmi per gestirle;
g) linguaggio C e suo utilizzo per la implementazione applicazioni di media complessità .
Verrà dedicata parte delle lezioni alla attività pratica con esercitazioni che si svolgeranno in aula di informatica. L'insegnamento prevede, pertanto, di fornire le basi teoriche della disciplina informatica e una buona capacità operativa nello sviluppo di programmi a partire dalle quali lo studente sara' in grado di approfondire tecniche e argomenti specifici, di apprendere nuovi linguaggi e di affrontare l'attività sperimentale prevista nei corsi del proprio curriculum.
Programma e contenuti
Concetti introduttivi.
- Vengono definiti concetti, termini tecnici e campi applicativi degli elaboratori elettronici.
- Architettura di un elaboratore e principi logici del suo funzionamento
La descrizione mira a fornire una visione complessiva dell'architettura, nei suoi aspetti sia hardware che software. In particolare, vengono presentati:
• la struttura funzionale dei calcolatori e dei moduli che li compongono;
• la logica di funzionamento dei processori, il formato e il ciclo di esecuzione delle istruzioni;
• l'organizzazione dei dispositivi di memoria e le relative tecniche di accesso;
• i principi di funzionamento e le caratteristiche dei dispositivi periferici.
- Metodi di codifica delle informazioni e operatori per manipolarle
Vengono illustrate diverse tecniche di rappresentazione di informazioni numeriche, testuali, grafiche all'interno degli elaboratori. Viene introdotta l'algebra di Boole.
- Sistemi operativi e linguaggi di programmazione
Vengono presentate:
• le funzioni principali del sistema operativo e quelle del kernel e del software di base;
• una classificazione dei vari tipi di sistemi operativi esistenti completata dalle relative caratteristiche principali;
• alcune funzionalità del sistema operativo UNIX e alcuni comandi di base indispensabili per svolgere l'attività pratica nelle aule di Informatica;
• i principali tipi di linguaggi di programmazione di alto livello;
• le funzioni e le caratteristiche dei supporti per lo sviluppo dei programmi e, in particolare, il funzionamento di compilatori ed interpreti.
- Principi di base della programmazione strutturata, definizione di algoritmi e rappresentazione mediante diagrammi di flusso
Vengono illustrati i principi della programmazione dei calcolatori elettronici attraverso l'uso di linguaggi di alto livello. Si affrontano in particolare gli aspetti di formalizzazione dei problemi, il progetto e la codifica degli algoritmi attraverso le metodologie e le tecniche della programmazione strutturata e i criteri per l'analisi, testing e convalida dei programmi. L'obiettivo è quello di fornire agli allievi una capacità operativa nello sviluppo dei software ed una sensibilità ai problemi di buona documentazione e affidabilità delle applicazioni.
- Strutture dati e algoritmi per gestirle
Vengono illustrate le principali strutture dati sia dal punto di vista della loro definizione astratta che da quello della loro effettiva implementazione sui sistemi di calcolo. Inoltre vengono presentati gli algoritmi per il loro utilizzo nella risoluzione di problemi comuni.
- Linguaggio C e suo utilizzo per la implementazione applicazioni di media complessità
Il ciclo di lezioni relativo alla programmazione prevede la descrizione dettagliata della sintassi del linguaggio C. Le lezioni vengono integrate da esercitazioni nel laboratorio di Informatica di Base durante le quali tutor selezionati presentano soluzioni di problemi di calcolo numerico e che richiedono l'utilizzo di strutture dati. In particolare vengono implementati algoritmi di ordinamento, di ricerca nelle tavole, di gestione di strutture dati, ecc.

La prova d'esame prevede l'implementazione di un programma in linguaggio C per la risoluzione di un problema proposto.
Metodi didattici
Lezioni (ore/anno in aula): 53
Esercitazioni (ore/anno in aula): 45
Attività pratiche (ore/anno in aula): 26
Testi di riferimento
Informazioni di utilità relative all'insegnamento sono reperibili al sito http://elearning2.unipv.it/ingegneria/course/view.php?id=29
Testi consigliati per la parte teorica (uno a scelta):
J. Glenn Brookshear. INFORMATICA una panoramica generale. Pearson - 11^ edizione, 2012.
P. Tosoratti. Introduzione all'Informatica. Casa Editrice Ambrosiana, 1998, Milano.
Testi consigliati per la parte di programmazioni in linguaggio C (uno a scelta):
Tullio Facchinetti, Cristiana Larizza, Alessandro Rubini. Programmare in C. Concetti di base e tecniche avanzate. Maggioli, 2015. Il testo introduce le basi della programmazione in linguaggio C e presenta in apposite sezioni di approfondimento tecniche avanzate utili nella pratica.
Brian W. Kernighan, Dennis M. Ritchie. Linguaggio C. Seconda Edizione . Jackson Libri, 1989. Testo ideale come manuale di riferimento per programmatori che già conoscano il linguaggio.
Modalità verifica apprendimento
Le prove d'esame prevedono una prova scritta di teoria in cui vengono proposti argomenti trattati nel corso delle lezioni che devono essere approfonditi dal candidato e una prova pratica in cui il candidato dovrà sviluppare un programma in linguaggio C che risolva il problema proposto. La valutazione globale è la media aritmetica delle valutazioni conseguite nelle due prove.
Altre informazioni
La docente riceve su appuntamento (Dip.to Ingegneria Industriale e dell'Informazione, laboratorio UPIT, Via Ferrata 5, e-mail: cristiana.larizza@unipv.it ).
Obiettivi Agenda 2030 per lo sviluppo sostenibile