09730 - FONDAMENTI DI INFORMATICA

Anno Accademico 2022/2023

  • Docente: Roberto Casadei
  • Crediti formativi: 6
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano

Conoscenze e abilità da conseguire

Al termine del corso, lo studente possiede le conoscenze di base dei concetti di computazione, di programmazione imperativa, strutturata, e di strutture dati e loro algoritmi. In particolare, lo studente è in grado di: - progettare algoritmi base per la manipolazione di strutture dati - realizzare tali algoritmi in un linguaggio di programmazione.

Contenuti

Introduzione all'informatica: panoramica della disciplina.

Architettura dei calcolatori: architettura di Von Neuman; struttura di una CPU.

Rappresentazione dell'informazione: rappresentazione dell'informazione numerica (rappresentazione in complemento a due, rappresentazione floating-point); rappresentazione dell'informazione non numerica.

Introduzione agli algoritmi e alle strutture dati: definizione di algoritmo ed esempi; strutture dati fondamentali; notazioni di rappresentazione di algoritmi.

Linguaggio C: costrutti fondamentali del linguaggio: tipi, operatori, espressioni, funzioni, strutture di controllo, cicli, funzioni; programmazione strutturata; iterazione e ricorsione; array e puntatori; allocazione dinamica della memoria; algoritmi su array (inversione, ordinamento, ricerca sequenziale, ricerca binaria); stringhe.

 

Testi/Bibliografia

Testi suggeriti:

  • J. G. Brookshear and Stephen G. Kochan. Fondamenti di Informatica e Programmazione in C. Pearson, 2016. ISBN: 978-8865183694
  • Paul J. Deitel, Harvey M. Deitel, "Il linguaggio C: fondamenti e tecniche di programmazione", 9/Ed, Pearson, ISBN 978-8891906236 (ISBN edizione digitale: 978-8891906243) 

Approfondimenti sulla programmazione in C:

  • Brian W. Kernighan and Dennis M. Ritchie, "The C Programming Language, Second Edition", Prentice Hall, Inc., 1988. ISBN 0-13-110362-8 (paperback), 0-13-110370-9 (hardback).

Metodi didattici

La didattica si svolge mediante lezioni frontali accompagnate da esercitazioni pratiche al laboratorio. Durante le lezioni teoriche vengono introdotti i concetti base dell'informatica, e vengono via via descritti i costrutti di programmazione che sono poi oggetto di esercitazioni parzialmente guidate, con la supervisione dei docenti. Di tutti gli esercizi proposti viene poi fornita una possibile soluzione sul sito Web del corso, allo scopo di supportare le attività di studio individuale. Alcune esercitazioni sono rivolte a simulare lo svolgimento dell'esame finale.

Modalità di verifica e valutazione dell'apprendimento

Gli studenti saranno valutati in base allo svolgimento di una prova scritta/pratica composta da domande di tipo teorico ed esercizi da risolvere al computer. L'esame è strutturato in modo tale da valutare il raggiungimento degli obiettivi didattici; in particolare, la capacità di ragionare in termini logici e algoritmici e le competenze di analisi, progettazione, ed implementazione di programmi in linguaggio C.

Strumenti a supporto della didattica

Nel corso sarà utilizzato anche materiale didattico fornito dal docente (in particolare, lucidi e dispense con esercizi e problemi vari). L'attività di laboratorio supporterà l'apprendimento pratico. Sarà presente un tutor per supportare l'attività laboratoriale.

Orario di ricevimento

Consulta il sito web di Roberto Casadei

Consulta il sito web di Giovanni Ciatto