Vai al contenuto principale
Coronavirus: aggiornamenti per la comunità universitaria / Coronavirus: updates for UniTo Community
Oggetto:
Oggetto:

Tecniche di calcolo per la fisica

Oggetto:

Applications of Computational tecniques for physics

Oggetto:

Anno accademico 2013/2014

Codice dell'attività didattica
MFN0575
Docenti
Prof. Fabrizio Bianchi (Titolare del corso)
Dott. Walter Allasia (Titolare del corso)
Corso di studi
008703 Laurea in Fisica
Anno
3° anno
Periodo didattico
Primo periodo didattico
Tipologia
C=Affine o integrativo
Crediti/Valenza
6
SSD dell'attività didattica
FIS/01 - fisica sperimentale
Modalità di erogazione
Tradizionale
Lingua di insegnamento
Italiano
Modalità di frequenza
Facoltativa
Tipologia d'esame
Prova pratica
Modalità d'esame
prova pratica
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Il corso ha l'obiettivo formativo principale di permettere agli studenti di Fisica di essere in grado di implementare in linguaggi orientati agli oggetti un algoritmo per la risoluzione di un problema fisico. Questa formazione potrà essere sfruttata dall'allievo sia per i successivi corsi di esperimenti e lo svolgimento della tesi, che spesso richiede lo sviluppo di software o l'integrazione con software esistente, sia in campo professionale dato che spesso i laureandi di Fisica trovano un facile sbocco lavorativo nello sviluppo di software complesso.

Al fine di dare una panoramica della programmazione orientata agli oggetti senza prediligere specificatamente un linguaggio, il corso prevede di affrontare due linguaggi distinti: il C++ e il Java. Questo permetterà agli allievi di avere una visione di insieme dei paradigmi di programmazione e di essere quindi aperti a successivi linguaggi ad oggetti che si presenteranno nel futuro. Di seguito un dettaglio.

C++ L'obiettivo formativo è di fornire le conoscenze di base della programmazione orientata agli oggetti utilizzando il linguaggio C++. 

Java L’obiettivo del corso è quello di far maturare le competenze necessarie ad utilizzare il linguaggio Java (inteso come Java 2 Platform Standard Edition – J2SE con jdk1.6) per lo sviluppo di applicazioni Object Oriented. Utilizzare correttamente i concetti basi della programmazione ad oggetti quali l’ereditarietà, l’overloading, l’overriding, il controllo di accesso, i modificatori di accesso, le interfacce, le classi astratte. Sviluppare applicazioni per la gestione dell’IO. Gestire correttamente le interfacce grafiche per la creazione di applicazioni con l’AWT. Programmare con i thread e gestire correttamente i socket per la comunicazione TCP/IP. Implementare correttamente della applicazioni distribuite. Acquisite le conoscenze sufficienti per la programmazione ad oggetti in Java, l'obiettivo formativo è quello di fornire le basi del calcolo numerico per la risoluzione di problemi matematici. Si cercherà quindi di far maturare negli allievi la capacità di affrontare la risoluzione di un problema reale con la programmazione orientata agli oggetti in linguaggio Java, utilizzando l’opportuno metodo numerico.

Oggetto:

Programma

C++  Introduzione alla programmazione orientata agli oggetti - Nozioni di base ed avanzate del linguaggio C++

Java  Introduzione alla programmazione in Java La programmazione Object Oriented in Java Elementi di programmazione avanzata in Java Gestione delle Eccezioni, Input e Output in Java Il package AWT, I Thread Il Net Working.  Metodi per la soluzione di ODE con una condizione al contorno - L’equazione di Eulero - RungeKutta - Predictor-Corrector. Metodi per la risoluzione di Equazioni Integrali: integrazione numerica (quadratura) - Trapezoidale o Simpson’s o [Bode’s] - Integrazione Monte Carlo Utilizzo di librerie grafiche (package javagently, JfreeChart) per il rendering dei risultati.

 

C++ Introduction to Object Oriented Programming. Introduction to the C++ language. Basic and advanced topics.

Java  Introduction to the Java Language and the OOP making use of Java. Advanced Java programming with Exception management, I/O, Abstract Windowing Tookit, Thread and Networking. Once students have acquired enough expertise on language, it will be used for implementing basic numerical methods for solving Physiscs problems. There will be introduced ODE techniques such as Eulero equation, the Runge Kutta and Predictor Corrector. Hence basic integration techniques such as Equally-Spaced Abscissas and Monte Carlo methods. Results will be plot on graphs making use of open source graphic libraries such as JavaGently and JFreeChart.

Testi consigliati e bibliografia

Oggetto:

H Deitel and  P Deitel C++ How to Program  4th Edition - Prentice Hall

 

H.Shildt Java McGrawHill

 

William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery NumericalRecipesin in C++ The Art of Scientific Computing 2nd Edition  Cambridge University Press, 2002

 

Judy Bishop Java Gently for Engineers and Scientists 3rd Edition Addison Wesley,

 

M.Fowler UML Distilled AddisonWesley2001

 

B.E. Wampler The Essence of Object-Oriented Programming with Java and UML Addison Wesley, 2001



Oggetto:
Ultimo aggiornamento: 23/07/2014 09:12