Sei in »» Didattica » Laurea Magistrale in Scienza e Ingegneria dei Materiali Innovativi e Funzionali » Insegnamenti
Informatica per le Scienze Applicate (Lezioni ed Esercitazioni)
Corso di Studio:
, Anno Accademico 2014/2015
Sett. Scien./disciplinare: INF/01
Tipologia Attività Formativa:
Altre Attività Formative
Ambito Disciplinare:
Abilità informatiche
Docente: Di Gregorio Salvatore
CFU: 5

Anno Corso:
1
Ore di lezione: 32
Ore di esercitazione:
12
Ore di studio individuale:
81
Informazioni sull'insegnamento:
Programma
ITALIANO1. Puntatori e strutture di dati: strutture di dati e algoritmi di gestione notevoli.
2. Programmazione ad oggetti: filosofia di base e approccio nel linguaggio di programmazione C++. Nozioni Classi ed astrazione di dati. Oggetti in generale. Overloading degli operatori. Ereditarietà. Funzioni virtuali e polimorfismo. Stream di input ed output nel C++.
3. Modelli computazionali per sistemi complessi: Automi Cellulari. Applicazioni a sistemi complessi fisici e non. Il problema della validazione dei modelli (back analysis) e gli Algoritmi Genetici.
4. Una introduzione al calcolo parallelo: Architetture parallele, Modelli di programmazione paralleli, disegno di programmi paralleli, accenno a MPI.
ENGLISH
1. Dynamic Memory in C and C++. Pointers and data structures.
2. Object-oriented Programming: Classes. Constructors and Destructors. Pointers to classes. Overloading Operators. this. Static members. Relationships between classes: friend. Inheritance. Virtual Members. Abstraction. Polymorphism. Input/Output with files
3. Computational paradigms for Complex Systems: Cellular Automata, Applications to complex physical systems. The validation problem of modeling (back analysis); Genetic Algorithms
4. Short introduction to parallel Computing: Parallel Architectues, Parallel Paradigms.
Testi di riferimento
Harvey M. Deitel, Paul J. Deitel, Fondamenti di programmazione C++, Apogeo 2001;Melany Mitchell, Introduzione agli algoritmi genetici, Apogeo 1999;
Articoli, dispense, rapporti scientifici etc.
Modalità di verifica dell'apprendimento
ITALIANO - L'esame consiste in una prova orale sulla teoria e nella presentazione e discussione di un progetto (sviluppato singolarmente o in gruppo) per quanto riguarda la modellazione e la simulazione di un qualche sistema fisicoENGLISH - Examination consists in an oral examination about the theory and in presentation and discussion of an end-term project (developed individually or in a group) regarding modelling and simulation of some phisical system.
Obiettivi formativi
ITALIANOGli obiettivi principali del corso riguardano l’acquisizione di metodologie di programmazione avanzate del tipo “programmazione ad oggetti” insieme a metodologie algoritmiche volte alla modellistica e simulazione di sistemi complessi. Una introduzione al calcolo parallelo preparerà gli
studenti ad un utilizzo non passivo di strumenti computazionali ormai ampiamente utilizzati nell’ambito della ricerca.
ENGLISH
The objectives of the course are the acquisition of "object-oriented programming" methods and computational methodologies for modeling and simulating some complex systems. A short introduction to parallel computing will prepare students to be familiar with such a computational
tool, widely used in research.