- Docente: Pedro Vayssiere Brandão
- Crediti formativi: 6
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea in Ingegneria meccanica (cod. 0927)
-
dal 16/09/2024 al 17/12/2024
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
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.
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.
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 a coefficienti costanti.
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 Pedro Vayssiere Brandão