Servizi per la didattica
PORTALE DELLA DIDATTICA

Object oriented programming

04JEYSM

A.A. 2021/22

Course Language

Inglese

Course degree

Master of science-level of the Bologna process in Data Science And Engineering - Torino

Course structure
Teaching Hours
Lezioni 42
Esercitazioni in aula 23
Esercitazioni in laboratorio 15
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Bruno Giorgio Professore Associato ING-INF/05 42 0 0 0 1
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 8 B - Caratterizzanti Ingegneria informatica
2021/22
The goal of this course is to increase students' skills in software development by presenting techniques based on the object-oriented paradigm and their use with the Java programming language.
The goal of this course is to increase students' skills in software development by presenting techniques based on the object-oriented paradigm and their use with the Java programming language.
At the end of the course, students will know the fundamental notions of object-oriented programming (classes, objects, attributes, methods, inheritance, interfaces) and of software engineering (software life cycle, configuration management, testing, software quality). In addition, they will know in detail the main features of the Java programming language. Skills acquired will cover: familiarity with the Java language, the ability to analyze the requirements of a small-sized software system in order to deliver a working program using an integrated development environment (IDE).
At the end of the course, students will know the fundamental notions of object-oriented programming (classes, objects, attributes, methods, inheritance, interfaces) and of software engineering (software life cycle, configuration management, testing, software quality). In addition, they will know in detail the main features of the Java programming language. Skills acquired will cover: familiarity with the Java language, the ability to analyze the requirements of a small-sized software system in order to deliver a working program using an integrated development environment (IDE).
The knowledge of basic programming constructs (types and data structures, control statements and functions) and of sorting and searching algorithms is a prerequisite.
The knowledge of basic programming constructs (types and data structures, control statements and functions) and of sorting and searching algorithms is a prerequisite.
Basic features (1 credit) • Object-oriented programming, Java, Eclipse • Classes, attributes, methods and constructors, objects • Packages and visibility rules • Strings, wrapper classes • Arrays Inheritance and interfaces (3 credits) • Inheritance • Abstract classes, interfaces • Functional interfaces, lambda expressions • Exceptions • Generic types Standard libraries (3 credits) • Collections: sets, lists, maps • Streams • Files • Dates • Threads Software Engineering principles (1 credits) - Software life cycle - Design using UML - Design Patterns - Configuration management - Testing
Basic features (1 credit) • Object-oriented programming, Java, Eclipse • Classes, attributes, methods and constructors, objects • Packages and visibility rules • Strings, wrapper classes • Arrays Inheritance and interfaces (3 credits) • Inheritance • Abstract classes, interfaces • Functional interfaces, lambda expressions • Exceptions • Generic types Standard libraries (3 credits) • Collections: sets, lists, maps • Streams • Files • Dates • Threads Software Engineering principles (1 credits) - Software life cycle - Design using UML - Design Patterns - Configuration management - Testing
The course consists of classroom lectures that present the topics of software engineering and Java language; lectures are supplemented with classroom exercises. In addition, there is a series of laboratory exercises that allow students to master the Java language and the Eclipse platform through case studies of increasing complexity.
The course consists of classroom lectures that present the topics of software engineering and Java language; lectures are supplemented with classroom exercises. In addition, there is a series of laboratory exercises that allow students to master the Java language and the Eclipse platform through case studies of increasing complexity.
The slides of the course are available on the portal. Suggested readings are as follows: M.Fowler, K. Scott. UML Distilled, 3rd ed. Addison-Wesley, 2003. Cay S. Horstmann. Core Java SE 9 for the Impatient, Addison-Wesley Professional, 2017. R. Urma, M. Fusco, A. Mycroft. Java 8 in Action: Lambdas, streams, and functional-style programming. Manning, 2014.
The slides of the course are available on the portal. Suggested readings are as follows: M.Fowler, K. Scott. UML Distilled, 3rd ed. Addison-Wesley, 2003. Cay S. Horstmann. Core Java SE 9 for the Impatient, Addison-Wesley Professional, 2017. R. Urma, M. Fusco, A. Mycroft. Java 8 in Action: Lambdas, streams, and functional-style programming. Manning, 2014.
Modalità di esame: Prova di laboratorio;
Exam: Practical lab skills test;
Onsite exams take place in Politecnico's LAIBs and are divided into two parts: a) close-ended questions on topics covered in lectures (weight on the final grade ~15%) and b) the development of a Java program using the Eclipse IDE (weight on the final grade ~85%). The exam lasts two hours, the use of notes and books is not allowed. The grading is based on the number of correct answers (part a) and the quality on the program in terms of correctly implemented Java classes (part b).
Modalità di esame: Prova scritta a risposta aperta o chiusa tramite PC con l'utilizzo della piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus);
Exam: Computer-based written test with open-ended questions or multiple-choice questions using the Exam platform and proctoring tools (Respondus);
Online exams are similar to onsite ones: close-ended questions are handled with the Exam platform, while the development of a Java program is checked with the Virtual Classroom platform.
Modalità di esame: Prova scritta a risposta aperta o chiusa tramite PC con l'utilizzo della piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus);
Exam: Computer-based written test with open-ended questions or multiple-choice questions using the Exam platform and proctoring tools (Respondus);
In a blended scenario, onsite exams and remote ones take place simultaneously; the modalities are described in the two previous cases.
Esporta Word


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
Contatti