Salta ai contenuti. | Salta alla navigazione

Strumenti personali

OBJECT AND LOGIC PROGRAMMING<br />

Academic year and teacher
If you can't find the course description that you're looking for in the above list, please see the following instructions >>
Versione italiana
Academic year
2021/2022
Teacher
FABRIZIO RIGUZZI
Credits
6
Didactic period
Primo Semestre
SSD
INF/01

Training objectives

The main goal of the course consists in enabling the students to write programs in object-oriented languages. Moreover, the course will illustrate the basic principles of logic programming.
The main acquired knowledge will be:
- basic principles of object-oriented programming
- object-oriented programming techniques
- the Java programming language
- basics of logic programming
The basic acquired abilities (that are the capacity of applying the acquired knowledge) will be:
- analysis and solution of problems of increasing complexity with object-oriented code in Java
- implementation of simple algorithms in logic programming

Prerequisites

The exam can be taken only after having passed the exam for the course "Programming".
The following concepts and knowledge provided by the course "Programming" are mandatory:
- structured programming principles
- C language
- basic data structures
- basic algorithms

Course programme

The course is composed of 48 hours of frontal lectures plus tutoring.
Introduction to object oriented programming (OOP) (8 hours): classical OOP, Java OOP, composed objects, packages, strings, arrays, wrappers, Eclipse IDE.
Java OOP (14 hours): inheritance, subtyping, polymorphism, the Object class, abstract classes and interfaces, exceptions, input/output.
Java Collection Framework (JCF) (16 hours): JCF, generics, JCF with generics.
Logic programming (10 hours).

Didactic methods

The course is composed of 48 lecture hours.
The lectures will cover all the course topics and will include also simple tests on the computer by the students of the examples shown by the teacher.

Learning assessment procedures

The aim of the exam is to verify at which level the learning objectives previously described have been achieved.
The exam is composed of a test in which the students have to write a programs in Java that read data from text files and elaborate it. The program must be written on a computer. Moreover, the test includes an exercise on logic programming.
The test lasts two hours and a half. It is worth 32 points. It is possible to use teaching material. The code must compile without errors otherwise the test will not be considered for marking.
The exam can also be taken by means of two partial tests, the first, on Java, during the mid-term break, the second on logic programming at the end of the course.

Reference texts

The reference texts are
- teacher handouts
- Walter Savitch, Programmazione di base e avanzata con JAVA 2/Ed, Pearson, 2018
Further texts are:
Bruce Eckel, Thinking in Java 4th edition, Prentice Hall, 2006, https://archive.org/details/TIJ4CcR1/page/n3
Cay S. di Horstmann, Concetti di informatica e fondamenti di Java - 6a ed., Apogeo, 2016
H. M. Deitel, P. J. Deitel. Java Fondamenti di Programmazione, 3a ed., Apogeo, Milano.
J. Lewis, W. Loftus, Java - Fondamenti di progettazione software, Addison Wesley, Italia.