88145 - FONDAMENTI DI INFORMATICA P-1

Scheda insegnamento

Anno Accademico 2020/2021

Conoscenze e abilità da conseguire

Lo studente viene introdotto alla presentazione dei principi, delle metodologie di progetto e degli strumenti fondamentali per lo sviluppo di applicazioni informatiche, indagando alcuni classici problemi computazionali, procedendo per ciascuno di essi all’identificazione di idonei algoritmi risolutivi, formalizzati in termini del linguaggio di programmazione C. Lo studente acquisisce familiarità e padronanza degli argomenti trattati, combinando gli aspetti di carattere teorico-metodologico con un’intensa attività sperimentale svolta in laboratorio.

Contenuti

Elenco degli argomenti

  • Introduzione informatica, programmazione, algoritmi, diagrammi di flusso, linguaggi e strumenti di sviluppo (compilazione, linking)
  • Elementi di architetture dei calcolatori e di linguaggio macchina
  • Introduzione al linguaggio C - dati numerici, variabili, costanti, identificatori
  • Rappresentazione dei dati numerici e alfanumerici
  • Istruzioni elementari, controllo di flusso e I/O
  • Vettori, stringhe e matrici
  • Funzioni e librerie di linguaggio
  • Tipi aggregati
  • Gestione dei file, input da linea di comando
  • Principali algoritmi di ricerca e ordinamento su vettori
  • Cenni di allocazione dinamica e recursione
  • Cross-compilazione e programmazione su dispositivi embedded
  • Principi di sistemi operativi (scheduler, concetto di time sharing) e gestione del file system

 

Testi/Bibliografia

  • Kernighan, Ritchie: "ll linguaggio C. Principi di programmazione e manuale di riferimento", Seconda Edizione, Pearson, 2018.
  • H. M. Deitel, P. J. Deitel, "Il linguaggio C. Fondamenti e tecniche di programmazione", Ottava Edizione, Pearson, 2016.

Metodi didattici

Durante il corso verranno svolti esempi ed esercizi in laboratorio. Il corso prevede l'uso di un ambiente di sviluppo di applicazioni in linguaggio C principalmente per PC. Verranno anche svolti esercizi di cross-compilazione su Arduino.

Modalità di verifica e valutazione dell'apprendimento

La valutazione consiste in una prova di laboratorio che richiede la risoluzione di un problema mediante costruzione di un programma in linguaggio C in cui occorre dimostrare di saper effettivamente produrre un programma eseguibile

Strumenti a supporto della didattica

Ambiente di sviluppo linguaggio C (ex. CLion, codelite)

Orario di ricevimento

Consulta il sito web di Andrea Acquaviva