Ricerca di contatti, progetti,
corsi e pubblicazioni

Programming Fundamentals 2

Persone

Hauswirth M.

Docente titolare del corso

Chiodini L.

Assistente

Mastropaolo A.

Assistente

Moreno Santos I.

Assistente

Venâncio Marcílio D.

Assistente

Descrizione

COURSE OBJECTIVES

In this course you learn how to develop software using an object-oriented approach. You will learn the underlying principles and their realization in the Java programming language.

 

COURSE DESCRIPTION
The course teaches how to structure a problem using the concept of classes, and how to use fields and methods to model state and behavior. It introduces the fundamental concepts of types, dynamic memory allocation, and references. It covers the ideas of collections and iteration to deal with multiple objects, the ideas of inheritance and polymorphism to deal with variability in software, and the idea of exception handling to deal with unexpected situations. It covers principles of design such as coupling and cohesion, encapsulation, and immutability, and it introduces common design patterns. The practical aspects of the course include testing and debugging techniques that help improve the quality of the resulting software.

 

LEARNING METHODS
Lectures, textbook, programming assignments, mastery checks, code reviews.

 

EXAMINATION INFORMATION
Written in-class final exam (if possible).

 

PREREQUISITES
Computer Architecture, Programming Fundamentals 1, Software Atelier 1: Fundamentals of Informatics

 

REFERENCES

  • See "Programming Fundamentals 2" course web site on http://informa.inf.usi.ch

Offerta formativa