FACOLTA' DI INGEGNERIA       Universita' di Pavia
Home
  Didattica > Insegnamenti0910 > Fondamenti di informatica Translate this page in English
Organizzazione e Sedi
Immatricolarsi ai C.d.L.
Immatricolarsi ai C.d.L.M.
Orientamento
Didattica
Prenotazione Aule
Master
Esami: Iscrizioni online
Ricerca Scientifica
Servizi
Rapporti con Imprese
Tirocini didattici
Eventi e Iniziative
Bandi e Offerte lavoro
Esami di Stato
Mobilità/Erasmus
Rapporti di riesame
Assicurazione Qualità
Guida dello Studente
Scorciatoie
Cerca nel sito
Fondamenti di informatica

Insegnamento Anno Accademico 09-10

Docente/i: Giovanni Danese   Tullio Facchinetti  

Denominazione del corso: Fondamenti di informatica
Codice del corso: 500655
Corso di laurea: Ingegneria Elettronica e delle Telecomunicazioni , Ingegneria Informatica
Settore scientifico disciplinare: ING-INF/05
Crediti formativi: CFU 12
Sito web del corso: http://gamma.unipv.it/fdi/ *** http://robot.unipv.it/to
olleeo/

Obiettivi formativi specifici

Gli obiettivi primari dell’insegnamento sono quelli di fornire agli allievi Ingegneri i principi logici del funzionamento e della organizzazione dei sistemi di elaborazione e l’acquisizione delle metodologie per sfruttarne le potenzialità, con particolare riferimento allo studio e alle tecniche per la programmazione degli elaboratori. L’insegnamento prevede la descrizione della struttura funzionale dei principali moduli hardware e software che compongono un sistema di elaborazione. Inoltre si presentano le tecniche e gli strumenti fondamentali per l'utilizzo del calcolatore e per la sua programmazione, che costituiscono un aspetto formativo essenziale e che stanno alla base della necessaria attività sperimentale.
Si ritiene che, una volta superato l’esame, lo studente abbia acquisito un insieme di strumenti culturali per facilitare lo studio di altri argomenti del proprio curriculum scolastico e, d’altra parte, abbia appreso quali argomenti dovrà autonomamente approfondire per acquisire competenze non previste dal proprio piano degli studi. In particolare, si ritiene che lo studente avrà acquisito le necessarie competenze per lo sviluppo di soluzioni algoritmiche per problemi di limitata complessità e per la codifica e la messa a punto di programmi in linguaggio C, come base per lo studio di problemi più complessi e avanzati.

Programma del corso

Concetti introduttivi
Vengono definiti concetti, termini tecnici e campi applicativi degli elaboratori elettronici.

La codifica delle informazioni
Vengono illustrate diverse tecniche di rappresentazione di informazioni numeriche, testuali, grafiche all’interno degli elaboratori. Vengono presentati codici binari ridondanti e non, rivelatori e correttori di errori. Viene introdotta l’algebra di Boole.

Architetture degli Elaboratori
Viene descritta la struttura funzionale dei calcolatori e dei moduli che li compongono. Viene descritta la logica di funzionamento dei processori, il formato delle istruzioni e il ciclo di esecuzione, l’organizzazione dei dispositivi di memoria e le relative tecniche di accesso, i principi di funzionamento e le caratteristiche dei dispositivi periferici. Viene descritta l’architettura di un sistema informatico complesso con riferimento alle problematiche della gestione della memoria e delle risorse e al parallelismo di funzionamento. La descrizione mira a fornire una visione complessiva dell’architettura, nei suoi aspetti sia hardware che software. Pertanto questo filone include anche una descrizione della funzionalità dei software di base.

Sistemi operativi
Vengono presentati le funzioni principali del sistema operativo e quelle del kernel e del software di base. Viene proposta una classificazione dei vari tipi di sistemi operativi esistenti completata dalle relative caratteristiche principali.

Supporti per lo sviluppo di programmi
Vengono presentate le funzioni e le caratteristiche dei supporti per lo sviluppo dei programmi. In particolare vengono illustrati i comandi principali per la gestione dei file in ambiente Unix, e viene descritto il funzionamento di compilatori ed interpreti come strumenti per la realizzazione di programmi.

Strutture dati
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.

Principi di programmazione
Vengono illustrati i principi della programmazione dei calcolatori elettronici. 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.

Il linguaggio C
Il ciclo di lezioni relativo alla programmazione prevede la presentazione dei principi della programmazione e la descrizione dettagliata della sintassi del linguaggio C. L'attività teorica è integrata da esercitazioni nel laboratorio di Informatica di Base durante le quali vengono presentate soluzioni a problemi di calcolo numerico e su strutture dati. In particolare vengono implementati algoritmi di ordinamento, di ricerca nelle tavole, di gestione di strutture dati, ecc.

Prerequisiti

