OBJECT ORIENTED PROGRAMMING
cod. 1009653

Academic year 2024/25
1° year of course - Second semester
Professor
Jacopo ALEOTTI
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
72 hours
of face-to-face activities
9 credits
hub: PARMA
course unit
in ITALIAN

Learning objectives

The aim is to provide students with skills concerning:
- Object-oriented programming in C++
- Generic programming in C++
- Main static and dynamic data structures in C++
- Sorting and search algorithms in C++
Ability to apply knowledge and understanding:
- Design and implement algorithms in C++ language
- Use basic data structures in C++ for problem solving

Prerequisites

Basic knowledge of a programming language.

Course unit content

The course provides an introduction to the C++ programming language and it presents the implementation of the fundamental data structures of computer science in C++.

Full programme

Part A (44 hours):
Introduction to C++ language. (18 hours): Visual Studio IDE, data types, variables, constants, expressions, instructions, input/output, random numbers, header files, functions, struct, strings, file, classes, objects, operators, inheritance, polymorphism, template.
Array and pointers. (2 hours)
Lists. (10 hours)
Stacks. (3 hours)
Queues. (3 hours)
Recursion. (2 hours)
Sorting algorithms. (6 hours)
Exercises on part A (4 hours)
Part B: (28 hours)
Binary trees. (6 hours)
Priority queues and heap. (6 hours)
Binary search trees. (6 hours)
Introduction to Standard Template Library. (6 hours)
Graphs. (4 hours)

Bibliography

Luis Joyanes Aguilar, Fondamenti di programmazione in C++. Algoritmi, strutture dati e oggetti, McGraw-Hill.

Robert Sedgewick, Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, Third Edition.

Clifford A. Shaffer, Data Structures and Algorithm Analysis Edition 3.2 (C++ Version)

Teaching methods

Classroom lectures (34 hours).
Classroom exercises (18 hours).
Laboratory lectures (20 hours).

The course material is available through the Elly portal.

Assessment methods and criteria

The exam consists of a laboratory examination in C++ (3 hours).

There will be two midterm examinations only for students at the first year:
Midterm 1) topics: part A.
Incidence on the final vote: 50%.
Midterm 2) topics: part B, only after sufficient evaluation of the first Midterm exam. Incidence on the final vote: 50%

The laboratory examinations consist on exercises and quizzes.

Other information

- - -

2030 agenda goals for sustainable development

- - -

Contacts

Toll-free number

800 904 084

Student registry office

E. segreteria.ingarc@unipr.it 

Quality assurance office

Quality Assurance Manager:
Elena Roncai
T.+39 0521 903663
E. office dia.didattica@unipr.it
E. manager elena.roncai@unipr.it

 

Course President

Andrea Prati
E. andrea.prati@unipr.it

Faculty advisor

Michele Tomaiuolo
E. michele.tomaiuolo@unipr.it

Carrier guidance delegate

Guido Matrella
E. guido.matrella@unipr.it

Tutor Professors

Michele Amoretti
E. michele.amoretti@unipr.it
Michele Tomaiuolo
E. michele.tomaiuolo@unipr.it

 

Erasmus delegates

Luca Consolini
E. luca.consolini@unipr.it

Quality assurance manager

Michele Amoretti
E. michele.amoretti@unipr.it

Tutor students

PELLEGRINO Mattia
E. mattia.pellegrino@unipr.it
PICCININI Mirco
E. mirco.piccinini@unipr.it
CIPPELLETTI Alberto
E. mirco.piccinini@unipr.it
BOTTI Filippo
E. filippo.botti2@studenti.unipr.it
SACCANI Francesco
E. francesco.saccani@unipr.it
MEZZADRI Matteo
E. matteo.mezzadri3@unipr.it
PENZOTTI Gabriele
E. gabriele.penzotti@unipr.it
TRIMIGNO Giuseppe
E. giuseppe.trimigno@studenti.unipr.it
RICCIARDI Roberto
E. roberto.ricciardi@studenti.unipr.it