- 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: