You are here: Home » Study Plan » Subject

Technology

Subject: FONDAMENTI DI INFORMATICA E LABORATORIO (A.A. 2017/2018)

degree course in ELECTRONIC ENGINEERING

Course year 1
CFU 12
Teaching units Unit Fondamenti di Informatica e Laboratorio
matematica, informatica e statistica (lezione)
  • TAF: Base SSD: ING-INF/05 CFU: 12
Teachers: Domenico BENEVENTANO, Riccardo GASPARINI
Exam type scritto
Evaluation voto finale
Teaching language Italiano
Contents download pdf download

Teachers

Domenico BENEVENTANO
Riccardo GASPARINI

Overview

Presentare allo studente gli aspetti fondamentali dell'informatica (algoritmi, linguaggi, programmi, struttura di massima dei calcolatori). Impartire nozioni sui fondamenti della teoria dell'informazione e dell'architettura dei calcolatori. Impartire i fondamenti della programmazione, sapere programmare in linguaggio C.

Admission requirements

Nessuno

Course contents

Gli argomenti principali del corso sono:
- introduzione: cos'e' un calcolatore - macchina di Von Neumann - rappresentazione dell'informazione - numeri interi, reali (ieee-754), char, boole - memorizzazione dei dati al calcolatore - ciclo delle istruzioni - il concetto di algoritmo - diagrammi di flusso - macchine e linguaggi - compilazione/interpretazione
- il linguaggio c: struttura di un programma c - tipi di dato fondamentali - variabili e costanti - operatore condizionale - operatori aritmetici, relazionali e logici - conversione di tipi - generalità su input e output
- strutture di controllo: istruzione semplice e composta - istruzione if else - istruzioni ripetitive: while, do while e for - istruzioni goto, break e continue - istruzione switch --ripetizioni innestate
- dati strutturati: vettori monodimensionali - puntatori e aritmetica dei puntatori - stringhe - array multidimensionali - cenni di complessita' computazionale - ricerca lineare e dicotomica - record - composizione di tipi strutturati
- funzioni: astrazione di operazioni - funzioni: definizione, chiamata e dichiarazione - procedure - record di attivazione - regole di visibilita' - array, stringhe, record e funzioni come parametri - passaggio per valore e per riferimento - concetto di ricorsione e definizioni
- liste e ordinamento di vettori: il concetto di lista - rappresentazione statica - rappresentazione collegata mediante puntatori - algoritmi di ordinamento di un vettore: selection sort, bubble sort, insert sort, quick sort e merge sort
- file in C: il concetto di file - file di testo e file binari - lettura/scrittura sequenziale - accesso diretto ai file

Il corso è organizzato con una parte di laboratorio che introduce gli studenti all'uso del computer e di un sistema di sviluppo e compilazione per semplici programmi in C.

Teaching methods

Lezioni frontali, esercitazioni pratiche, attività pratiche di laboratorio.

Assessment methods

Prova scritta e prova pratica di laboratorio, esame orale facoltativo.

Learning outcomes

Conoscenza e capacità di comprensione: Tramite lezioni in aula, lo studente avrà solide conoscenze e capacità di comprensione degli aspetti fondamentali dell'informatica (algoritmi, linguaggi, programmi, struttura di massima dei calcolatori) e della programmazione in linguaggio ANSI C.

Capacità di applicare conoscenza e comprensione: Tramite esercitazioni in aula ed esercitazioni pratiche al computer, lo studente sarò in grado di utilizzare le funzionalità di base del linguaggio ANSI C e di applicare le conoscenze acquisite nella soluzione di classici problemi dell’informatica di base.

Autonomia di giudizio: Grazie alla risoluzione di esercizi individuali ed esercizi pratici in laboratorio, lo studente sarà in grado di valutare criticamente le scelte progettuali e implementative adottate e i risultati ottenuti.

Capacità di apprendimento: Le attività descritte consentiranno allo studente di acquisire gli strumenti metodologici per potere provvedere autonomamente al proprio aggiornamento nel campo dell’informatica e dei linguaggi di programmazione.

Readings

Libri consigliati:
- KELLEY A., POHL I., C: Didattica e Programmazione, Pearson Addison Wesley, 4a edizione, 2004. Testo di riferimento per il linguaggio C, consigliato per un approfondimento di tale linguaggio di programmazione.
- KERNIGHAN B. W., RITCHIE D.M., Il linguaggio C, Jackson, seconda edizione, 2007.
- BELLINI, A. GUIDI, Linguaggio C - Guida alla programmazione, McGraw-Hill, 1999
- BENEVENTANO D, Bergamaschi S., Sartori C., Lezioni di Fondamenti di Informatica - Linguaggio di Riferimento C, Progetto Leonardo, ed. Esculapio Bologna