logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2019/2020
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 051110 - INFORMATICA
Docente Alippi Cesare
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) - LC (367) INGEGNERIA DELLA PRODUZIONE INDUSTRIALE*AZZZZ051110 - INFORMATICA

Obiettivi dell'insegnamento

L'insegnamento fornisce agli allievi i concetti base della rappresentazione e dell’elaborazione dell’informazione, della programmazione di calcolatori elettronici e dell’utilizzo di applicativi di produttività individuale. Piu' nello specifico l'insegnamento ha come obiettivi quelli di fornire

  • una comprensione dei principi ingegneristici fondamentali dei sistemi di elaborazione dell'informazione, visto il loro predominante impatto sui processi produttivi moderni;
  • una buona conoscenza dei meccanismi della programmazione, intesi come metodi formali di descrizione della soluzione di problemi. La generalità delle metodologie proposte consente di affrontare problemi più generali nella progettazione, ingegnerizzazione e gestione di modelli e processi di produzione.

Risultati di apprendimento attesi

Lo studente apprenderà i meccanismi architetturali dei sistemi di elaborazione moderni, gli aspetti metodologico-formativi della decomposizione di problemi in sottoproblemi e della formalizzazione della soluzione di un problema attraverso formalismi. In particolare, lo studente sarà portato a

1) Comprendere i meccanismi relativi alla codifica dell’informazione;

2) Conoscere la struttura interna di un sistema di elaborazione dell'informazione;

3) Comprendere gli elementi sintattici e semantica di un linguaggio di programmazione

4) Dimensionare le strutture dati nella memoria del calcolatore in funzione delle necessità di uno specifico problema (allocazione risorse);

5) Acquisire meccanismi di astrazione che, a partire da specifiche fornite, consentano di identificare algoritmi atti a risolvere problemi;


Argomenti trattati

1 Concetti introduttivi dell'informatica

 

1.1  Panoramica storica e contenuti dell'informatica

1.2  Risoluzione automatica di problemi: algoritmi (definizione), linguaggi di rappresentazione, programmi, "catena di programmazione"

1.3  Natura e rappresentazione dell'informazione (numerica, alfanumerica, di immagini, multimediale). Operatori logici fondamentali.

1.4  Il calcolatore elettronico digitale programmabile. Struttura del calcolatore. Istruzioni Assembler e loro esecuzione.

   

2 Concetti fondamentali della programmazione

 

2.1   Introduzione agli algoritmi: rappresentazione del flusso di controllo

2.2   L'ambiente di programmazione

2.3   Introduzione alla progettazione per raffinamenti successivi

 

3 Fondamenti di programmazione in linguaggio C: meccanismi di astrazione

 

3.1   Struttura di un programma C

3.2   Tipi built-in e user defined, semplici e aggregati

3.3   Astrazione di dato mediante i tipi di dato: dati numerici, caratteri e stringhe di caratteri, vettori, strutture, puntatori

3.4   Meccanismi strutturati per il controllo della sequenza di esecuzione: istruzioni condizionali e di selezione, istruzioni cicliche, istruzioni iterative

3.5   Le librerie standard del linguaggio C e le istruzioni di ingresso e uscita

 

4 Tecniche di programmazione 

 

4.1  Il concetto di sottoprogramma: funzioni e procedure come astrazioni

4.2  Parametri, effetto di un sottoprogramma, modalità di passaggio dei parametri

4.3  Gli ambienti C (locale e globale), visibilità, cenno introduttivo al supporto di esecuzione

4.4  I file

 

5 Concetti di programmazione avanzata

 

5.1  Introduzione alla ricorsione

5.2  Allocazione dinamica, liste, alberi, grafi (cenni)

 

6 Applicazioni specifiche

 

6.1  Introduzione alle Basi di dati

6.2  SQL + progettazione di Basi di dati

6.3  ACCESS + progettazione di Basi di dati

 

7 Composizione e organizzazione dei sistemi informatici

 

7.1  Struttura di massima di una rete di calcolatori.

7.2  Gestione dei processi nel Sistema operativo.

 

 

Attività di laboratorio

Il corso prevede 5 esercitazioni di laboratorio sperimentale.

Il calendario delle esercitazioni di laboratorio verrà comunicato dal docente e con appositi avvisi.

La partecipazione alle esercitazioni di laboratorio è obbligatoria è verrà verificata mediante la firma di presenza.


Prerequisiti

Nessun requisito.


Modalità di valutazione

La verifica dell'apprendimento è da intendersi sull'intero programma, inclusivo del laboratorio, con unico voto finale.

Prova scritta:

  • Risoluzione di problemi associati alla codifica dell’informazione (risultato atteso 1)
  • Domande di carattere teorico a risposta aperta sugli argomenti dell’insegnamento (risultato atteso 2)
  • Esercizi di tipo progettuale (risultato atteso 2);
  • Progettazione di strutture dati (risultato atteso 4);
  • Identificazione e definizione di algoritmi per risolvere un problema dato nei linguaggi Assembler e C (risultati attesi 3,4,5)

Prova orale (a discrezione de Docente al fine di risolvere situazioni dubbie):

  • Risoluzione di problemi associati alla codifica dell’informazione (risultato atteso 1)
  • Domande di carattere teorico a risposta aperta sugli argomenti dell’insegnamento (risultato atteso 2)
  • Definizione di algoritmi per risolvere un problema dato nei linguaggi Assembler e C (risultati attesi 3,4,5)

Le prove di esame sono collocate nei periodi di sospensione per esame secondo le direttive della Scuola. Le attività di laboratorio sono obbligatorie e concorrono alla valutazione finale del corso. Il superamento del corso è subordinato al raggiungimento della sufficienza nelle singole prove, anche quella di laboratorio.


Bibliografia
Risorsa bibliografica obbligatoriaCeri, Mandrioli, Sbattella, Informatica, arte e Mestiere, Editore: Mc Graw Hill

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
52:00
78:00
Esercitazione
40:00
60:00
Laboratorio Informatico
8:00
12:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 100:00 150:00

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Italiano
Possibilità di sostenere l'esame in lingua inglese
schedaincarico v. 1.6.5 / 1.6.5
Area Servizi ICT
11/08/2020