LABORATORIO DI PROGRAMMAZIONE E CALCOLO
(obiettivi)
Obiettivi generali: acquisire competenza di programmazione informatica in C/C++, che è uno dei linguaggi più utilizzato dagli sviluppatori, acquisire conoscenze di base in analisi numerica e applicare le abilità informatiche acquisite alla risoluzione di problemi matematici.
Obiettivi specifici:
Conoscenza e comprensione: Gli studenti che abbiano superato l'esame avranno una conoscenza di base della programmazione informatica, della aritmetica della macchina e saranno capaci di capire come strutturare algoritmi relativamente semplici per risolvere effettivamente problemi matematici. Gli studenti avranno anche acquisito le nozioni fondamentali sulla stabilità e la convergenza di metodi numerici elementari e la complessità degli algoritmi associati.
Applicare conoscenza e comprensione: al temine del corso lo studente sarà in grado di risolvere attraverso algoritmi informatici adeguati, problemi matematici relativamente semplici. Sarà anche capace di progettare e implementare programmi informatici che interagiscano in modo appropriato con un potenziale utente. Potranno dare risposte a questioni semplici legate ad esempio a problemi di estrazione di informazioni a partire da un insieme di dati discreti, di calcolo di aree e di probabilità, di approssimazione della soluzione di sistemi lineari, di approssimazione di zeri di funzioni scalari non lineari. Capacità critiche e di giudizio: lo studente avrà le basi per analizzare algoritmi matematici elementari dal punto di vista della efficienza computazionale, la stabilità e la accuratezza. Da una parte, sarà in grado di applicare le competenze appena acquisite nelle discipline di Calcolo I e Algebra lineare per analizzare metodi numerici elementari e da l’altrà potrà risolvere numericamente problemi proposti in queste discipline più teoriche attraverso algoritmi semplici. Sarà inoltre in grado di capire che spesso risultati matematici teorici devono essere riformulati per renderli utili nella pratica del calcolo in aritmetica finita.
Capacità comunicative: capacità di esporre e motivare la risoluzione proposta a certi problemi scelti in classe alla lavagna, in sessioni scelte di esercitazioni in aula, e alla prova orale prevista alla fine del corso, svolta davanti al computer.
Capacità di apprendimento: da una parte le conoscenze acquisite permetteranno uno studio, individuale o impartito in un corso di Analisi numerica, relativo ad aspetti più specialistici e che richiedono ulteriori conoscenze matematiche. Da l’altra parte lo studente dovrà prendere familiarità e praticità con diversi elementi informatici come il linguaggio di programmazione informatica, le librerie, i compilatori, i diversi software disponibili in rete che offrono un intorno di sviluppo integrato sotto diversi sistemi operativi, etc. Queste abilità gli permetteranno sicuramente di imparare con più facilità l’utilizzo di altri software di interesse per il calcolo scientifico e il mondo del lavoro.
|
Codice
|
10589897 |
Lingua
|
ITA |
Tipo di attestato
|
Attestato di profitto |
Crediti
|
9
|
Settore scientifico disciplinare
|
INF/01
|
Ore Aula
|
48
|
Ore Esercitazioni
|
36
|
Ore Studio
|
-
|
Attività formativa
|
Attività formative affini ed integrative
|
Canale: 1
Docente
|
NOSCHESE SILVIA
(programma)
Introduzione alla programmazione (30 ore in aula e 12 in laboratorio )
Aritmetica della macchina, nozione e propagazione degli errori Algoritmi: Costo computazionale ed efficienza Programmazione in pseudocodice e introduzione alle istruzioni per il controllo del flusso Compilatori e ambienti di sviluppo integrato Struttura di base dei programmi in C Variabili, tipo, istruzioni di INPUT/OUTPUT Operatori aritmetici, cicli Operatori relazionali, logici, espressioni condizionali Libreria math.h Linee di guida per lavorare in ambiente Linux Arrays e allocazione della memoria Ordinamento di vettori Funzioni C++ Visualizzazione grafica di funzioni e dati
Introduzione all’Analisi Numerica (30 ore in aula e 12 in laboratorio)
Metodo di eliminazione di Gauss Metodo di Jacobi Metodi iterativi per equazioni scalari non lineari Introduzione alla interpolazione polinomiale Introduzione alla quadratura numerica
Nella pagina e-learning del corso sarà reso disponibile materiale didattico relativo agli argomenti delle lezioni.
|
Date di inizio e termine delle attività didattiche
|
- |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Docente
|
PUPPO GABRIELLA ANNA
(programma)
Introduzione alla programmazione (30 ore in aula e 15 in laboratorio )
Aritmetica della macchina, nozione e propagazione degli errori Algoritmi: Costo computazionale ed efficienza Programmazione in pseudocodice e introduzione alle istruzioni per il controllo del flusso Compilatori e ambienti di sviluppo integrato Struttura di base dei programmi in C Variabili, tipo, istruzioni di INPUT/OUTPUT Operatori aritmetici, cicli Operatori relazionali, logici, espressioni condizionali Libreria math.h Linee di guida per lavorare in ambiente Linux Arrays e allocazione della memoria Ordinamento di vettori Funzioni C++ Visualizzazione grafica di funzioni e dati
Introduzione all’Analisi Numerica (30 ore in aula e 15 in laboratorio)
Metodo di eliminazione di Gauss Metodo di Jacobi Metodi iterativi per equazioni scalari non lineari Introduzione alla interpolazione polinomiale Introduzione alla quadratura numerica
1. Luis J. Aguilar, “Fondamenti di programmazione in C++”. McGraw-Hill, 2008. 2. Brian W. Kernighan, Dennis M. Ritchie, “Linguaggio C”. 3. W. Gautschi, “Numerical analysis. An introduction”. Birkhäuser Boston, Inc., Boston, MA, 1997. 4. A. Quarteroni, R. Sacco, F. Saleri, “Matematica Numerica”. Springer-Collana, 2000.
Nella pagina e-learning del corso sarà reso disponibile materiale didattico relativo agli argomenti delle lezioni.
|
Date di inizio e termine delle attività didattiche
|
- |
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Metodi di valutazione
|
Prova scritta
Prova orale
|
Canale: 2
Docente
|
FALCONE MAURIZIO
(programma)
Introduzione alla programmazione (28 ore in aula e 12 in laboratorio )
Aritmetica della macchina, nozione e propagazione degli errori Algoritmi: Costo computazionale ed efficienza Programmazione in pseudocodice e introduzione alle istruzioni per il controllo del flusso Compilatori e ambienti di sviluppo integrato Struttura di base dei programmi in C Variabili, tipo, istruzioni di INPUT/OUTPUT Operatori aritmetici, cicli Operatori relazionali, logici, espressioni condizionali Libreria math.h Linee di guida per lavorare in ambiente Linux Arrays e allocazione della memoria Ordinamento di vettori Funzioni C++ Visualizzazione grafica di funzioni e dati
Introduzione all’Analisi Numerica (30 ore in aula e 14 in laboratorio)
Metodo di eliminazione di Gauss Metodo di Jacobi Metodi iterativi per equazioni scalari non lineari Introduzione alla interpolazione polinomiale Introduzione alla quadratura numerica
Testi 1. Luis J. Aguilar, “Fondamenti di programmazione in C++”. McGraw-Hill, 2008. 2. Brian W. Kernighan, Dennis M. Ritchie, “Linguaggio C”. 3. W. Gautschi, “Numerical analysis. An introduction”. Birkhäuser Boston, Inc., Boston, MA, 1997. 4. A. Quarteroni, R. Sacco, F. Saleri, “Matematica Numerica”. Springer-Collana, 2000.
Nella pagina e-learning del corso sarà reso disponibile materiale didattico relativo agli argomenti delle lezioni.
|
Date di inizio e termine delle attività didattiche
|
- |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Docente
|
Saluzzi Luca
|
Date di inizio e termine delle attività didattiche
|
- |
Modalità di frequenza
|
Non obbligatoria
|
|
|