29227 - FONDAMENTI DI INFORMATICA T (L-Z)

Anno Accademico 2021/2022

  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea in Ingegneria meccanica (cod. 0927)

Conoscenze e abilità da conseguire

Lo Studente acquisisce conoscenze di base dell'architettura di un sistema di calcolo. Lo Studente si impadronisce di tecniche e metodologie per la risoluzione di diverse classi di problemi usando uno specifico linguaggio di programmazione.

Contenuti

I. Struttura di un calcolatore elettronico

Circuiti digitali elementari per le reti combinatorie, l'aritmetica e la memoria. Macchine RISC e pipelining, macchine superscalari e parallele. Gerarchia della memoria: registri, cache, memoria princiale (RAM) e secondaria (HD, CD-ROM). Indirizzi e bus. Cenni ai sistemi operativi. Partizioni di un disco rigido e file system.

 

II. Linguaggio di programmazione: il C

Rappresentazione binaria dell'informazione: 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, while e do-while. Array o matrici. Funzioni e funzioni ricorsive. Cenni alle strutture di dati, ai puntatori e alla allocazione dinamica della memoria. Funzioni e formati di input e output (I/O) in C. Esempi.

 

III. Elementi di analisi numerica

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. Il materiale sarà disponibile sulla piattaforma IOL
di Ateneo (https://iol.unibo.it)

Manuali di C consigliati:
Brookshear, Kochan. Fondamenti di informatica e programmazione in C. Pearson
Kelley, Pohl. C-Didattica e programmazione. Pearson
Bellini, Guidi. Linguaggio C. McGraw-Hill

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 sulla piattaforma virtuale di Ateneo. Si consiglia la stampa e l'utilizzo a lezione di tale materiale.

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

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, [https://elearning-sicurezza.unibo.it/] in modalità e-learning.

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 I del programma). La prova prevede una serie di domande con risposte multiple. Punteggio minimo per la sufficienza: 4, massimo: 8.

2. Prova scritta al computer su argomenti di linguaggio C (parte II del programma). La prova si svolge in laboratorio con sistema operativo linux. Punteggio minimo per la sufficienza: 5, massimo: 12

3. Prova scritta al computer su argomenti di analisi numerica (parte III del programma). La prova si svolge in laboratorio con sistema operativo linux. Punteggio minimo per la sufficienza: 5, massimo: 12

La somma totale dei punteggi superiori al minimo, formano il voto di esame, che deve risultare >= 18. Una prova non sufficiente non viene considerata e deve essere ripetuta. La lode viene data se si supera il punteggio di 30.

Strumenti a supporto della didattica

PC, videoproiettore; le lezioni vengono integrate con una serie di esercitazioni pratiche con il calcolatore.

Orario di ricevimento

Consulta il sito web di Ruben Scardovelli

SDGs

Istruzione di qualità

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.