COMPUTER SCIENCE FOR PHYSICS

INF/01 - 6 CFU - 1° semestre

Docente titolare dell'insegnamento

MARCO RUSSO


Obiettivi formativi

Lo studente acquisirà:

Inoltre, in riferimento ai cosiddetti Descrittori di Dublino, questo corso contribuisce a acquisire le
seguenti competenze trasversali:

Conoscenza e capacità di comprensione (knowledge and understanding):

L'obiettivo primario del corso è individuato nell’acquisizione da parte degli studenti della “filosofia” della programmazione ad oggetti a prescindere dal linguaggio di programmazione. Altro obiettivo è quello di comprendere i colli di bottiglia del software da realizzare al fine di ottimizzare in termini di velocità/memoria. Ulteriore obiettivo e quello di sapere divulgare in forma scritta la conoscenza acquisita e/o sviluppata attraverso i propri software. In ultimo si intende, in maniera facoltativa, fornire i rudimenti dell'intelligenza artificiale.

Capacità di applicare conoscenza e comprensione (applying knowledge and understanding),

Si intende fornire agli studenti le seguenti abilità:

  1. Tradurre in codice ad oggetti i problemi da risolvere o i fenomeni da simulare;

  2. Progettare, descrivere ed implementare programmi e librerie ad oggetti;

  3. Saper usare gli strumenti di base per la programmazione ad oggetti;

  4. Comprendere ed analizzare codice ad oggetti anche in termini di efficienza;

Autonomia di giudizio (making judgements).

Attraverso l'esame di numerosi esempi di codice e una consistente componente pratica che prevede lo svolgimento di esercizi all'elaboratore, il discente sarà in grado, sia in forma autonoma che in forma cooperativa, di analizzare problemi e progettare ed implementare le relative soluzioni software ad oggetti ed ottimizzate in velocità e/o memoria.

Abilità comunicative (communication skills).

lo studente acquisirà le necessarie abilità comunicative e di appropriatezza espressiva nell'impiego del linguaggio verbale tecnico nell'ambito della programmazione ad oggetti degli elaboratori. In maniera facoltativa acquisirà competenze comunicative acne nel campo dell'intelligenza artificiale.

Capacità di apprendimento (learning skills).

Il corso intende fornire al discente le necessarie metodologie teoriche e pratiche da mettere in campo in contesti di ricerca e professionali con particolare attenzione all'ambito fisico.


Modalità di svolgimento dell'insegnamento

Lezioni frontali ed esercitazioni pratiche

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato, al fine di rispettare il programma previsto e riportato nel syllabus.

Should the circumstances require online or blended teaching, appropriate modifications to what is hereby stated may be introduced, in order to achieve the main objectives of the course.


Prerequisiti richiesti

Informatica e laboratorio



Frequenza lezioni

Obbligatoria



Contenuti del corso

Dalla programmazione strutturata agli oggetti

- Rivisitazione di variabili,indirizzi, array e puntatori in C.

- Puntatori a funzioni

- Il passaggio dei valori alle funzioni ed i riferimenti

- Allocazione dinamica della memoria

- La creazione delle librerie, headers, object files e linking.

- Il concetto di programmazione ad oggetti applicato a un qualsiasi linguaggio di programmazione

- Il concetto di riusabilità del codice e di modificabilità dello stesso

- Esempi pratici di oggetti in C.

- Classi, data hiding e tipi di dato astratto

- Membri a livello di classe

- Costruttori e distruttori degli oggetiti

- Ereditarietà

- Polimorfismo

- Esempi di programmazione di oggetti di tipo: pila, coda ed albero.

 

Cenni di tecniche di intelligenza artificiale

- Fuzzy Logic

- Reti Neurali

- Clustering

- Algoritmi genetici

- Programmazione genetica

- Applicazioni nel campo della Fisica



Testi di riferimento

Appunti forniti a lezione. Tali appunti, il codice sviluppato a lezione e qualunque altro materiale utile per il corso sarà disponibile sul sito del docente: superpippo.ct.infn.it/~marco/didattica.


Altro materiale didattico

superpippo.ct.infn.it/~marco/didattica



Programmazione del corso

 ArgomentiRiferimenti testi
1La prima parte del corso e' obbligatoria. 
2La seconda e' facoltativa 


Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

Tesina pratica svolta in accordo col docente. Concordato l'argomento, in totale liberta' temporale da parte dello studente, si procede alla realizzazione di un opportuno codice ad oggetti in C. Assieme al codice si prevede la consegna di una relazione scritta preferibilmente in latex. Nella valutazione finale dello studente si terranno in considerazione sia il codice che la relazione.


ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI

Vedere su superpippo.ct.infn.it/~marco o sul gruppo fb che di anno in anno viene creato




Apri in formato Pdf English version