cod. 14908

Academic year 2018/19
1° year of course - Second semester
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Ingegneria informatica
Type of training activity
72 hours
of face-to-face activities
9 credits
hub: PARMA
course unit

Learning objectives

The aim is to provide students with skills in the context of design and analysis of computer algorithms, and in particular:
- Fundamentals of static and dynamic data structures
- Sorting and searching algorithms
- Generic programming
Applying knowledge and understanding:
- Design and development of algorithms in C++ language
- Use of basic data structures for problem solving
- Analyze and describe the complexity of algorithms


Adequate knowledge of C++ is recommended.

Course unit content

This course introduces the fundamental concepts about algorithms and data structures in C++

Full programme

Part A (42 hours):
Introduction to C++ language. (12 hours)
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: (30 hours)
Symbol tables and binary trees. (8 hours)
Priority queues and heap. (6 hours)
Binary search trees. (8 hours)
Graphs. (8 hours)


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

- - -