Vai al contenuto principale
Oggetto:
Oggetto:

Tecniche di calcolo per la fisica

Oggetto:

Applications of Computational techniques for Physics

Oggetto:

Anno accademico 2019/2020

Codice dell'attività didattica
MFN0575
Docenti
Prof. Fabrizio Bianchi (Titolare del corso)
Dr. Jacopo Pellegrino (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 è di fornire agli studenti le competenze fondamentali sul linguaggio Java (in particolare Java 8). Oltre a questo si intende presentare agli studenti i concetti di base della programmazione Object Oriented quali l'ereditarietà, l'overloading, l'overriding, il controllo di accesso, i modificatori di accesso, le interfacce, le classi astratte. Verranno anche forniti cenni di programmazione più avanzata come gestione delle eccezioni, gestione di I/O, creazione di applicazioni con interfaccia grafica e cenni sull'utilizzo dei pattern.

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 aim of the course is offer to the students a fundamental knowledge of the Java language (namely Java 8). Moreover, the basics concepts of Object Oriented programming will be presented such as hierarchy, overloading, overriding, encapsulation, access modifiers, interfaces and abstract classes. Some hints about advanced programming will be provided as well such as the exceptions management, I/O, design of application with graphical user interface and the application of patterns.

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 Object Oriented in Java: concetti di programmazione base, applicazione dei concetti OOP (Object Oriented Programming)

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

Java  Introduction to Object Oriented Programming in JAva: basic programming concepts, application of OOP concepts (Object Oriented Programming)

Testi consigliati e bibliografia

Oggetto:

  • C++

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

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

  • Java

De Sio Cesari, Manuale di Java 8, Hoepli, ISBN: 978-88-203-6291-1

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

  • UML

M.Fowler UML Distilled AddisonWesley2001

  • Pattern 

Gamma, Helm, Johnson, Vlissides Design Patterns, Pearson Addison Wesley, ISBN: 978-88-7192-150-1

Metsker, Design pattern in Java, Pearson Addison Wesley, ISBN: 88-7192-189-5

 

  • C++

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

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

  • Java

De Sio Cesari, Manuale di Java 8, Hoepli, ISBN: 978-88-203-6291-1

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

  • UML

M.Fowler UML Distilled AddisonWesley2001

  • Pattern 

Gamma, Helm, Johnson, Vlissides Design Patterns, Pearson Addison Wesley, ISBN: 978-88-7192-150-1

Metsker, Design pattern in Java, Pearson Addison Wesley, ISBN: 88-7192-189-5

 







Oggetto:

Orario lezioni

Lezioni: dal 23/09/2019 al 22/11/2019

Nota: Orario visualizzabile alla sezione "Orario lezione"

Oggetto:

Note

Oggetto:
Ultimo aggiornamento: 25/10/2018 10:26
Non cliccare qui!