logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2015/2016
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 082746 - FONDAMENTI DI INFORMATICA
Docente Bolchini Cristiana
Cfu 10.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing Ind - Inf (1 liv.)(ord. 270) - MI (356) INGEGNERIA DELLE TELECOMUNICAZIONI*ACM082746 - FONDAMENTI DI INFORMATICA
Ing Ind - Inf (1 liv.)(ord. 270) - MI (358) INGEGNERIA INFORMATICAI1AACM082823 - COMPLEMENTI DI INFORMATICA
082746 - FONDAMENTI DI INFORMATICA
I1TACM082746 - FONDAMENTI DI INFORMATICA

Programma dettagliato e risultati di apprendimento attesi

Obiettivi del corso di Fondamenti di Informatica

Presentare allo studente gli aspetti fondamentali dell'informatica (algoritmi, programmi, struttura di massima dei calcolatori e dei sistemi informatici). Impartire nozioni basilari sulla programmazione dei calcolatori (linguaggi di programmazione, tecniche di astrazione, tipi di dati fondamentali e strutture di controllo, sottoprogrammi e ricorsione, strutture dati dinamiche, cenni sulla programmazione modulare) approfondendone in egual misura gli aspetti concettuali e sperimentali.

 

Programma delle lezioni e delle esercitazioni

1. Concetti introduttivi: Algoritmi, programmi e linguaggi - Struttura di massima di un calcolatore e di un sistema informatico (hardware, software, Sistema Operativo, reti) - Catena di programmazione.

2. Logica e codifica binaria dell’informazione (logica proposizionale, operatori logici AND, OR, NOT, leggi di De Morgan, rappresentazione dei numeri interi (base 2, 8, 16, complemento alla base 2), aritmetica binaria, codifica dei numeri reali, codifica di caratteri e dati multimediali).

3. Aspetti fondamentali della programmazione (con riferimento al linguaggio C): il linguaggio di programmazione e le esigenze di astrazione, la sintassi dei linguaggi, struttura di un programma monomodulo, astrazione sui dati (concetto di tipo e tipi base del linguaggio, operatori e compatibilità, i costruttori di tipo array, struct,puntatori), astrazione sul controllo dell'esecuzione (strutture di controllo condizionali, di selezione, iterative).

4. Sottoprogrammi e ricorsione: sottoprogrammi come astrazione sul controllo a livello di unità, passaggio dei parametri, dati locali, regole di visibilità, sviluppo top down per raffinamento, ricorsione, supporto a run-time per la gestione della chiamata e ritorno da sottoprogramma (record di attivazione, stack e stack pointer).

5. Strutture dati dinamiche, liste collegate a puntatori.

6. Strutture dati persistenti: i file (concetti, operazioni, organizzazione logica), integrazione tra strutture dati in memoria centrale e su file.

7 Breve introduzione al linguaggio Python.

Attività di laboratorio

L’attività del laboratorio ha lo scopo di rendere familiare allo studente sia l’utilizzo pratico del calcolatore sia i metodi e le tecniche utilizzate nella programmazione dei calcolatori.

L'attività di laboratorio è suddivisa in due fasi: nella prima (6 ore) gli studenti sono messi in grado di usare gli strumenti e di realizzare piccoli programmi e nella seconda (12 ore) gli studenti saranno organizzati in piccoli gruppi che dovranno affrontare problemi di una certa complessità proposti dai docenti.

La frequenza al laboratorio assume quindi una particolare importanza ai fini dell’apprendimento della materia.

Prerequisiti

Nozioni di base sulle caratteristiche e l'uso del personal computer: componenti della macchina, interfaccia utente, Internet (uso del browser), posta elettronica, applicativi di videoscrittura e fogli elettronici.


Note Sulla Modalità di valutazione

L’esame prevede una verifica scritta con eventuale discussione orale su richiesta del docente. Durante l'anno si terranno due prove in itinere che sostituiscono la prova scritta: un esito insufficiente nella prima prova in itinere impedisce la partecipazione alla seconda prova. In tal caso lo studente dovrà sostenere la verifica scritta in uno degli appelli. Le prove in itinere devono essere singolarmente sufficienti.

L'attività di laboratorio non assegna alcun punteggio.


Bibliografia
Risorsa bibliografica facoltativaKim N. King, Programmazione in C, Editore: Apogeo, ISBN: 8850328699
Risorsa bibliografica facoltativaP. Deitel, H Deitel, IL linguaggio C, Editore: Pearson, Anno edizione: 2013
Risorsa bibliografica facoltativaJeri R. Hanly, Elliot B. Koffmann, Problem solving e programmazione in C, Editore: Apogeo, Anno edizione: 2013, ISBN: 8838786410
Risorsa bibliografica facoltativaS.Ceri, D.Mandrioli, et al, Informatica: Programmazione
Risorsa bibliografica facoltativaB. Kernighan, D. Ritchie, Linguaggio C [ANSI C]

Mix Forme Didattiche
Tipo Forma Didattica Ore didattiche
lezione
54.0
esercitazione
40.0
laboratorio informatico
18.0
laboratorio sperimentale
0.0
progetto
0.0
laboratorio di progetto
0.0

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Italiano
Disponibilità di libri di testo/bibliografia in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.6.1 / 1.6.1
Area Servizi ICT
19/11/2019