Page begin -
Logo DISCO
|
Go to the Highly accessible area
|
Go to the Content page
|
Go to the End of content
|
Go to the Main menu
|
Go to the Navigation Bar (location)
|
Go to the Navigation menu (tree)
|
Go to the Commands list
|
Go to the Further readings
|
Go to the Bottom Menu
|
Logo Ateneo
   
Enrolled
Programmazione 1

Codice insegnamento: E3101Q105

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.

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

Obiettivi formativi:
Acquisire le basi della programmazione imperativa in Java.  

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

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.

Programma esteso:

  • 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
  • Tipi di dati primitivi. Variabili, dichiarazioni e assegnamenti. Espressioni e valutazione. Type checking. Stringhe
  • Input/Output da tastiera/su schermo (classe Scanner)
  • Strutture di controllo: sequenza, selezione, iterazione
  • Array di tipi primitivi
  • Metodi di classe, definizione ed invocazione. Parametri di tipo primitivo. Uso della dot notation. Record di attivazione. Precondizioni e postcondizioni dei metodi
  • Variabili di classe e costanti
  • 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
  • Creazione e manipolazione di semplici strutture dati (liste, code, pile)

Modalità di verifica dell'apprendimento
L’apprendimento verrà verificato tramite domande ed esercizi mirati in itinere.

Tipo esame:
Scritto

Tipo valutazione:
Voto finale

Further readings
(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - last update of this page 11/11/2013