Corso Di Laurea Ingegneria Meccanica
Nuovo Ordinamento Corso di Informatica e Ulteriori Abilità Informatiche
Docente : Ing. Giovanni Secondulfo
Argomenti trattati e materiali didattici
Concetti fondamentali. I concetti dell'informatica : informazione,
dato, codifica, elaborazione, algoritmo. Il modello di automa a stati finiti.
Elaboratori numerici ed analogici. Il bit. Misura dell’informazione. Le
macchine di Turing. Calcolabilità, tesi di Church, problema dell’arresto.
La Macchina Astratta Generalizzata. Hardware e software.
Ciclo di vita del
Software. Analisi del
Contesto, Modello Waterfall modificato, Paradigma della Prototipazione, Cenni
all'engineering e reverse-engineering del software, Requisiti realizzativi
di un buon algoritmo e di un buon software
Il modello di Von Neumann. Processore, memoria centrale e di
massa, registri, unità di I/O, ALU. Algoritmo del processore. Cenni al linguaggi
macchina ed assemblativo.
Architettura di un Elaboratore. Bus, CPU, Gerarchie di Memorie, Interfacce di I/O, Algoritmo del Processore, Algoritmo e trattamento delle interruzioni, Ciclo del Processore.
Rappresentazione e codifica dei dati. La funzione intero ed il resto in modulo.
Il bit: tipo elementare e misura dell’informazione. Codifica a lunghezza
fissa e variabile. Rappresentazione in macchina dei dati: registri. Codifica
diretta e indiretta. Codici ridondanti. Il sistema di numerazione posizionale.
Sistemi di numerazione binaria, ottale, esadecimale, decimale. Codici BCD.
Conversione di base. Rappresentazione dei caratteri. Codice ASCII.
Rappresentazione dei numeri. Rappresentazione ed aritmetica dei
numeri naturali. Rappresentazione in segno e modulo. Rappresentazione in
complementi (cenni). Rappresentazione di numeri reali e frazionari. Virgola
fissa. Virgola mobile e lo standard IEEE; singola e doppia precisione, Overflow
e Underflow.
Aritmetica del Calcolatore. Addizione, Sottrazione, Moltiplicazione
e Divisione.
Sistemi Operativi. Principi Generali, Process Control
Subsystem, Il File System, Input/Output subsystem, Memory Management Subsystem.
Impianti informatici
e reti telematiche. Tipologia di Reti : Reti locali e geografiche.
Livelli ISO-OSI, Internet Protocol Suite. Apparati e Servizi di rete servizi
di rete (cenni). Un esempio Applicativo la piattaforma di e-learnig netstre@m.
Sicurezza delle reti di elaboratori
I Virus Informatici. Definizione e Classificazione dei Computer
Viruses, Le nuove frontiere dei Virus Informatici. Un Caso di Studio Invisible
Man
Introduzione alla programmazione ed
ai linguaggi. Elaborazione.
Campi di impiego degli elaboratori. Linguaggi simbolici. Hardware e software.
I tipi semplici. I tipi: introduzione. Variabili e costanti. I tipi
nei linguaggi di programmazione. Definizioni e notazioni per le operazioni
sui tipi. Tipo intero. Tipo reale. Tipo carattere. Tipo enumerativo. Tipo
booleano. Relazioni e predicati. Funzioni per la trasformazione di tipo.
I tipi strutturati fondamentali. I tipi strutturati. Gli array. Allocazione degli array. Gli array nel linguaggio C++. Il tipo record. Il tipo record in C++. Dimensioni delle strutture dati in C++. Il tipo file. Il tipo astratto stringa di caratteri. La stringa nei linguaggi di programmazione.
Le istruzioni semplici. Dati ed istruzioni. Istruzioni di ingresso e di uscita. Istruzioni di calcolo. Istruzioni di calcolo e assegnazione nel C++. Sottoprogrammi, procedure e funzioni. I sottoprogrammi nel linguaggio C++. Meccanismi di scambio dei parametri. Istruzioni per il controllo di sequenza.
La programmazione strutturata. Le istruzioni strutturate Definizioni, Il costrutto sequenza. Costrutti di selezione. Costrutti di iterazione. Teorema di Bohm-Jacopini. Altri costrutti per il controllo di sequenza. Modalità di scrittura. Equivalenza strutturale e funzionale di Programmi.
Struttura dei programmi. Regole di visibilità e durata delle variabili; allocazione della memoria. Struttura dei programmi C++; direttive al preprocessore. file di intestazione (cenni).
Documentazione Programmi : File di Intestazione, Docmentazione Esterna, Documentazione Interna, Formulazione dell'algoritmo
Problemi di ricerca e ordinamento. Ordinamento e ricerca in un vettore. Esempi semplici di algoritmi matematici e computazionali. Lettura dei parametri di linea. Operazioni sui file. Utilizzo dei sottoprogrammi.
Generalità, Elementi chiave : Oggetti, Classi Messaggi, Ereditarietà, Un caso di Studio il Vettore: esempio Applicativo
Esercitazioni sullo sviluppo di programmi in linguaggio C++ vengono svolte in aula durante il corso. Esercitazioni guidate sull’uso di un ambiente di sviluppo in linguaggio C++ vengono svolte presso il laboratorio multimediale durante il corso.
Testo adottato:
|
B. Fadini, C. Savy: Fondamenti di Informatica I, Liguori Editore |
Testi consigliati:
|
Brian Kernighan, Dennis
Ritchie: Linguaggio C., Jackson, |
|
Bjarne Stroustrup: The C++ Programming Language
2nd Edition Addison-Wesley Publishing Co. |
|
Derek M. Capper : Introduzione a C++ per le scienze e l'ingegneria McGraw-Hill Libri Italia |
|
H. Schildt: Guida al C++, Mc Graw-Hill |
|
Deitel & Deitel: The complete C++ training
course, Prentice Hall |
|
Bruce Eckel: Thinking in C++ - 2nd
edition, Prentice Hall |
Materiale integrativo:
Si ringrazia il Prof. Giulio Iannello
per le dispense messe a disposizione
Il materiale del corso (Dispense, Trasparenze dalle lezioni,
Note Integrative su argomenti specifici e sulle lezioni di tipo seminariale) viene fornito in forma elettronica
sul sito ufficiale webdocenti di Facoltà utilizzando come keyword Secondulfo
Giovanni e sul sito
http://www.geocities.com/giosec/aa0304materiale.htm
Dispense, Trasparenze dalle lezioni, Note Integrative su argomenti specifici
e sulle lezioni di tipo seminariale sono inoltre depositate in forma cartacea
presso il centro fotocopie biennio seminterrato Via Claudio.
Software
didattici disponibili in rete.
Per qualsiasi
problema, chiarimenti o contatti, oltre all'orario ufficiale di riferimento,
si puo' contattare il docente agli indirizzi :
secondul@unina.it
giovanni.secondulfo@inwind.it