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
   
Per gli Studenti
Programmazione

INSEGNAMENTO: Programmazione

 

Course name: Programming

 

Docente responsabile:  Francesco Tisato

 

 

Obiettivi e contenuti

Acquisire le basi della progettazione software, della programmazione procedurale, della programmazione a oggetti e del testing. Utilizzo di Java e di UML. Test e debug di programmi Java con JUnit in ambiente Eclipse.

 

Programma

 

  • Progettazione

- Ciclo di sviluppo del software

- Astrazioni sui dati. Oggetti, classi, associazioni

- Notazioni UML e E-R

- Astrazioni sul controllo. Diagrammi di attività e di stato

- Astrazioni procedurali.

- Specifica dei requisiti. Invarianti, pre- e post-condizioni

- Ereditarietà

- Documentazione, testing e debugging in ambiente Eclipse con uso di Junit

 

  • Programmazione 1

- Struttura logica di un elaboratore e codifica dell'informazione. Gerarchia dei linguaggi di programmazione, compilatori e interpreti. La Java Virtual Machine. Algoritmi e programmi

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

- Ingresso/uscita

- Strutture di controllo selettive e iterative. Esempi elementari di algoritmi

- Array di tipi primitivi

- Metodi, definizione ed invocazione. Record di attivazione. Precondizioni e postcondizioni

 

  • Programmazione 2

- Classi e oggetti in Java

- Il concetto di reference: cenni alla gestione della memoria in Java

- Metodi con tipi di dati complessi: definizione e invocazione

- Array di reference

- Creazione e manipolazione di semplici strutture dati (liste)

- Information hiding e incapsulamento. Modificatore di visibilità sui metodi

- Ereditarietà e polimorfismo in Java

- Costruttori

- Overloading e overriding

- Metodi di classe. Attributi di classe

 

Risultati di apprendimento previsti

Alla fine del corso lo studente dovrà padroneggiare i principali meccanismi di astrazione utili nella analisi e nel progetto di piccole applicazioni software ed essere capace di progettare, sviluppare e testare semplici programmi in Java.

 

Prerequisiti

Le conoscenze acquisite nella scuola media superiore, con riferimento in particolare a quelle di tipo matematico e logico.

 

Tipo esame: scritto.

 

Testi consigliati:

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

 

UML Distilled – Martin Fowler, Edizione in Italiano, 2010, Pearson Education Italia

 

***********************************************************************************

 

Aims and contents

To get the basic elements of software design, procedural programming and object-oriented programming. Use of Java and UML. Testing and debugging of Java programs by exploiting JUnit under Eclipse.

 

Program details

 

  • Design

- Software lifecycle

- Data abstractions. Objects, classes, associations

- UML and E-R notations

- Control abstractions. Activity and state diagrams

- Procedural abstractions

- Requirements specification. Invariants. Pre- and post-conditions

- Inheritance

- Documentation, testing and debugging in the Eclipse environment by using Junit

 

  • Programming 1

- Computer structure. Information coding. Programming languages hierarchy, compilers and interpreters. Java Virtual Machine. Algorithms and programs

- Primitive data types. Variables, declaration and assignment. Expressions and evaluation. Type checking. Strings

- Input/output

- Control structures: selection and iteration. Examples of elementary algorithms

- Array of primitive types

- Methods: definition and invocation. Activation record. Pre- and post-conditions

 

  • Programming 2

- Classes and objects in Java

- the concept of reference: basics on memory management in Java

- Methods with complex data types: definition and invocation

- Array of reference

- Creation and manipulation of simple data structures (lists)

- Information hiding and encapsulation. Visibility modifiers on methods

- Inheritance and polymorphism in Java

- Constructors

- Overloading and overriding

- Class methods and class attributes

 

Learning outcomes

At the end of the course the student is expected to master the major abstraction mechanisms useful in the analysis and design of small software applications. S/he will be capable of designing, developing and testing simple Java programs.

 

Prerequisites

Basic knowledge from the high school, in particular mathematical and logical issues

 

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 25/03/2011