FACOLTA' DI INGEGNERIA       Universita' di Pavia
Home
  Didattica > Insegnamenti1011 > 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 10-11

Docente/i: Cristiana Larizza  

Denominazione del corso: Fondamenti di informatica
Codice del corso: 500655
Corso di laurea: Bioingegneria, Ingegneria Industriale
Settore scientifico disciplinare: ING-INF/05
Crediti formativi: CFU 9
Sito web del corso: http://fdi.labmedinfo.org/FdIIB/index.html

Obiettivi formativi specifici

Gli obiettivi primari dell'insegnamento sono di fornire agli allievi conoscenze di base relative a: 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 di algoritmi e rappresentazione 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 direttamente in aula di informatica. L'insegnamento prevede, pertanto, di fornire le basi teoriche della disciplina informatica e una buona capacità  operativa nello sviluppo di software 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 del corso

Gli obiettivi primari dell'insegnamento sono di fornire agli allievi conoscenze di base relative a: 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, definizione di algoritmi e rappresentazione mediante diagrammi di flusso; e) strutture dati e algoritmi per gestirle; f) linguaggio C e suo utilizzo per la implementazione applicazioni di media complessità .

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 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. La prova d'esame prevede la soluzione di un problema utilizzando il linguaggio C.

Prerequisiti

Quelli richiesti per l'immatricolazione.

Tipologia delle attività formative

Lezioni (ore/anno in aula): 60
Esercitazioni (ore/anno in aula): 16
Attività pratiche (ore/anno in aula): 0

Materiale didattico consigliato

Informazioni di utilità relative all'insegnamento sono reperibili al sito http://fdi.labmedinfo.org/FdIIB/index.html

J. Glenn Brookshear. INFORMATICA una panoramica generale. Pearson - Addison Wesley. 9^ edizione, 11/2006. Buon riferimento per la preparazione della maggior parte degli argomenti teorici.

P. Tosoratti. Introduzione all'Informatica. Casa Editrice Ambrosiana, 1998, Milano. Buon riferimento per la preparazione della maggior parte degli argomenti teorici.

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. E' sicuramente il testo di riferimento per il linguaggio C, ideale come manuale di riferimento.

Modalità di verifica dell'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.

Copyright © Facoltà di Ingegneria - Università di Pavia