Anno di corso: 1

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Anno di corso: 3

PROGRAMMAZIONE 1

Scheda dell'insegnamento

Anno accademico di regolamento: 
2015/2016
Anno di corso: 
1
Anno accademico di erogazione: 
2015/2016
Tipo di attività: 
Obbligatorio
Crediti: 
8
Ciclo: 
Primo Semestre
Ore di attivita' didattica: 
76
Prerequisiti: 

Le conoscenze di tipo matematico e logico acquisite nella scuola superiore.

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

La verifica dell'apprendimento comprende una prova scritta e una eventuale discussione del risultato.
La verifica dell'apprendimento può inoltre derivare dall'esito di prove intermedie parziali.

Valutazione: 
Voto Finale

Obiettivi formativi

Acquisire le basi della programmazione imperativa in Java.

Contenuti

L’insegnamento presenterà i concetti alla base dei linguaggi di programmazione ad alto livello focalizzandosi sul paradigma imperativo. Questi concetti verranno spiegati utilizzando il linguaggio Java e saranno fatti sperimentare agli studenti con l’implementazione di semplici algoritmi mirati.

Programma esteso

1 Struttura logica di un elaboratore e codifica dell'informazione. Gerarchia dei linguaggi di programmazione, compilatori e interpreti. Cenni informali sulla correttezza dei programmi (sintassi, semantica). La Java Virtual Machine. Algoritmi e programmi

2 Tipi di dati primitivi. Variabili, dichiarazioni e assegnamenti. Espressioni e valutazione. Type checking.

3 Stringhe. Input/Output da tastiera/su schermo (classe Scanner)

4 "Strutture di controllo: sequenza, selezione, iterazione
Array di tipi primitivi"

5 Applicazione semplificata della progettazione logica del programma, Micro World

6 "Metodi di classe, definizione ed invocazione. Parametri di tipo primitivo. Uso della dot notation. Record di attivazione.
Variabili di classe e costanti"

7 "Classi e istanze come strutture dati (à la struct C) con attributi di tipo primitivo e complesso
Il concetto di reference: cenni alla gestione della memoria in Java (heap, stack e loro uso durante l’esecuzione dei programmi)
Array di reference
Metodi di classe con tipi di dati complessi: definizione e invocazione. Passaggio di parametri by reference e by value"

Bibliografia consigliata

Programmazione con Java - Walter Savitch e Frank M. Carrano, Edizione in Italiano, 2010, Pearson Education Italia, ISBN 9788871926148

Metodi didattici

L’insegnamento è composto da lezioni frontali, esercitazioni in aula e sessioni di lavoro assistito in laboratorio. Inoltre, verranno resi disponibile on-line sia le slide e gli esercizi svolti in classe che vari tipi di esercizi mirati (quiz, domande pratiche) da svolgere individualmente da parte degli studenti.