[normattiva_dump]

far comprendere ed analizzare criticamente gli aspetti tecnici, organizzativi, culturali e sociali dell'uso dell'informatica nei vari settori di applicazione. Ruolo fondamentale per il raggiungimento degli obiettivi proposti, sarà svolto dalle esercitazioni di laboratorio; questo sarà costantemente inteso non solo come luogo di pura applicazione addestrativa di procedimenti già appresi, ma anche come ambiente nel quale verificare la correttezza delle ipotesi e dei procedimenti adottati. La distribuzione delle ore di quest'ultimo, durante il triennio, è organizzata in un modo decrescente, sia per rafforzare il ruolo formativo di base attribuito all'uso del laboratorio in questo contesto, sia per finalizzare gli sforzi dell'ultimo anno di corso alla produzione, in stretta armonia con le altre discipline, di lavori a carattere interdisciplinare e progettuale, i quali dovranno essere valorizzati in sede di valutazione finale. Le prove scritte, ivi comprese quelle di esame, avranno carattere di operatività, di compatibilità con diversi tipi di attrezzature, di rappresentatività rispetto alle competenze da acquisire ed alle esperienze condotte nel corso degli studi e di articolazione tale da consentire all'allievo la possibilità di scelta. III Classe (6 ore, di cui 4 di laboratorio) Nella parte iniziale del corso, gli allievi vengono coinvolti nella comprensione di problemi, rispetto ai quali l'elemento significativo è l'analisi e l'individuazione di una condotta risolutiva "logica", con la relativa rappresentazione; essi poi si rendono conto del vantaggio derivante dal possesso di mezzi ai quali affidare l'esecuzione pratica di tali lavori: le macchine, viste come amplificatori di certi sforzi mentali, vengono esaminate nella loro struttura logica e tecnologica. Gli allievi quindi affrontano il problema del rapporto con tali mezzi e cioè della comunicazione alle macchine con adeguati codici. A) Introduzione generale al corso. Motivazioni socio-economiche dell'automazione del calcolo, con riferimento all'evoluzione storica. Concetto di informazione e problemi inerenti (rappresentazione, trasmissione, trasformazione); concetto di segnale. Definizioni generali d'informatica e suoi rapporti con altre discipline. B) Algoritmi e strutture dati. Introduzione al concetto d'algoritmo. Calcolo come successione di trasformazioni simboliche. Formalizzazione dei procedimenti algoritmici. Costruzione di algoritmi relativi a problemi di varia natura e loro rappresentazioni. Insiemi di dati e loro strutture astratte notevoli (liste, pile, code, ecc.). C) Aspetti logici e tecnologici delle risorse. La macchina di calcolo come automa deterministico e discreto atto ad eseguire un algoritmo. Modello logico-funzionale delle macchine a programma: costituenti logici elementari, loro funzioni e relazioni; organizzazione gerarchica del lavoro durante l'esecuzione del programma. Struttura fisica di un elaboratore: realizzazioni e modi di accesso alla memoria, anche per quanto riguarda la rappresentazione interna dei dati, con elementi dell'aritmetica del calcolatore; rassegna di periferiche, loro principi dl funzionamento e problematiche relative al collegamento col calcolatore. Esame comparato, in relazione all'evoluzione tecnologica, del rapporto costo/prestazioni, per ciascuno degli elementi che possono essere presenti in una configurazione di sistema: presentazione, in questo quadro, dell'elaboratore installato presso la scuola. D) La comunicazione alla macchina: linguaggi a programmi. Il problema della codificazione delle informazioni e tipi di codici. Linguaggi orientati alla macchina: struttura delle istruzioni e loro classi. Programmi assemblatori e loro fasi di lavoro. Laboratorio. Codifica e verifica di algoritmi con macchine di calcolo programmabili elementarmente. Approccio sperimentale alle risorse del laboratorio per la introduzione dei concetti e dei principi della struttura dell'elaboratore. Introduzione alle tecniche di programmazione: generazione e verifica di programmi nel linguaggio assembler disponibile. I lavori precedenti permetteranno di concludere l'anno con la costruzione di un programma più vasto e riepilogativo a partire dall'analisi di un problema reale, avendo cura, in questa sede, di sottolineare la necessità di un'accurata documentazione. IV Classe (6 ore, di cui 3 di laboratorio) Il quarto anno ha lo scopo di approfondire le competenze relative alla comunicazione alla macchina su strutture più evolute (linguaggi simbolici) e nello stesso tempo di affinare le capacità d'affrontare problemi più complessi. Con ciò s'intende che l'allievo dovrà passare dalla capacità di analizzare situazioni semplici, riconducibili alla generazione di un programma ad un unico blocco, a procedure traducibili in più moduli tra loro gerarchicamente ed organicamente interrelati; le esercitazioni di laboratorio appaiono la sede in cui rendere operativa questa indicazione, a livelli crescenti di difficoltà, sviluppando competenze e conoscenze in merito. In ogni caso, dallo sviluppo delle parti precedenti, si farà discendere anche la necessità di uno studio approfondito delle prestazioni di un sistema operativo con esclusione, in questa sede, della parte relativa alla gestione del file. A) La comunicazione alla macchina: linguaggi e programmi. Approfondimento della tematica relativa alle varie classificazioni dei linguaggi di programmazione. Compilatori, interpreti e loro fasi di lavoro. Linguaggi orientati al problema: struttura delle istruzioni e loro classi. Studio di un particolare linguaggio orientato a problemi scientifico-tecnici. B) Razionale gestione delle risorse. Problemi di efficienza nella gestione delle risorse con conseguente sviluppo del software di base. Autogestione di un sistema di elaborazione: sistemi operativi (componenti logici, funzioni, relazioni e caratteristiche) e loro sviluppo anche in relazione all'evoluzione dell'architettura del sistema. Sistemi in multiprogrammazione, in tempo reale e per l'elaborazione a distanza. Laboratorio. Generazione e verifica di programmi scritti nel linguaggio simbolico studiato. Utilizzazione di subroutine. Utilizzazione di librerie. Tecniche particolari di programmazione (segmentazione, overlay etc.). Conoscenza pratica del sistema operativo installato presso la scuola. Le attività del laboratorio debbono essere impostate in modo tale che le esercitazioni di programmazione sviluppino i collegamenti con altri insegnamenti del corso e consentano di verificare gli elementi teorici sul particolare sistema operativo disponibile, abituando gli allievi all'uso autonomo dei manuali di sistema. In ogni caso sarà posta particolare attenzione al problema della documentazione da produrre insieme ai programmi oggetto di esercitazioni. V Classe (5 ore, di cui 2 di laboratorio) Scopi fondamentali del quinto anno, mantenendo costante la visione sistemica che è propria di questa materia come di tutto il piano di studi, sono quelle di pervenire ad una sintesi organica delle conoscenze e delle competenze acquisite e di favorire lo sviluppo di una capacità di valutazione critica, sia tecnica che generale dell'impatto dell'elaboratore in qualunque sistema produttivo di beni o di servizi. In particolare si tenderà a consolidare e ad arricchire gli elementi di professionalità, specie nel settore della produzione sistematica del software, utilizzando o standard esistenti sul mercato o metodologie proposte dagli insegnanti. Per quanto riguarda i criteri di dimensionamento e di scelta di un sistema elaboratore, è consigliabile ricorrere allo studio di casi reali, soprattutto nel settore di applicazioni del minicalcolatore e in riferimento alla possibilità di accedere alla documentazione relativa, mediante l'organizzazione di visite preparate. A) Elementi di programmazione avanzata. Archivi: