Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x

FONDAMENTI DI INFORMATICA

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

 

INSEGNAMENTI PROPEDEUTICI

(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à.

 

RISULTATI DI APPRENDIMENTO ATTESI

(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.