logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2018/2019
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 061202 - INFORMATICA A
Docente Boracchi Giacomo
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 (365) INGEGNERIA MATEMATICA*MZZZZ061202 - INFORMATICA A

Obiettivi dell'insegnamento

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. Insegnare a scrivere semplici query SQL. L'insegnamento non adotta modalità di didattica innovativa. 


Risultati di apprendimento attesi

Conoscenza e comprensione

- Comprendere i meccanismi di codifica dell’informazione all’interno di un calcolatore

- Conoscere gli elementi basilari dell’architettura di un calcolatore

- Comprendere gli elementi sintattici e semantica di un linguaggio di programmazione

- Conoscere i principali costrutti usati nei linguaggi di programmazione imperativi per la rappresentazione e manipolazione dei dati

 

Capacità di applicare conoscenza e coomprensione

- Progettare le strutture dati nella memoria del calcolatore allo scopo di rappresentare efficacemente i dati di uno specifico problema

- Progettare semplici algoritmi a partire dalla specifica di un problema

- Selezionare schemi di computazione noti e applicarli per la soluzione di nuovi problemi

- Implementare algoritmi in linguaggio C

 

Autonomia di giudizio

- Valutare la correttezza degli algoritmi progettati

- Individuare le strutture dati e gli algoritmi più adatti a specifici problemi

- Confrontare i benefici e gli svantaggi di diversi approcci algoritmici alla soluzione di un problema dato (e.g., approccio ricorsivo rispetto ad un approccio iterativo)


Argomenti trattati
Concetti introduttivi: architettura dei calcolatori, algoritmi, programmi, linguaggi, catena di programmazione.
Il linguaggio C. Struttura base di un programma. Variabili: nomi, tipi predefiniti, costanti, operatori e conversioni di tipo.
Condizioni e predicati: espressioni logiche, cicli. 
Funzioni: passaggio di parametri per valore e per riferimento, regole di visibilità, variabili globali e locali, ricorsione, regole di visibilità nella ricorsione.
Vettori e matrici: memorizzazione ed accesso ai dati, stringhe. 
Puntatori e memoria dinamica: puntatori e vettori, puntatori come parametri a funzioni.
Strutture: assegnamento, passaggio a funzioni, confronto, puntatori e strutture.
Strutture dati dinamiche: lista semplice, coda, pila, lista double linked, alberi.
File: file di testo, file binari, il ciclo di vita di un file.
I database e il linguaggio SQL: interrogare e modificare i dati.

Prerequisiti

Nessun prerequisito richiesto.


Modalità di valutazione

La prova scritta ha l'obiettivo di verificare che lo studente abbia acquisito in maniera adeguata gli elementi fondamentali dell'informatica, con adeguata proprietà di linguaggio, e sarà inoltre in grado di applicare le conoscenze acquisite per risolvere esercizi sugli argomenti trattati nell'insegnamento, in accordo con quanto descritto nei Risultati di apprendimento attesi. 

 

L’esame prevede una verifica scritta su tutti gli argomenti dell'insegnamento. In particolare, prevede

- la risoluzione di problemi numerici (codifica dell’informazione);

- domande di carattere teorico a risposta aperta;

Esercizi di tipo progettuale:

- progettazione di semplici strutture dati

- identificazione e valutazione di algoritmi alternativi per risolvere un problema dato

- implementazione di un algoritmo in linguaggio C

 

L'attività di laboratorio non contribuisce alla valutazione dell'esame.


Bibliografia
Risorsa bibliografica facoltativaBellini-Guidi, Linguaggio C, Editore: McGraw Hill

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
51:00
76:30
Esercitazione
40:00
60:00
Laboratorio Informatico
18:00
4:30
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 109:00 141:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Italiano
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.6.1 / 1.6.1
Area Servizi ICT
18/02/2020