Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Academic Year 2012/13
Object oriented programming
1st degree and Bachelor-level of the Bologna process in Computer Engineering - Torino
1st degree and Bachelor-level of the Bologna process in Telecommunications Engineering - Torino
Teacher Status SSD Les Ex Lab Tut Years teaching
Torchiano Marco ORARIO RICEVIMENTO AC ING-INF/05 40 20 0 0 4
SSD CFU Activities Area context
ING-INF/05 6 F - Altre (art. 10, comma 1, lettera f) Altre conoscenze utili per l'inserimento nel mondo del lavoro
Subject fundamentals
Mandatory course for the degrees Information Technology Engineering and Communication. Its goal is to complete the preparation of students about programming, by teaching the object oriented paradigm, and a programming language supporting it.
Expected learning outcomes
Knowledge acquired: the object oriented programming paradigm in terms of classes, objects, attributes, behaviours, messages, message exchange, inheritance, polymorphism; the support to these concepts provided by a programming language (Java).

Skills acquired: ability to understand a programming problem of small/medium size (10- 20 classes), analyzing it, solving it with: (1) the definition (or the selection from a library) of classes and related functions and attributes, (2) the detailed design of algorithms in each function of each class, (3) the implementation and testing of classes and functions in Java, (4) the ability to use Java and its development and execution environments.
Prerequisites / Assumed knowledge
Simple problems analysis and definition of algorithms for their solution.
Basic programming constructs (types, variables and constants, decisions, loops, procedures and parameter passing)
Fundamental algorithms (sorting, searching) and data structures (arrays, linked list, tree, graph)
Introduction (0.5 CFU)
- Object-oriented programming
- Java as a programming language: source code and bytecode.
- Compiler, virtual machine, development environments.

OOP basics (2.5 CFU)
- Classes, attributes and methods
- Ovearloading
- Objects, constructors and parameters
- Package
- Scope

Inheritance (1 CFU)
- Inheritance, polymorphism and dynamic binding
- Abstract classes, interfaces

System library (2 CFU)
- IO classes
- Exceptions
- Collections framework
- Graphics, Swing
Delivery modes
This course will include computer lab sessions that include both specific exercises to further explore theoretical parts and the development of software projects.
Texts, readings, handouts and other learning resources

James Gosling, Ken Arnold and David Holmes, The Java Programming Language, 4th Edition, Pearson
Bruce Eckel, Thinking in Java, 3rd edition, Prentice Hall
Materials provided by the teacher
Assessment and grading criteria
Development ad a Java program, in the lab by means of a development environment. The grade is assigned according to the quality of the software measured in terms of functional correctness, design decisions, and programming style.

Programma definitivo per l'A.A.2012/13

© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)