29227 - FONDAMENTI DI INFORMATICA T

Anno Accademico 2017/2018

  • Docente: Sandro Manservisi
  • Crediti formativi: 6
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Moduli: Sandro Manservisi (Modulo 1) Ruben Scardovelli (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea in Ingegneria energetica (cod. 0924)

Conoscenze e abilità da conseguire

Aritmetica del calcolatore, algoritmo, problemi di algebra lineare, problemi non lineari, approssimazione di dati e funzioni, integrazioni numeriche, equazioni differenziali ordinarie.

Contenuti

I. Struttura di un calcolatore elettronico

Macchine multilivello, macchine RISC e CISC. Pipelining, macchine superscalari e parallele. Gerarchia della memoria: registri, cache, memoria principale (RAM) e secondaria. Dischi magnetici e CD-ROM. Indirizzi e bus.  Cenni ai sistemi operativi Windows XP e GNU-linux. Partizione di un disco  rigido e file system.

 

II. Linguaggio di programmazione: il C

Rappresentazione binaria dell'informazione nei vari linguaggi di programmazione: numeri interi e in virgola mobile (IEEE standard 754), tabella ASCII/UNICODE e palette dei colori RGB. Errori e loro cause: errore assoluto, relativo e percentuale. Cancellazione numerica e propagazione degli errori.

Funzione main, dichiarazione locale di variabili, tipi di variabile. Operatori di assegnazione, aritmetici, logici e relazionali. Blocchi di programma. Espressioni logiche o booleiane. Strutture per il controllo del flusso del programma: if-else if-else, switch, for, whiledo-while. Array o matrici. Funzioni e funzioni ricorsive. Strutture di dati (struct). Puntatori. Matrici e puntatori. Allocazione dinamica della memoria. Funzioni e formati di input e output (I/O) in C. Esempi.

III. Elementi di analisi numerica e di calcolo computazionale

Approssimazione e rappresentazione di una funzione: rappresentazione numerica, interpolazione di tipo Lagrangiano, polinomio e serie di Taylor. Errore di troncamento.

Differenziazione di una funzione: approssimazione della derivata prima, seconda ed ennesima con le differenze finite in avanti e all'indietro, con errore di troncamento al primo e al secondo ordine; approssimazione della derivata prima, seconda ed ennesima con le differenze finite centrate. Equazione differenziale ordinaria del secondo ordine.

Ricerca degli zeri di una funzione: risoluzione di un problema algebrico lineare con il metodo di Gauss. Soluzione di equazioni non lineari. Definizione del problema e metodo di bisezione.  Metodi del punto fisso e di Newton-Raphson. Metodi della secante e Regula Falsi.

Integrazione di una funzione: metodo dei rettangoli, dei trapezi e di Simpson. Estrapolazione di Richardson e integrazione di Romberg. Integrazione di Gauss. Errore di troncamento locale e globale e ordine della convergenza.

Testi/Bibliografia

Testo di riferimento:

Sono disponibili le  dispense del docente con slides delle lezioni ed esercitazioni. Tale materiale è  reperibile presso AMS Campus - AlmaDL - Università di Bologna.

Manuali di C consigliati:
Bellini, Guidi. Linguaggio C. McGraw-Hill
Kelley, Pohl. C-Didattica e programmazione. Pearson

Testi integrativi:
Ceri, Mandrioli, Sbattella. Informatica: arte e mestiere.  McGraw-Hill
Monegato. Fondamenti di calcolo numerico. Levrotto & Bella
Epperson. Introduzione all'analisi numerica. McGraw-Hill

Metodi didattici

Lezioni frontali e esercitazioni di laboratorio informatico.

Le esercitazioni di laboratorio saranno 6 per la parte II (linguaggio C) e 6 per la parte III (analisi numerica).

Assistenza di tutor dedicato

Materiale didattico: il materiale didattico presentato a lezione verrà messo a disposizione dello studente in formato elettronico tramite internet. Tale materiale dovrebbe essere stampato e portato alla lezione.

Per ottenere il materiale didattico: http://campus.unibo.it/

Username e password sono riservati a studenti iscritti all'Università di Bologna.

Modalità di verifica e valutazione dell'apprendimento

Un questionario a risposte multiple sul funzionamento del PC e una prova in laboratorio informatico sul linguaggio C e sull'analisi numerica.

Il voto viene ripartito come segue:

1. Prova scritta su argomenti di  architettura del computer (parte del programma indicata con I). La prova si svolge con formato a  domande multiple. Punteggio 0-9 (sufficiente se punteggio prova >4.2)

-2. Prova scritta computazionale su argomenti di  linguaggio C (parte del programma indicata con II). La prova si svolge in laboratorio con sistema operativo linux. Punteggio 0-11 (sufficiente se punteggio prova > 5.12)

3. Prova scritta di calcolo computazionale su argomenti di analisi numerica (parte del programma indicata con III). La prova si svolge in laboratorio con sistema operativo linux. Punteggio 0-12 (sufficiente se punteggio prova > 5)

 

La somma totale dei punteggi che sono sufficenti formano il voto di esame. I voti non sufficienti non vengono sommati e la prove devono essere ripetute. La lode viene data se si supera il punteggio di 30.

 

Strumenti a supporto della didattica

Le lezioni vengono integrate con una serie di esercitazioni pratiche con il calcolatore

Orario di ricevimento

Consulta il sito web di Sandro Manservisi

Consulta il sito web di Ruben Scardovelli