Calcolo Numerico e Software Didattico (C.d.S. Matematica (LM)) A.A.2024/25
(2^ semestre, 1^ anno)
Esame: prova orale
CFU 6
Docente: Giulio Casciola
Avvisi
Lunedì 19 maggio la lezione sarà dalle ore 10:00 alle ore 11:00 in aula Levi.
La lezione di giovedì 22 maggio sarà tenuta venerdì 23 maggio dalle ore 11:00 alle ore 13:00 in aula Levi.
Scopo
Al termine del corso lo studente possiede una adeguata conoscenza degli aspetti della matematica computazionale, specificatamente volti alle applicazioni, ed è in grado di utilizzare software didattico e di calcolo scientifico negli aspetti di base.
Contenuto
Richiami di calcolo numerico: aritmetica floating point, approssimazione di dati e funzioni, integrazione numerica, radici di equazioni, sistemi lineari, analisi degli errori, accuratezza e stabilità.
Architetture di calcolo, progettazione di algoritmi, linguaggi di programmazione, programmazione procedurale (coding), testing, progettazione di applicazioni software, librerie di calcolo, installazione, utilizzo e analisi di applicazioni software.
Architetture grafiche, grafica 2D/3D, grafica raster e vector, la matematica per la grafica, librerie grafiche, interfacce grafiche, programmazione ad eventi.
Applicazioni Web per desktop e mobile, HTML5, CSS, JavaScript.
Ambienti software di esempio: Geogebra, Octave/Matlab, LaTex, Maxima, ecc.
Testi Consigliati
- A. Quarteroni, F. Saleri, Calcolo Scientifico esercizi e problemi risolti con Matlab e Octave.
Springer (2008);
Orario delle Lezioni
- Le lezioni inizieranno il 17/02/2025 con il seguente orario:
lunedì ore 16:00-17:00 Aula Levi
martedì ore 14:00-16:00 Aula Levi
giovedì ore 11:00-13:00 Aula Levi
Chi segue il Corso:
form txt da scaricare, compilare e spedire per e-mail al docente con subject CNSD2425.
Lezioni e Argomenti trattati
- Lu.17/02/25, ore 16:00-17:00: Aula Levi
Introduzione e informazioni sul corso
(vedi slide in Documenti)
- Ma.18/02/25, ore 14:00-16:00: Aula Levi
Completate slide della lezione precedente.
Architettura di un Calcolatore e Sistema Operativo
(vedi slide in Documenti)
- Gi.20/02/25, ore 11:00-13:00: Aula Levi
Si sono completate le slide della lezione precedente sul Sistema Operativo. Progettazione di Algoritmi e Coding (vedi slide in Documenti)
(vedi video Introduzione al Coding in Video e Tutorial)
- Lu.24/02/25, ore 16:00-17:00: Aula Levi
LAB1: Introduzione all'Ambiente Linux (vedi sezione Download Materiale Lab)
- Ma.25/02/25, ore 14:00-16:00: Aula Levi
Ripreso e completato LAB1: Introduzione all'Ambiente Linux; ripetere l'ercitazione sul proprio portatile nel proprio ambiente (macOS, Windows).
Ripreso e completato Progettazione di Algoritmi e Coding. Lasciati da progettare due algoritmi.
- Gi.27/02/25, ore 11:00-13:00: Aula Levi
Ambiente Matlab e Programmazione in linguaggio Matlab/Octave (vedi slide Matlab/Octave I Parte in Documenti)
LAB2: Ambiente Matlab e Script
(vedi LAB2 in Download Materiale Lab)
Svolti gli esercizi A.1 e A.3; lasciato da fare l'A.2 e da progettare gli algoritmi per gli esercizi B.
- Lu.3/03/25, ore 16:00-17:00: Aula Levi
Ripreso e completato LAB2: Ambiente Matlab e Script.
Riprese le slide relative e svolti gli esercizi B del LAB2.
Messa online l'Esercitazione 3 i
(vedi LAB3 in Download Materiale Lab)
da guardare per giovedì prossimo.
- Ma.4/03/25, ore 14:00-16:00: Aula Levi
Ambiente Matlab, function e strutture di controllo in linguaggio Matlab/Octave (vedi slide Matlab/Octave II Parte in Documenti), Grafici in Matlab, figure in Matlab, figure dinamica, mapping da coordinate floating point a coordinate intere.
LAB3: Script, function, grafici e toolbox anmglib 4.2 per il disegno
(vedi LAB3 in Download Materiale Lab);
lasciati da fare gli esercizi da A.1 ad A.4; svolti insieme gli esercizi A.5 e A.6.
- Gi.6/03/25, ore 11:00-13:00: Aula Levi
Ripreso il LAB3; corretti gli esercizi A.1-A.4 (le soluzioni sono fra gli Script Matlab per LAB3 in Download Materiale Lab).
Programmazione grafica in Matlab e toolbox anmglib (vedi Slide Matlab/Octave e Toolbox anmglib_4.2 III Parte Documenti).
Svolto insieme l'esercizio B.1 e cominciato il B.2 che richiede di applicare trasformazioni geometriche.
Introduzione alle trasformazioni geometriche 2D (vedi slide Trasformazioni Geometriche 2D in Documenti).
Lasciato come compito quello di analizzare queste ultime slide con spirito critico.
- Lu.10/03/25, ore 16:00-17:00: Aula Levi
Ripreso il LAB3; visti gli esercizi B.2 (lasciato da ripetere per la trasformazione di scala), B.3 e B.4. Lasciato da fare il B.5. Costruzione geometrica della cardioide e script per animazione in Matlab. Riprese e commentate le slide Trasformazioni Geoemtriche 2D.
- Ma.11/03/25, ore 14:00-16:00: Aula Levi
Completato LAB3 con salvataggio di figure in Matlab in vari formati di immagini, sia vettoriali che raster. Semplici esempi di Live Script in Matlab e Live Editor (vedi live_script.zip in Download Materiale Lab).
Richiami su Numeri Finiti e Artitmetica Floating Point (vedi Slide Numeri Finiti e Aritmetica Computazionale in Documenti).
Gioco Fifteen come esempio di programmazione di giochi in Matlab (vedi fifteen_game.zip in Download Materiale Lab).
- Gi.13/03/25, ore 11:00-13:00: Aula Levi
Abbiamo ripreso le slide su Numeri Finiti e Aritmetica Floating Point e siamo arrivati agli esempi su Errore Analitico e Algoritmico.
LAB4: Errori Analitico, Inerente ed Algoritmico
(vedi LAB4 in Download Materiale Lab);
Visti gli esercizi 1,2,3 (lasciato da finire) e 4 (visionato il video su "Sviluppo in Serie di Taylor") dove è richiesto di sviluppare un Live Script in Matlab per rirodurre le esemplificazioni grafiche del video.
- Lu.17/03/25, ore 16:00-17:00: Aula Levi
Ripreso il video su "Sviluppo in Serie di Taylor" su errore di Lagrange; visto l'esercizio 5 del LAB4; completate le slide su Numeri Finiti e Aritmetica Computazionale: errore inerente nella valutazione polinomiale, base di Bernstein, proprietà, condizionamento della base, cambio di variabile.
- Ma.18/03/25, ore 14:00-16:00: Aula Levi
Curve di Bézier, proprietà, algoritmo di de Casteljau, suddivisione, applicazione al rendering di curve di Bézier (algoritmo ricorsivo adattivo) (vedi Slide Curve di Bézier a tratti multi-grado in Documenti). Provata applicazione ppbez.m del toolbox anmglib_4.2 in MATLAB.
- Gi.20/03/25, ore 11:00-13:00: Aula Levi
Riprese le slide su Curve di Bézier a tratti multi-grado: derivata prima e seconda di una curva di Bézier, curve di Bézier a tratti e a tratti multi-grado, tipi di continuità, esempio, strutture bezier, ppbezier e mdppbezier utilizzate nel toolbox anmglib.
LAB5: Curve di Bézier a tratti multi-grado con il toolbox anmglib
(vedi LAB5 in Download Materiale Lab);
fatti insieme gli esercizi 1 e 2 e lasciati da guardare i restanti (li riprenderemo).
Introdotto il corso online su Curve di Bézier (vedi Corso online su Curve di Bézier). Chiesto di seguire qualche argomento con figure interattive ed esercizi per poi commentarlo insieme alla ripresa delle lezioni.
- Lu.31/03/25, ore 16:00-17:00: Aula Levi
Ripreso corso online su Curve di Bézier con esercizi e riproposto di visionare almeno un argomento per poi analizzarlo dal punto di vista didattico. Ripreso LAB5 e commentati alcuni degli esercizi.
- Ma.01/04/25, ore 14:00-16:00: Aula Levi
Completato LAB5: visti gli esercizi mancanti sul disegno vettoriale con curve di Bézier a tratti multi-grado utilizzando la libreria anmglib di disegno procedurale in ambiente Matlab.
Questo ha permesso di vedere le seguenti applicazioni delle curve di Bézier: area di una regione piana, interpolazione di punti, di funzioni e di curve, parametrizzazione, intersezione, elevamento di grado, suddivisione, join, trasformazioni geometriche.
- Gi.03/04/25, ore 11:00-13:00: Aula Levi
Introduzione al linguaggio di markup HTML e ai fogli di stile CSS
(vedi Slide HTML e CSS in Documenti).
- Lu.07/04/25, ore 16:00-17:00: Aula Levi
Ancora sui fogli di stile; LAB6: HTML e CSS (vedi LAB6 in
Download Materiale Lab);
- Ma.08/04/25, ore 14:00-16:00: Aula Levi
Seminario/LAB sul software MATHEMATICA (prof.ssa Giulia Spaletta); vedi codice utilizzato durante la presentazione in Download Materiale Lab);
- Gi.10/04/25, ore 11:00-13:00: Aula Levi
Introduzione alla grafica interattiva (vedi Slide Hardware e Software per Grafica Interattiva in
Documenti).
Primi elementi del linguaggio JavaScript (vedi Slide HTML5, CSS3, JavaScript, canvas e contesto 2d in
Documenti).
- Lu.14/04/25, ore 16:00-17:00: Aula Levi
Riprese slide su JavaScript e fatti alcuni codici di esempio su function, array e object.
- Ma.15/04/25, ore 14:00-16:00: Aula Levi
Riprese e completate le slide su JavaScript, canvas e contesto 2d e visti gli esempi nella cartella cnsd2425_7_js (LAB7);
elemento canvas, contesto '2d', primitive grafiche, gestione eventi, testo, immagini, animazioni.
- Gi.24/04/25, ore 11:00-13:00: Aula Levi
Programmazione grafica in JavaScript e contesto 2d
(vedi Slide Programmazione Grafica 2d in Documenti).
Disegno in coordinate floating point, trasformazione window-viewport, Esercizio 1 (disegno di una curva in forma parametrica), Esercizio 2 (disegno e interazione con una curva di Bézier di grado n), MathJax, Bezier.js e documentazione interattiva, gioco del quindici e jQuery.
- Lu.28/04/25, ore 16:00-17:00: Aula Levi
Ancora su alcuni codici JavaScript del LAB7 (cartella cnsd2425_7_js): bezier.html + .js, fifteen.html + jQuery.js remota e locale, documentazione interattiva libreria Bezier.js.
- Ma.29/04/25, ore 14:00-16:00: Aula Levi
Esempio di animazione in JavaScript (vedi Slide Animazione in JavaScript: dimostrazione del Teorema di Pitagora in
Documenti). LAB8 (cartella cnsd2425_8_js): pitagora0.html + .js, fifteen_jquery_ok.html. Vedi anche il Paper: Il Teorema di Pitagora "senza parole" in Documenti.
- Lu.5/05/25, ore 16:00-17:00: Aula Levi
Ripresi alcuni concetti dell'ultima lezione: powerpoint, animazione, visualizzazione da smartphone.
Slide su Immagini Vettoriali (vedi Slide Immagini Vettoriali in Documenti). Immagini vettoriali e raster, vantaggi e svantaggi, formati, da vector a raster (rasterizzazione) e viceversa (vettorializzazione), rasterizzazione (ciclo di rendering).
- Ma.6/05/25, ore 14:00-16:00: Aula Levi
Python e PyGame (lezione tenuta da Leonardo Silvestri).
- Gi.8/05/25, ore 11:00-13:00: Aula Levi
Completate slide si immaggini vettoriali: vettorializzazione; sperimentato algoritmo Potrace con Inkscape. Primi elementi su Inkscape (vedi anche corso online in Video e Tutorial).
Slide su linguaggio/formato SVG (vedi Slide SVG (Scalble Vector Graphics) in Documenti).
Il linguaggio/formato SVG, struttura di un file SVG, sistema di riferimento, primitive grafiche e attributi, l'elemento path,
gruppi, trasformazioni. LAB9 (cartella cnsd2425_9_svg): codici/file immagni di esempio in formato svg.
- Lu.12/05/25, ore 15:00-16:00: Aula Levi
Introduzione a GeoGebra (vedi Slide Introduzione a GeoGebra in Documenti). Alcuni esempi con GeoGebra Classico online.
- Ma.13/05/25, ore 14:00-16:00: Aula Levi
Riprese le slide su GeoGebra, visionata la home page, visionate ed analizzate alcune risorse fra cui le dimostrazioni dinamiche del teorema di Pitagora e i luoghi geometrici (vedi link nei Riferimenti sulle slide).
Effettuata rilevazione delle opinioni degli studenti sulla didattica.
- Gi.15/05/25, ore 11:00-13:00: Aula Levi
Immagini e Disegni in LaTeX con Inkscape e TikZ (vedi esercitazione/archivio latex_inkascape_tikz.zip in
Download Materiali LAB): seguendo il documento la_ink_tikz.pdf si è utilizzato LaTeX con il package graphicx per la gestione di immagini raster e vector; si è utilizzato Inkscape per ritagliare e vettorializzare immagini raster a colori, per disegnare tracciati e testo su tracciati, salvare immagini raster e vettoriali e includerle in un documento LaTeX. Si è provato Gimp.
- Lu.19/05/25, ore 10:00-11:00: Aula Levi
Ripreso e proseguito il documento Immagini e Disegni in LaTeX con Inkscape e TikZ; immagini ibride, modifica di file vettoriali in Inkscape. Introduzione a TikZ (vedi Slide Il package TikZ di LaTeX in Documenti), ed esempi (vedi archivio latex_inkscape_tikz.zip in Download Materiali LAB).
- Ma.20/05/25, ore 14:00-16:00: Aula Levi
Ripreso e concluso il documento Immagini e Disegni in LaTeX con Inkscape e TikZ; dimostrazione grafica del teorema di Pitagora e testo su immagini in TikZ. Visionati alcuni codici di esempio in TikZ e scaricati alcuni esempi dalla homepage di TikZ.
Introduzione al linguaggio C (vedi dispensa Programmazione in linguaggio C in Documenti). LAB10: alcuni semplici codici di esempio in C (vedi archivio cnsd2425_10_C in Download Materiali LAB).
- Ve.23/05/25, ore 11:00-13:00: Aula Levi
Documenti
Download Materiale Lab
Corso online su Curve di Bézier
Sitografia
Video e Tutorial
Modalità d'Esame
Torna alla
home page di Giulio Casciola