FUNDAMENTALS OF PROGRAMMING
cod. 14908

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

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

Prerequisites

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:
Introduction to C++ language.
Array and pointers.
Lists.
Stacks.
Queues.
Recursion.
Sorting algorithms.
Part B:
Symbol tables and binary trees.
Priority queues and heap.
Binary search trees.
Graphs.
Introduction to Standard Template Library (STL) in C++

Bibliography

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).

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

- - -