Nuova ricerca

SALVO FINISTRELLA

Docente a contratto
Dipartimento di Scienze e Metodi dell'Ingegneria

Insegnamento: Fondamenti di informatica

Ingegneria meccatronica (Offerta formativa 2023)

Obiettivi formativi

Conoscenze e capacità di comprensione:

- Comprendere i concetti base della computabilità (attraverso diagrammi di flusso e
concetti generali dell'algoritmica e dell'algebra di Boole), e dell'architettura dei
calcolatori elettronici, compresi sistemi operativi e il Web.
- Comprendere i concetti di base della programmazione attraverso un linguaggio di
programmazione. In particolare, si approfondirà la conoscenze dei
linguaggi di programmazione ad oggetti ed il linguaggio C++, anche in termini di
programmazione grafica.

Capacità di applicare conoscenza e comprensione:

- Sapere programmare applicazioni per calcolatori elettronici.

La capacità di applicare conoscenza e comprensione è considerata molto importante in
questo corso. Per superare agevolmente l'esame si consiglia agli studenti di seguire
con continuitá le lezioni e le esercitazioni del corso. Inoltre, si consiglia di non
focalizzare la preparazione dell'esame solo sullo studio delle slides,
ma piuttosto di preparare l'esame sperimentando direttamente i concetti presentati a
lezione programmando al calcolatore. Puó risultare estremamente difficile superare con
successo l'esame senza una conoscenza di tipo sperimentale, ottenuta con esercitazioni
in laboratorio.

Prerequisiti

Nessun prerequisito, se non una dimestichezza basilare con il computer (navigazione in
internet, creazione files e cartelle, download/upload di file, utilizzo editor di testo)

Programma del corso

La divisione a seguire dei contenuti del corso in ore è indicativa, poiché il riscontro
degli studenti potrà spostare il carico di studio tra un argomento e l'altro.

ALGORITMICA E TEORIA COMPUTAZIONE
- definizioni base dell'informatica (1 ora)
- algoritmi e diagrammi di flusso (3 ore)
- l'algebra di Boole e le tecnologie digitali (3 ore)
- la macchina di Turing (3 ore)

ARCHITETTURA CALCOLATORI
- la macchina di Von Neumann (3 ore)
- sistemi a microprocessore e periferiche (3 ore)

SISTEMI OPERATIVI
- Principi base (1 ora)
- Architettura sistemi operativi (4 ore)

SOFTWARE APPLICATIVO
- Ambienti di programmazione (2 ore)

PROGRAMMAZIONE IN LINGUAGGIO C++
- Introduzione al linguaggio C++, concetti base e primi esercizi (6 ore)
- Tipi di dato primitivi (3 ore)
- Dati strutturati e definiti dall'utente (6 ore)
- Strutture di controllo in C++ (2 ore)
- Procedure e Funzioni (3 ore)
- Oggetti e Classi (4 ore)
- Gestione dei file (3 ore)
- Puntatori e gestione della memoria (3 ore)
- Interfacce Utente

STRUTTURE DATI
- Concetti base sulle strutture dati (3 ore)
- Strutture lineari: liste e code (8 ore)
- Strutture non lineari: alberi (10 ore)

IDE QT CREATOR
-Interfacce grafiche

Questi argomenti possono essere di supporto allo svolgimento
di tirocini o tesi.

Metodi didattici

Lezioni frontali in classe per la trasmissione delle conoscenze, e esercitazioni
settimanali al calcolatore per acquisire capacità di applicare le conoscenze.

Testi di riferimento

Dispense del Docente (Notes of the teacher). Disponibili sul sito Sito Web Ufficiale
del Corso (Available on Moodle course website).

Dino Mandrioli, Stefano Ceri, Licia Sbattella, Paolo Cremonesi, Gianpaolo Cugola,
"Informatica. arte e mestiere", Terza Edizione, McGraw-Hill Libri Italia, 2008.

Verifica dell'apprendimento

L'esame consta di due parti:
-- Esame scritto al calcolatore sulla parte di programmazione (durata 2 ore,
consultabile tutto il materiale prodotto a lezione, incluso svolgimento esami vecchi
ed esercitazioni).
-- Esame orale sulla parte teorica del corso.

Sarà disponibile un esame parziale, nella pausa didattica prevista dal calendario
didattico, che includerà i soli argomenti teorici (la prima parte del corso).
Tale parziale è facoltativo.
Chi svolge e supera con successo il parziale svolgerà solamente la parte pratica
dell'esame alla fine del corso.

Istruzioni più dettagliate sono disponibili sul sito ufficiale Moodle del corso.
Tempi e modalità potranno variare a seguito di situazioni contingenti che costringano
ad erogare esami online.

Risultati attesi

- Conoscenza e capacità di comprensione
-- Conoscere e capacità di comprendere i sistemi per l'elaborazione e la
rappresentazione delle informazioni

- Conoscenza e capacità di comprensione applicate
-- Utilizzare le conoscenze acquisite per costruire sistemi per l'elaborazione, la
manipolazione e la visualizzazione dell'informazione.

- Autonomia di giudizio
-- Valutare criticamente le scelte progettuali e implementative adottate e i risultati
ottenuti, tramite la realizzazione di esercizi individuali ed esercizi pratici in
laboratorio.

- Abilità comunicative
-- Organizzare e presentare con chiarezza, mediante il linguaggio tecnico appropriato,
le conoscenze acquisite e i risultati del proprio lavoro.

- Capacità di apprendimento
-- Acquisire gli strumenti metodologici per provvedere autonomamente al proprio
aggiornamento, particolarmente cruciale nell'ambito dell'elaborazione
dell'informazione, dove le tecnologie sono in continua evoluzione.