Vai al contenuto principale
Oggetto:
Oggetto:

Tecniche di calcolo per la fisica

Oggetto:

Applications of Computational tecniques for physics

Oggetto:

Anno accademico 2017/2018

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
Prerequisiti
Propedeutico a
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.

The course has the main educational goal to enable the students of Physics to implement, using computer languages Object Oriented, an algorithm to solve a physical problem. This education can be used by the student both concerning the following experimental courses and the writing of the thesis, which often requires the development of software or integration with an already existing software, and concerning the working area since the graduands students of Physics often get easy job opportunities in the development of complex softwares.

In order to provide an overview of computer programming Object Orienteds without specifically favoring one single language, the course plans to deal with two different computer languages: C++ and Java. This will make the students able to have a overall view about the programming paradigms and to be than receptive to subsequent computer languages which will be introduced in the future.    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. Further details shown below.

C++ The educational goal is to provide the basci knowledge about computer programming focused on objects using the computer language C++. 

Java The goal of the course is to develop the skills necessary to use the  computer language Java (meant as Java 2 Platform Standard Edition – J2SE with jdk1.6) for the development of applications Object Oriented. To use properly the basic concepts of computer programming Object Oriented such as hereditariness, overloading, overriding, access control, access modifiers, interfaces, abstract classes. To develop applications for the IO management. To manage the graphical interfaces properly to create applications by the AWT. To programme using the threads and to properly manage the sockets for the TCP/IP communication. To implement distributed applications properly. Achieved the sufficient knowledge for the Object Oriented computer programming in Java, the educational goal is to provide the basics of Numerical Calculus for the solution to mathematical problems. The attempt will be to develop the student capability to face the solution to a real problem by means of the Object Oriented computer programming in Java Language, using the suitable numerical method.

Oggetto:

Risultati dell'apprendimento attesi

Oggetto:

Modalità di insegnamento

Oggetto:

Modalità di verifica dell'apprendimento

prova pratica

Practical Examination

Oggetto:

Attività di supporto

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

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:

Orario lezioni

Lezioni: dal 26/09/2016 al 28/11/2016

Nota: Orario visualizzabile alla sezione "Orario lezione"

Oggetto:

Note

Oggetto:
Ultimo aggiornamento: 31/05/2017 09:24
Location: https://fisica.campusnet.unito.it/robots.html
Non cliccare qui!