FONDAMENTI DI INFORMATICA

Soluzione guidata di due prove d’esame

Descrizione e Visione

Questa open lesson mostra la risoluzione guidata di due prove d’esame del corso di Fondamenti di Informatica. Attraverso l’analisi passo passo degli esercizi vengono illustrate le principali metodologie di ragionamento utili per affrontare la prova scritta, con particolare attenzione alla logica binaria, alla codifica delle informazioni e alla programmazione in linguaggio C.

La lezione introduce gli studenti alle principali tipologie di esercizi presenti nelle prove d’esame del corso di Fondamenti di Informatica. Attraverso l’analisi guidata di due prove d’esame complete, vengono affrontati diversi argomenti fondamentali del corso, tra cui la rappresentazione e la codifica delle informazioni, la logica booleana e la sintesi circuitale, le nozioni di base sulle architetture dei calcolatori e sui sistemi operativi, nonché l’utilizzo di strumenti di calcolo scientifico come Octave.
Viene inoltre data particolare importanza alla programmazione in linguaggio C. Difatti, verranno illustrati gli approcci metodologici per progettare e implementare soluzioni corrette agli esercizi di programmazione, con particolare attenzione alla modularizzazione del codice, alla gestione delle strutture dati, all’allocazione dinamica della memoria e alla lettura di dati da file. L’obiettivo della lezione è fornire agli studenti un metodo chiaro e sistematico per affrontare con successo le prove scritte del corso.

Obiettivi Formativi

  • Comprendere la struttura tipica delle prove d’esame del corso di Fondamenti di Informatica.
  • Applicare correttamente i concetti di rappresentazione e codifica delle informazioni, logica booleana e architetture dei calcolatori nella risoluzione degli esercizi.
  • Acquisire un metodo di ragionamento strutturato per affrontare esercizi teorici e pratici.
  • Saper progettare e implementare soluzioni in linguaggio C utilizzando strutture dati, modularizzazione del codice e gestione della memoria dinamica.

Syllabus del Corso

MODULO 1
  • Logica binaria e codifica delle informazioni
  • Introduzione ai sistemi di numerazione binari e alla rappresentazione delle informazioni nei calcolatori. Conversione tra diverse basi numeriche, rappresentazione dei numeri in complemento a due e tecniche di rilevazione e correzione degli errori nella codifica dei dati.
MODULO 2
  • Algebra booleana e sintesi circuitale
  • Studio delle espressioni logiche e delle operazioni fondamentali dell’algebra booleana. Applicazione delle leggi di De Morgan e semplificazione di espressioni logiche. Introduzione alla sintesi circuitale con porte logiche, costruzione di tabelle di verità e progettazione di circuiti logici equivalenti.
MODULO 3
  • Architettura dei calcolatori e memoria
  • Introduzione ai principali componenti di un calcolatore elettronico, con particolare attenzione alla CPU, alla memoria e ai sistemi di interconnessione. Analisi del ruolo delle memorie volatile e non volatile, come RAM e cache, e del loro utilizzo durante l’esecuzione dei programmi.
MODULO 4
  • Sistemi operativi e gestione dei dispositivi
  • Concetti fondamentali dei sistemi operativi e delle loro funzioni principali. Analisi del ruolo del kernel nella gestione dei processi, della memoria e dei dispositivi di input/output. Introduzione al concetto di driver e alla comunicazione tra hardware e software.
MODULO 5
  • Utilizzo della shell Linux
  • Introduzione all’utilizzo della shell nei sistemi operativi Linux. Uso di comandi fondamentali per la gestione di file e directory, ricerca di file nel filesystem e utilizzo di strumenti come il comando find per effettuare operazioni di interrogazione e filtraggio dei dati.
MODULO 6
  • Programmazione scientifica e utilizzo di Octave
  • Introduzione agli strumenti di calcolo scientifico utilizzati per l’analisi numerica e la rappresentazione grafica delle funzioni. Utilizzo dell’ambiente Octave per la manipolazione di matrici, la definizione di vettori e polinomi, il calcolo di derivate e la visualizzazione grafica dei risultati tramite comandi di plotting.
MODULO 7
  • Programmazione C
  • Strutture dati, programmazione modulare e allocazione dinamica
Corpo Docente
Lorenzo Mascia
Dott. Lorenzo Mascia

Lorenzo Mascia è laureato in Ingegneria Informatica presso l’Università degli Studi di Sassari e attualmente studente magistrale al Politecnico di Torino, con esperienza nella ricerca su sistemi di realtà mista, metaverso e tecnologie di elaborazione e trasmissione di dati 3D.

Scheda Tecnica
  • Durata: 2 ore
  • Formato: Video e Slide
  • Lingua: Italiano
  • CFU: 1