CALCOLO NUMERICO CON PYTHON

Obiettivi formativi

Obiettivi Generali Gli obiettivi del corso sono: introdurre le strutture fondamentali della programmazione e le basi del linguaggio di programmazione Python introdurre alcuni metodi numerici fondamentali per la soluzione di alcuni problemi di maggior interesse nel settore dell’ingegneria meccanica (es. equazioni non lineari, sistemi lineari, equazioni differenziali, approssimazione e rappresentazione di dati, machine learning) fornirne gli algoritmi risolutivi e relativa implementazione in ambienti di programmazione Python Risultati Alla fine del corso lo studente sarà in grado di: scrivere, compilare ed eseguire semplici programmi nel linguaggio Python che risolvono alcuni problemi test; utilizzare ambienti di programmazione Python implementare specifiche procedure numeriche presentare i risultati in forma grafica e tabellare, al fine di favorirne l’interpretazione e la valutazione OBIETTIVI SPECIFICI 1. Conoscenze e capacità di comprensione (knowledge and understanding): Lo studente conoscerà le caratteristiche principali di alcuni dei metodi numerici utilizzati per risolvere problemi che nascono nei settori dell’ingegneria; acquisirà i concetti di base della programmazione e le basi del linguaggio di programmazione Python necessari per implementare e utilizzare i metodi numerici proposti 2. Conoscenze e capacità di comprensione applicate (applying knowledge and understanding): lo studente sarà in grado di formulare la soluzione di un problema in modo algoritmico e implementare semplici algoritmi utilizzando il linguaggio Python. Lo studente, inoltre, imparerà a tradurre i metodi numerici appresi in un algoritmo di calcolo scritto tramite in linguaggio di programmazione Python, a utilizzare tali algoritmi o librerie predefinite per risolvere semplici problemi applicativi, ad interpretare e analizzare i risultati. 3. Capacità di trarre conclusioni (making judgements): lo studente imparerà ad analizzare la correttezza di un programma Python; ad analizzare le prestazioni di un metodo numerico per la soluzione di alcuni problemi test, attraverso esperimenti numerici, con particolare riferimento all’analisi delle diverse fonti di errore, alla verifica dei risultati, al confronto dei risultati ottenuti usando metodi diversi. Al fine di conseguire questo obiettivo, saranno proposti esercizi svolti in aula dal docente, prove di autovalutazione svolte in autonomia dallo studente, esercitazioni di laboratorio guidate. 4. Abilità comunicative (communication skills): lo studente imparerà a descrivere in modo rigoroso le motivazioni che conducono alla selezione di un particolare procedimento numerico per la soluzione di uno specifico problema, il codice realizzato per implementare il metodo numerico selezionato, i risultati della sperimentazione numerica. 5. Capacità di apprendere (learning skills): allo studente saranno forniti gli strumenti necessari per pianificare i passi da eseguire per risolvere un problema e formularli in forma algoritmica; identificare le caratteristiche principali di un metodo numerico, usare metodi numerici di base, implementarli nel linguaggio di programmazione Python, valutare i risultati in modo critico sulla base delle diverse tipologie e fonti di errore aspettate, risolvere alcuni problemi applicativi.

Canale 1
VITTORIA BRUNI Scheda docente

Programmi - Frequenza - Esami

Programma
1. Concetti di base della programmazione (0.5 CFU) 2. Elementi di programmazione in Python (2 CFU) Generalità, ambiente di sviluppo, variabili e loro tipo, operatori, aritmetici, logici e relazionali, espressioni matematiche; operazioni sulle stringhe e sulle liste, istruzioni condizionali, cicli, introduzione ai moduli di base e utilizzo delle funzioni principali, grafici, istruzioni di input/output, costruzione e gestione degli array multidimensionali (vettori e matrici), errori e test. 3. Introduzione ai metodi numerici, relativa implementazione e moduli Python (3.5 CFU) Simulazioni in Python per la soluzione numerica di equazioni non lineari e sistemi di equazioni non lineari, di sistemi di equazioni lineari (cenni), equazioni differenziali ordinarie con riferimento ad alcuni problemi test; approssimazione e rappresentazione di dati, regressione, machine learning; utilizzo di librerie Python per la risoluzione di problemi dell’Ingegneria Meccanica
Prerequisiti
Conoscenze di base di analisi matematica, geometria e algebra lineare acquisite nei corsi di Analisi Matematica e Geometria
Testi di riferimento
L. Gori, Calcolo Numerico, Ed. Kappa, 2006 Allen Downey, Pensare in Python - Come pensare da Informatico, seconda edizione versione pdf (in italiano) disponibile gratuitamente su github secondo la GNU Free Documentation License versione cartacea (in italiano) edita da Egea Qingkai Kong, Timmy Siauw and Alexandre M. Bayen, Python Programming and Numerical Methods: A Guide for Engineers and Scientists, Springer 2020 Materiale integrativo disponibile sulla pagina di e-learning del corso Per approfondimenti: Cay S. Horstmann, Rance D. Necaise, Concetti di informatica e fondamenti di Python, Apogeo, 2019 S. C. Chapra, R. P. Canale, Numerical Methods for engineers, Calcolo scientifico, Springer, McGraw Hill, 2010 Alfio Quarteroni, Fausto Saleri, Paola Gervasio, Esercizi e problemi risolti con MATLAB e Octave, Springer 2017
Frequenza
La frequenza del corso non è obbligatoria ma è fortemente consigliata
Modalità di esame
La valutazione ha lo scopo di verificare se lo studente ha raggiunto gli obiettivi prefissati e consiste nella soluzione di esercizi di calcolo numerico: gli studenti devono identificare il metodo numerico adatto a risolvere un determinato problema, illustrarne le caratteristiche e discuterne le questioni numeriche di base (accuratezza, convergenza, stabilità), implementare il relativo algoritmo in Python, eseguire alcuni test numerici e analizzare criticamente i risultati ottenuti. Questa parte si svolge attraverso una prova scritta e una prova orale (facoltativa).
Modalità di erogazione
L’insegnamento prevede sia lezioni tradizionali in aula, in cui il docente illustra tutti gli argomenti contenuti nel programma, che esercitazioni al laboratorio informatico, in cui il docente spiega gli elementi base di programmazione in Python e illustra come implementare i metodi numerici. Durante il corso il docente fornisce anche la soluzione guidata di alcuni esercizi esemplificativi di calcolo numerico e di programmazione assegnando agli studenti ulteriori esercizi da risolvere in autonomia.
VITTORIA BRUNI Scheda docente

