Inizio della pagina -
Logo DISCO
|
Visita la Versione ad elevata leggibilità
|
Vai al Contenuto della pagina
|
Vai alla Fine dei contenuti
|
Vai al Menu Principale
|
Vai alla Barra di navigazione (sei in)
|
Vai al Menu di navigazione (albero)
|
Vai alla Lista dei comandi
|
Vai alla Lista degli approfondimenti
|
Vai al Menu inferiore
|
Logo Ateneo
   
Didattica
Programmazione 1

Codice ins.

Insegnamento

CFU ins.

Tipo ins.

Anno

Sem.

SSD ins.

Responsabile insegnamento

E3101Q105

Programmazione 1

8

OBB

1

1

INF/01

FERRETTI Claudio

 

Programming 1

 

 

 

 

 

 

Docente turno A-L: Agostini Alessandra
Docente turno M-Z: Ferretti Claudio

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.
The course will introduce concepts which are the basis of high level programming languages, with a deeper focus on imperative paradigm.
The Java language will be used, and students will come to code simple algorithms.

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.
To learn the basics of imperative programming in Java

Prerequisiti:
Le conoscenze di tipo matematico e logico acquisite nella scuola superiore.
Mathematical-logical knowledge as acquired during high-school

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.
There will be usual lectures, exercises in the classroom, and assisted sessions in the laboratory
Moreover, slides and exercises will be put online.

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)
  • Logical structure of a computer and data representations.
  • Classes of programming languages, compiler and interpreter.
  • Concepts of program correctness (syntax, semantic).
  • The Java Virtual Machine.
  • Algorithms and programs.
  • Primitive data types.
  • Variables, declarations and assignments. Expressions and their evaluation.
  • Type checking.
  • Strings.
  • Input/Output via keyboard/screen ('Scanner' class).
  • Control structures: sequence, selection, iteration.
  • Array with primitive types.
  • Class methods, definition and invocation. Primitive type parameters.
  • Dot notation. Activation record. Preconditions and postconditions for methods.
  • Class variables and constants.
  • Classes and instances as data structures, class fields.
  • References: memory management in Java (heap, stack, and program execution).
  • Array of references.
  • Class methods with complex type parameters: definition and invocation. Passing parameters by value and by reference.
  • Creating and using simple dynamic data structures (lists, queues, stacks).

Modalità di verifica dell'apprendimento
L’apprendimento verrà verificato tramite domande ed esercizi mirati in itinere.
Evaluation by questions and exercises.

Tipo esame:
Scritto

Tipo valutazione:

Voto finale

 

 

Approfondimenti

Google Translate
Translate to English Translate to French Translate to German Translate to Spanish Translate to Chinese Translate to Portuguese Translate to Arabic
Translate to Albanian Translate to Bulgarian Translate to Croatian Translate to Czech Translate to Danish Translate to Dutch Translate to Finnish Translate to Greek Translate to Hindi
Translate to Hungarian Translate to Irish Translate to Japanese Translate to Korean Translate to Norwegian Translate to Polish Translate to Romanian Translate to Russian Translate to Serbian
Translate to Slovenian Translate to Swedish Translate to Thai Translate to Turkish

(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - ultimo aggiornamento di questa pagina 11/11/2013