• Non ci sono risultati.

PROGRAMMA DELLE ATTIVITA’ DIDATTICHE SVOLTE PRO 7-03 MODULO 34

N/A
N/A
Protected

Academic year: 2021

Condividi "PROGRAMMA DELLE ATTIVITA’ DIDATTICHE SVOLTE PRO 7-03 MODULO 34"

Copied!
1
0
0

Testo completo

(1)

PROGRAMMA DELLE ATTIVITA’

DIDATTICHE SVOLTE

PRO 7-03 MODULO 34

Rev. 02 Data 24-05-10 Pagina 1 di 1

PROGRAMMA DELLE ATTIVITA’ SVOLTE NELL’ANNO SCOLASTICO 2018/19

MATERIA INFORMATICA

DOCENTE ANTONIO GIUSA

CLASSE IV E

ARGOMENTI SVOLTI

Software engineering: Algoritmi distribuiti e programmazione concorrente: résumé su OS, thread e processi; light weight process;

meccanismi di IPC dei sistemi UNIX-like, tracing; syscall ptrace; struttura tipica di un debugger; problemi classici dell’IPC: race

conditions; soluzioni per la mutual exclusion: lock, Peterson; problema producer-consumer (P-C): soluzione con sleep/wakeup; soluzioni di Dijkstra, Dekker e Peterson; semafori, mutex; istruzioni di tipo TSL; problemi di race condition con i semafori; message passing;

Testing del software: tecniche di testing (strutturale e funzionale); testing strutturale; flow testing; control flow testing; path coverage;

multiple condition coverage; branch coverage; statement coverage; criteri di scelta dei case test; esempi di applicazione del white box testing; complessità ciclomatica di un grafo (metrica di McCabe).

Programmazione concorrente con OpenMP: metodi di parallelizzazione e sull'uso di variabili shared e private; dipendenze dei dati;

clausole parallel e end parallel; parallelizzazione coarse-grained; direttive di controllo dei thread: barrier, master, single, critical, ordered;

clausole default, firstprivate e lastprivate; riduzioni e clausola reduction; funzioni num_threads(), omp_get_thread_num(), omp_get_num_threads(), omp_set_num_threads(nthreads), schedule(...) (e tipi di scheduling); compilazione condizionale variabili d'ambiente; buone pratiche per l'uso corretto della parallelizzazione.

Stack buffer overflow: struttura di stack e heap; indirizzo di rientro (ret), ebp ed esp; buffer overflow e iniezione di codice.

Architettura: Architetture CISC e RISC: definizione di performance; ottimizzazione della performance; architetture RISC, storia e peculiarità; ISA RISC; ISA del PDP-8; stack-based CPU; accumulator-based CPU; load/store based CPU; complessità degli ISA; ISA CISC; confronto tra CISC e RISC; architetture reali; ottimizzazione di una pipeline RISC; prodotto scalare in C e in assembly CISC e RISC.

Linguaggi di programmazione: C++: Puntatori e aritmetica dei puntatori; variabili globali e locali; scope; variabili statiche; classi storage;

passaggio di parametri per valore e per riferimento; esempi; oggetti e classi; definizione di una classe; istanza di una classe; uso dei metodi di una classe; specificatori di accesso; costruttori; ereditarietà; implementazione di un tipo stack; costruttori e distruttori; liste di inizializzazione; oggetti costanti; funzioni d'accesso; funzioni membro private; costruttore di copia; distruttori; static data members;

output formattato.

Metodi numerici: frattali; dimensione di autosimilarità; insieme di Cantor; numeri complessi e rappresentazione geometrica; operazioni in campo complesso e interpretazione geometrica; mappe iterative complesse; orbite divergenti e confinate; insiemi di Julia; insieme di Mandelbrot; algoritmo per la rappresentazione grafica dell'insieme di Mandelbrot; implementazione in Netlogo; implementazione in Java di una classe Complex (numero complesso); programma Java per l'insieme di Mandelbrot che usa la classe Complex; Wolfram Mathematica: variabili; operatori matematici elementari; costanti principali; approssimazioni; funzioni matematiche comuni; uso della shell e della output history; liste, vettori, operazioni sulle liste; funzioni Plot e Plot3D; funzione Manipulate; definizione di funzioni.

Calcolo di pi greco con il metodo Monte Carlo; programmi di esempio in C e Java; calcolo di pi greco con metodo MC (implementazioni in C e Java).

Sistemi: definizioni; proprietà; classificazione; stato interno; rappresentazioni; funzione di transizione; funzione di trasformazione;

sistemi di controllo a catena aperta e a catena chiusa; retroazione; sistemi invarianti e varianti; sistemi discreti e continui; sistemi statici e dinamici; sistemi deterministici e

stocastici; sistemi combinatori e sequenziali. Automi: definizione, automi a stati finiti, funzioni di transizione e trasformazione negli automi a stati finiti, automi riconoscitori, rappresentazione degli automi a stati finiti, diagramma degli stati; stati di memoria; tabelle di transizione; automi con e senza ripetizione; automi impropri o di Mealey; automi propri o di Moore; automi senza uscite; Macchina di Turing; definizione e caratteristiche; tesi di Church – Turing; macchine di Turing per la computazione della somma, del riconoscimento di stringhe palindrome, etc.

Approfondimenti: tecninche di deep faking ed impatto sociale; agenti intelligenti; evoluzione delle CPU Intel; stack smashing; metodi per il calcolo di pi greco; architettura di una ALU; storia dei web browser; AI e assistenti digitali; crittografia a chiave privata e pubblica, principali algoritmi; Enigma: storia, funzionamento, debolezze ed implementazione in Python; reti 5G; AI, ANN, AlphaStar e Pluribus;

testing strutturale del software; IPC; fuzzy sets e logica fuzzy; AI debole e giochi combinatori.

Gli argomenti del programma sono stati presentati sia in lingua italiana che in lingua inglese.

Carrara, 6 giugno 2020

Firma del docente

Riferimenti

Documenti correlati

Ci possono essere archi che portano in locazioni distinte ma che condividono parzialmente le activation. Le attivazioni non sono necessariamente sulle frontiere

A mathematical model is a formal model whose primary semantics is denotational; that is, the model describes by equations a relationship between quantities and how they change

in un campo vettoriale la direzione e l’intensit `a della derivata dipende dal punto, ma non dal tempo, quindi si tratta di un’equazione autonoma..

IDA (Independent Dynamics hybrid Automata) consentono identity resets tra locazioni che hanno la stessa dinamica Possiamo ridurre il problema della raggiungibilit `a per FOCoRe e IDA

Using -semantics and assuming both bounded invariants and decidability for specification language, we have decidability of reachability problem for hybrid automata.

A C++ package for set-based analysis of dynamical and control systems, including reachability analysis, robust simulation and safety verification. Balluchi, Casagrande,

Nel caso di un automa di Mealy per ogni stato corrente possibile e per ogni combinazione degli ingressi viene indicato sia lo stato prossimo raggiunto dall’automa che

Ma anche nomi più complessi di simboli, se servono a rendere più comprensibile lo scenario rappresentato:.. –