Programmi - Frequenza - Esami

Programma
1. Concetti di base della programmazione (0.5 CFU) 2. Elementi di programmazione in Python (2 CFU) Generalità, ambiente di sviluppo, variabili e loro tipo, operatori, aritmetici, logici e relazionali, espressioni matematiche; operazioni sulle stringhe e sulle liste, istruzioni condizionali, cicli, introduzione ai moduli di base e utilizzo delle funzioni principali, grafici, istruzioni di input/output, costruzione e gestione degli array multidimensionali (vettori e matrici), errori e test. 3. Introduzione ai metodi numerici, relativa implementazione e moduli Python (3.5 CFU) Simulazioni in Python per la soluzione numerica di equazioni non lineari e sistemi di equazioni non lineari, di sistemi di equazioni lineari (cenni), equazioni differenziali ordinarie con riferimento ad alcuni problemi test; approssimazione e rappresentazione di dati, regressione, machine learning; utilizzo di librerie Python per la risoluzione di problemi dell’Ingegneria Meccanica
Prerequisiti
Conoscenze di base di analisi matematica, geometria e algebra lineare acquisite nei corsi di Analisi Matematica e Geometria
Testi di riferimento
L. Gori, Calcolo Numerico, Ed. Kappa, 2006 Allen Downey, Pensare in Python - Come pensare da Informatico, seconda edizione versione pdf (in italiano) disponibile gratuitamente su github secondo la GNU Free Documentation License versione cartacea (in italiano) edita da Egea Qingkai Kong, Timmy Siauw and Alexandre M. Bayen, Python Programming and Numerical Methods: A Guide for Engineers and Scientists, Springer 2020 Materiale integrativo disponibile sulla pagina di e-learning del corso Per approfondimenti: Cay S. Horstmann, Rance D. Necaise, Concetti di informatica e fondamenti di Python, Apogeo, 2019 S. C. Chapra, R. P. Canale, Numerical Methods for engineers, Calcolo scientifico, Springer, McGraw Hill, 2010 Alfio Quarteroni, Fausto Saleri, Paola Gervasio, Esercizi e problemi risolti con MATLAB e Octave, Springer 2017
Frequenza
La frequenza del corso non è obbligatoria ma è fortemente consigliata
Modalità di esame
La valutazione ha lo scopo di verificare se lo studente ha raggiunto gli obiettivi prefissati e consiste nella soluzione di esercizi di calcolo numerico: gli studenti devono identificare il metodo numerico adatto a risolvere un determinato problema, illustrarne le caratteristiche e discuterne le questioni numeriche di base (accuratezza, convergenza, stabilità), implementare il relativo algoritmo in Python, eseguire alcuni test numerici e analizzare criticamente i risultati ottenuti. Questa parte si svolge attraverso una prova scritta e una prova orale (facoltativa).
Modalità di erogazione
L’insegnamento prevede sia lezioni tradizionali in aula, in cui il docente illustra tutti gli argomenti contenuti nel programma, che esercitazioni al laboratorio informatico, in cui il docente spiega gli elementi base di programmazione in Python e illustra come implementare i metodi numerici. Durante il corso il docente fornisce anche la soluzione guidata di alcuni esercizi esemplificativi di calcolo numerico e di programmazione assegnando agli studenti ulteriori esercizi da risolvere in autonomia.
  • Codice insegnamento10610614
  • Anno accademico2025/2026
  • CorsoIngegneria Meccanica per la Transizione Verde (sede di Latina)
  • CurriculumCurriculum unico
  • Anno3º anno
  • Semestre2º semestre
  • SSDMAT/08
  • CFU6