Istituto Tecnico Industriale Statale "Othoca" A.S. 2012/13 CLASSE: 2 F PROGRAMMA DI: Scienze e tecnologie applicate DOCENTE: Paolo Schirra a Numeri e calcolatori: l'aritmetica dei computer; i sistemi di numerazione binario e decimale; aritmetica binaria; la codifica dell'informazione numerica e alfanumerica; rappresentazione delle informazioni; il dato e l'informazione; i codici; la codifica e decodifica dell'informazione Le basi della programmazione: l'informatica e la matematica; l'informatica e gli algoritmi; I problemi e la strategia risolutiva; la formulazione del problema; l'astrazione del problema; l'analisi del problema e il suo modello; la strategia risolutiva dei problemi: scissione di un problema in sotto­problemi. Il risolutore del problema e l'esecutore (processore); descrizioni rigorose delle strategia risolutiva di un problema; gli algoritmi; rappresentazione degli algoritmi mediante lo pseudo­linguaggio e i diagrammi a blocchi; la classificazione dei dati: variabili e costanti; i tipi di dati e l'astrazione: il tipo intero, reale, carattere, stringa e booleano; tipi di dati ordinati; Espressioni e loro valutazione; l'ambiente di valutazione delle espressioni; La dichiarazione degli identificatori; le istruzioni di assegnazione; le istruzioni operative di input e output; dal problema al programma e la documentazione del : analisi del problema; progetto dell'algoritmo; verifica della correttezza dell'algoritmo e implementazione; Algebra booleana e logica: proposizioni ed enunciati; le funzioni logiche elementari: la congiunzione AND (prodotto logico), la disgiunzione OR (somma logica); la negazione NOT (complemento); la disgiunzione esclusiva (XOR); Gli operatori relazionali; le regole di precedenza degli operatori logici. La programmazione strutturata: il teorema di Corrado Böhm e Giuseppe Jacopini; i costrutti di sequenza, selezione e iterazione; L'organizzazione dei programmi: lo sviluppo top­down; le funzioni e le funzioni con parametri; il passaggio dei parametri; le regole di visibilità. Le programmazione in Python (release 2.7): Installazione di Python 2.7; l'interfaccia utente IDLE (Integrated­Development­Environment); la codifica interattiva per la prova del codice al prompt dell'IDLE di Python; Linee di comando di sistema e i file (utilizzo dell'editor IDLE di Python); La struttura di un programma Python; l'istruzione di output (print) e di input; I tipi e le operazioni in Python: i numeri e gli operatori per la valutazione delle espressioni; la tipizzazione dinamica; le conversioni di tipo; Le stringhe; alcuni metodi degli oggetti stringa; le liste (classe list) e le operazioni di base della classe list: chiamate ai metodi di lista; Istruzioni di assegnamento; espressioni come istruzioni; gli operandi e gli operatori di assegnazione; gli operatori aritmetici; gli operatori relazionali e logici; le istruzioni condizionali: il costrutto if … else e le regole della sintassi di Python; il costrutto iterativo while. Le funzioni in Python: codifica delle funzioni e loro chiamata; le regole di scopo e il passaggio degli argomenti; Introduzione alla programmazione orientata agli oggetti: i concetti generali della programmazione ad oggetti; conoscenze fondamentali per la codifica delle classi: le classe generano oggetti istanza multipli; la sintassi di Python per la codifica delle classe: l'istruzione class e i metodi. Istanza di una classe e richiamo dei metodi. Costituiscono parte integrante del presente programma tutte le esercitazioni svolte nel corso dell'anno scolastico che riguardano il progetto e implementazione di algoritmi per la risoluzione di semplici problemi. Sistemi e telecomunicazioni: la definizione di sistema; esempi di sistemi; i sottosistemi; caratteristiche e comportamento di un sistema: lo stato interno; I sistemi a catena aperta e a catena chiusa; La comunicazione: elementi base della comunicazione a distanza; visione sistemica delle telecomunicazioni; il sottosistema trasmettitore e il sottosistema ricevitore; il sottosistema canale; il rumore di un canale.