Ricerca di contatti, progetti,
corsi e pubblicazioni

Programming Fundamentals 2

Descrizione

This course teaches how to develop software using an object-oriented approach. It teaches how to structure a problem using the concept of classes, and how to use fields and methods to model state and behavior. The course uses Java as its programming language. 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.

 

PREREQUISITES
Computer Architecture, Programming Fundamentals 1

 

RECOMMENDED COURSES
Algorithms & Data Structures, Discrete Structures, Software Atelier 1: Fundamentals of Informatics, Software Atelier 2: Human-Computer Interaction

 

 

REFERENCES

  • Mandatory textbook: Barnes and Kölling, Objects First with Java: A Practical Introduction using BlueJ, 6th Edition, https://www.bluej.org/objects-first/
  • This course uses Informa as a learning platform. Check the PF2 course site, with course themes, topics, skills, labs, readings, and more at https://informa2.inf.usi.ch/courses

Persone

 

Hauswirth M.

Docente titolare del corso

Moreno Santos I.

Assistente

Pantiuchina J.

Assistente

Schuerch M.

Assistente

Informazioni aggiuntive

Semestre
Primaverile
Anno accademico
2018-2019
ECTS
6
Lingua
Inglese
Offerta formativa
Bachelor of Science in Informatics, Corso di base, Corso e laboratorio, 1° anno