Skip to main content
CODE 48382
ACADEMIC YEAR 2017/2018
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE Italian
TEACHING LOCATION
SEMESTER 1° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

We introduce the data type, which is the theoretical counterpart of a software module, and consists of values with their operations. We introduce data structures and algorithms to implement a data type (the implementation is not unique). We teach how to evaluate the space and time complexity of an implementation.
We introduce object oriented (OO) programming and the Java language. We use Java to implement some classical data types (stack, queue, dictionary) and algorithms for the sorting problem.

AIMS AND CONTENT

LEARNING OUTCOMES

Introduction to: data types; algorithms, data structures and complexity evaluation; object oriented programming with the java language as an example; implementation of data types in java.

 

AIMS AND LEARNING OUTCOMES

Ability to implement a data type by choosing suitable data structures and algorithms, based a complexity analysis of the various possible implementations.
Knowledge of classical data types (stack, queue, dictionary) and their implementations. Knowledge of classical sorting algorithms and their properties. 
Knowledge of object-oriented programming and of the Java language.

 

TEACHING METHODS

Coordinated lessons in classroom and in laboratory (with exercises). 
Each week has three lessons of two hour each. In the typical week, one lesson is in classroom, one lesson in laboratory, and one is either in classroom or in laboratory depending on the flow of teaching material.

SYLLABUS/CONTENT

Abstract data type. From operations to algorithms; from types to data structures. Space and time complexity. Data types: stack, queue, dictionary, and various implementations for them. Sorting algorithms.
Object-oriented programming paradigm and Java language. Classes and objects, equality and copy of objects, constructors, clientship,  inheritance, overriding, exceptions. Implementation of data types in
Java.

 

RECOMMENDED READING/BIBLIOGRAPHY

Course notes. On-line manual  and tutorials for Java. Book: M.T.Goodrich, R.Tamassia, Data structures and algorithms in Java, John Wiley & Sons.

 

TEACHERS AND EXAM BOARD

Exam Board

PAOLA MAGILLO (President)

ELENA ZUCCA (President)

DAVIDE ANCONA

LESSONS

LESSONS START

The class will start according to the academic calendar.

Class schedule

PROGRAMMING 2

EXAMS

EXAM DESCRIPTION

The exam consists of a pratical part in laboratory and of an oral part. As a rule, the two parts are in the morning and afternoon of the same day and they are considered as a whole. For details, see  "Assessment methods".

ASSESSMENT METHODS

The laboratory part of the exam will ask to write, or to modify, Java code to implement variants of algorithms and data structures presented during the year.
The oral exam will ask questions about the teaching program, and may involve writing examples in code or pseudocode. It may involve a discussion of the laboratory part.
At the end of the lessons, we will provide a sample exam with solutions.

 

Exam schedule

Data appello Orario Luogo Degree type Note
11/01/2018 15:00 GENOVA Laboratorio
01/02/2018 15:00 GENOVA Laboratorio
05/06/2018 15:00 GENOVA Laboratorio
23/07/2018 15:00 GENOVA Laboratorio
17/09/2018 15:00 GENOVA Laboratorio

FURTHER INFORMATION

Required notions: Programmazione 1