Quelli richiesti per l’immatricolazione.

Tipologia delle attività formative

Lezioni (ore/anno in aula): 60
Esercitazioni (ore/anno in aula): 40
Laboratori (ore/anno in aula): 30
Progetti (ore/anno in aula): 0

Materiale didattico consigliato

Per il modulo del prof. Danese.

Informazioni di utilità relative all’insegnamento sono reperibili al sito http://gamma.unipv.it/fdi/.

J. Glenn Brookshear. INFORMATICA una panoramica generale. Pearson - Addison Wesley. 9^ edizione, 11/2006.

P. Tosoratti. Introduzione all’Informatica. Casa Editrice Ambrosiana, 1998, Milano.

Per il modulo del Prof. Facchinetti.

Sono disponibili le dispense sugli argomenti trattati durante le lezioni.

Harvey M. Deitel, Paul J. Deitel. C. . Corso completo di programmazione. Terza Edizione - Apogeo, 2007. (Un testo chiaro e ben scritto, ottimo per la didattica).

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).

Al Kelley, Ira Pohl. C. Didattica e programmazione. Quarta Edizione - Pearson Education Italia, 2004.

Modalità di verifica dell'apprendimento

Prove d’esame
Le prove d’esame prevedono una prova scritta di teoria e una prova pratica da svolgere sui calcolatori delle aule didattiche di Informatica; in particolare nella prova scritta di teoria vengono proposti 8 argomenti trattati nel corso delle lezioni che devono essere approfonditi dal candidato (degli 8 argomenti 2 saranno relativi alla teoria della programmazione). La valutazione della prova scritta è la media aritmetica delle valutazioni conseguite nei singoli quesiti proposti.
La prova pratica prevede l’implementazione di un algoritmo per il problema proposto, la codifica del relativo programma in linguaggio C, la compilazione e la messa a punto nelle aule didattiche di Informatica.
Il conseguimento di una valutazione sufficiente in entrambe le prove consentirà al superamento dell’esame. La valutazione globale dell’esame è la media pesata delle valutazioni conseguite nella prova scritta teorica e in quella pratica (pesi rispettivamente 3/5 e 2/5).
È prevista una prova orale facoltativa con due finalità differenti:

  • nel caso in cui la valutazione globale risultante sia sufficiente, la prova orale può permettere di modificare tale valutazione;
  • nel caso in cui la prova scritta di teoria sia stata valutata insufficiente, ma superiore a 16/30, la prova orale può permettere di raggiungere, per tale prova, una valutazione finale sufficiente.

In caso di esito non sufficiente o non soddisfacente di solo una delle prova previste il candidato può ripetere solo tale prova. In ogni caso la validità delle prove si conclude con la fine della sessione d’esame invernale dell’anno accademico successivo a quello in cui le prove siano state sostenute.

Prova intermedia
Dal momento che l’erogazione del corso si sviluppa in ambo i semestri dell'anno accademico, una prova intermedia scritta avrà luogo al termine del primo semestre, atta a verificare la preparazione del candidato sugli argomenti trattati durante la prima parte del corso. La partecipazione alla prova intermedia è facoltativa.
Nel caso di svolgimento della prova intermedia l’intero esame si articola in tre prove e valgono le seguenti regole:

  • la prima prova (teorica) verte su argomenti di teoria trattati nel corso delle lezioni del primo semestre e vengono proposti al candidato 5 argomenti oggetto di approfondimento (dei 5 argomenti 1 sarà relativo alla teoria della programmazione);
  • la seconda prova (teorica) verte su argomenti di teoria trattati nel corso delle lezioni del secondo semestre e vengono proposti al candidato 3 argomenti oggetto di approfondimento (dei 3 argomenti 1 sarà relativo alla teoria della programmazione); l’accesso a questa prova è vincolata al superamento della prima prova;
  • la terza prova (pratica) prevede l’implementazione di un algoritmo per il problema proposto, la codifica del relativo programma in linguaggio C, la compilazione e la messa a punto nelle aule didattiche di Informatica.

Il conseguimento di una valutazione sufficiente nelle prove equivarrà al superamento dell’esame. La valutazione globale dell’esame è la media pesata delle valutazioni conseguite nelle due prove scritte teoriche e in quella pratica (pesi rispettivamente 15/40, 9/40 e 16/40).
Anche in questa modalità d’esame è prevista una prova orale facoltativa, solo nel caso in cui la valutazione globale risultante sia sufficiente, la prova orale può permettere di modificare tale valutazione.
In caso di esito non sufficiente o non soddisfacente della seconda prova teorica e/o della prova pratica il candidato può ripetere solo tale/i prova/e. In ogni caso la validità delle prove si conclude con la fine della sessione d’esame invernale dell’anno accademico successivo a quello in cui le prove siano state sostenute.

Copyright © Facoltà di Ingegneria - Università di Pavia