Salta al contenuto principale della pagina

PROGRAMMAZIONE 1

CODICE 52473
ANNO ACCADEMICO 2017/2018
CFU 8 cfu al 1° anno di 8766 STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI (L-35) GENOVA

8 cfu al 1° anno di 8760 MATEMATICA (L-35) GENOVA

SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Italiano
SEDE GENOVA (STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI )
PERIODO 2° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

Lo scopo dell'insegnamento e' quello di fornire gli strumenti per la programmazione imperativa attraverso l'introduzione di linguaggi ad alto livello.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Introduzione ai linguaggi di programmazione attraverso la costruzione di semplici algoritmi in C++ (imperativo).

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

In particolare verranno affrontati i seguenti argomenti:

  • Nozioni base sui calcolatori: rappresentazione dei dati e aritmetica degli elaboratori; cenni sull'architettura del calcolatore e sui sistemi operativi finalizzati alla comprensione base dell'esecuzione di programmi.
  • Introduzione alla programmazione: i linguaggi di programmazione di alto livello; stato e cambiamento di stato; dichiarazioni e istruzioni base; linguaggi tipati: tipi base e strutturati; algoritmi semplici e loro implementazione; programmazione strutturata e modularità.
  • Programmazione in piccolo: progettazione di programmi sequenziali di dimensione contenuta a partire dalla specifica informale del problema; compilazione/interpretazione di programmi; esecuzione del codice; idee base di testing.

Nella prima parte del corso (prime due settimane) si introdurrà  MATLAB, un ambiente per il  calcolo numerico e l'analisi statistica.

Le parti di programmazione utilizzeranno un sottoinseime del  linguaggio C++ come esempio di linguaggio ad alto livello in cui realizzare i programmi.

MODALITA' DIDATTICHE

L'insegnamento, erogato al secondo semestre, prevede 3 ore di lezione in aula e 4 ore di laboratorio alla settimana.

PROGRAMMA/CONTENUTO

  • Nozioni base sui calcolatori: rappresentazione dei dati e aritmetica degli elaboratori; cenni sull'architettura del calcolatore di Von Neumann e sui sistemi operativi finalizzati alla comprensione base dell'esecuzione di programmi.
  • Introduzione alla programmazione: i linguaggi di programmazione di alto livello; stato e cambiamento di stato; dichiarazioni e istruzioni base; linguaggi tipati: tipi base e strutturati; algoritmi semplici e loro implementazione; programmazione strutturata e modularità.
  • Programmazione in piccolo: progettazione di programmi sequenziali di dimensione contenuta a partire dalla specifica informale del problema; compilazione/interpretazione di programmi; esecuzione del codice; idee base di testing.

Le parti di programmazione utilizzeranno il frammento imperativo del linguaggio C++ come esempio di linguaggio ad alto livello in cui realizzare i programmi.

TESTI/BIBLIOGRAFIA

Appunti del corso

Altri testi:
Programming Principles and Practice using C++, Addison-Wesley Professional, 2008
C++. Fondamenti di programmazione -- H. M. Deitel, P. J. Deitel; Editore: Apogeo 2009

DOCENTI E COMMISSIONI

Commissione d'esame

PATRIZIA BOCCACCI (Presidente)

GIANNA REGGIO (Presidente)

FRANCESCO MASULLI

LEZIONI

MODALITA' DIDATTICHE

L'insegnamento, erogato al secondo semestre, prevede 3 ore di lezione in aula e 4 ore di laboratorio alla settimana.

INIZIO LEZIONI

In accordo con il calendario accademico approvato dal Consiglio di Corsi di Studi.

Orari delle lezioni

L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

ESAMI

MODALITA' D'ESAME

La prova di esame consiste in:

  • uno scritto consistente in una serie di domande su Aulaweb (voto massimo 31) 
  • prova di laboratorio consistente nella stesura di un programma C++ (voto massimo 31).

Non è necessario che le due prove vengano superate nello stesso appello.

L'esame è superato se si superano scritto (con voto >=18) e laboratorio (con voto >=18). Il voto finale sarà la media dei due voti. Si attribuirà la lode a chi abbia ottenuto un voto finale >=31.

E' previsto un bonus di 2 punti per le consegne delle esercitazioni di laboratorio entro i termini indicati.

 

MODALITA' DI ACCERTAMENTO

  • La prova scritta vuole valutare l'acquisizione dei concetti fondamentali presentati durante il corso.
  • La prova in laboratorio vuole valutare la capacità di produrre del codice c++ funzionante per risolvere piccoli problemi, e consiste nel completare un programma schematico che vi verrà fornito come file con estensione .cpp. Nel file saranno incluse indicazioni su cosa occorre inserire e come, e sulla valutazione in punti delle varie parti. Verrà anche fornito un input per testarlo con i risultati attesi per ogni parte. Le consegne verranno valutate tenendo conto dei seguenti aspetti in ordine decrescente di importanza
    • Produrre un codice funzionante con risultati numerici corretti (requisito minimo)
    • Stile e leggibilità del codice
    • Efficienza di calcolo

Calendario appelli

Data Ora Luogo Tipologia Note
24/01/2018 09:00 GENOVA Laboratorio
24/01/2018 14:00 GENOVA Scritto
14/02/2018 09:00 GENOVA Laboratorio
14/02/2018 14:00 GENOVA Scritto
11/06/2018 09:00 GENOVA Laboratorio
12/06/2018 09:00 GENOVA Scritto
02/07/2018 09:00 GENOVA Laboratorio
03/07/2018 09:00 GENOVA Scritto
10/09/2018 09:00 GENOVA Laboratorio
11/09/2018 09:00 GENOVA Scritto

ALTRE INFORMAZIONI

Prerequisiti:
Nessuno. Sono comunque utili le nozioni di base di logica e matematica normalmente fornite dalla scuola media superiore.