SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/31
LAUREA TRIENNALE IN INGEGNERIA INFORMATICA
ANNO ACCADEMICO: 2022-2023
INFORMAZIONI GENERALI - DOCENTE
Docente: corso a canali multipli
Telefono:
Email:
INFORMAZIONI GENERALI - ATTIVITÀ
INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): I
SEMESTRE (I, II): I
CFU: 9
(se previsti dall'Ordinamento del CdS)
...................................................................................................................................................
EVENTUALI PREREQUISITI
...................................................................................................................................................
OBIETTIVI FORMATIVI
Fornire le nozioni di base per le discipline informatiche, introducendo lo studente allo studio dei fondamenti teorici dell’informatica, dell’architettura dei calcolatori e dei linguaggi di programmazione ad alto livello. Fornire le conoscenze necessarie per lo sviluppo di programmi per la risoluzione di problemi di limitata complessità.
(Descrittori di Dublino)
Conoscenza e capacità di comprensione
Lo studente deve dimostrare di conoscere, saper comprendere e saper descrivere i concetti di base relativi all’informatica teorica, all’architettura dei calcolatori e ai linguaggi di programmazione ad alto livello. Inoltre, lo studente deve dimostrare di conoscere e saper comprendere i programmi per la risoluzione di problemi di limitata complessità.
Capacità di applicare conoscenza e comprensione
Lo studente deve dimostrare di saper applicare le conoscenze apprese per la soluzione di semplici problemi di programmazione, progettando e sviluppando programmi per la soluzione di problemi di limitata complessità.
PROGRAMMA-SYLLABUS
Il concetto di elaborazione e di algoritmo. I modelli in Informatica. Automi a stati finiti: definizione, grafo e tabella. Macchina di Turing. Calcolabilità.
Algebra di Boole: definizioni e teorema di De Morgan. Funzioni booleane. L’algebra della logica delle proposizioni.
La codifica e la rappresentazione dell’informazione. Rappresentazione dei numeri naturali, relativi, reali.
Fondamenti di architettura dei sistemi di elaborazione: il modello di Von Neumann, funzionamento del processore. Le memorie, l’Input/Output.
Il sistema operativo. Il ciclo di vita di un programma. Traduttori ed interpreti. I linguaggi di programmazione: grammatiche; la Backus-Naur Form.
Fondamenti di programmazione: tipi di dato semplici strutturati; istruzioni elementari e strutture di controllo.
La programmazione strutturata. Array. I sottoprogrammi e le librerie standard.
Allocazione dinamica e puntatori. Algoritmi su sequenze e array. Strutture e stringhe. Operazioni di Input/Output verso le memorie di massa.
I tipi di dato astratto: liste, pile, code. Algoritmi di ricerca ed ordinamento.
Il linguaggio C++. Impiego di un ambiente di sviluppo dei programmi con esempi di algoritmi fondamentali e di gestione di tipi di dato astratto. Elementi di programmazione ad oggetti.
MATERIALE DIDATTICO
A. Chianese, V. Moscato, A. Picariello, C. Sansone: Le radici dell’Informatica: dai bit alla programmazione strutturata, Maggioli Editore, 2017.
E. Burattini, A. Chianese, A. Picariello, V. Moscato, C. Sansone, Che C serve? per iniziare a programmare, Maggioli Editore, 2016.
MOOC “Fondamenti di Informatica” disponibile sulla piattaforma Federica.EU (www.federica.eu)
MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO
I docenti utilizzeranno:
a) lezioni frontali per circa il 60% delle ore totali,
b) ed esercitazioni sullo sviluppo di programmi in linguaggio C++ per circa il 40% delle ore totali.
Le esercitazioni vengono svolte in aula e/o in laboratorio con l’utilizzo di un ambiente di sviluppo integrato ed attraverso piattaforme per laboratori didattici virtuali.
VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE
a) Modalità di esame:
L'esame si articola in prova: | |
Scritta e orale | |
Solo scritta o intercorso a metà | |
Solo orale | |
Discussione di elaborato progettuale | |
Altro (prova al calcolatore) |
In caso di prova scritta i quesiti sono (*): | |
A risposta multipla | |
A risposta libera | |
Esercizi numerici |
b) Modalità di valutazione:
L’esito della prova di programmazione è vincolante ai fini dell’accesso alla prova orale.