Academic Year 2018/2019 - 1° Year
Teaching Staff: Simone FARO
Credit Value: 9
Scientific field: INF/01 - Informatics
Taught classes: 36 hours
Exercise: 36 hours
Term / Semester:

Learning Objectives

The second course of Programming Language is designed to provide the tools for solving simple problems related to the use of some basic data structures through the object-oriented programming.

Knowledge and understanding: knowledge on the main programming paradigms and on the functioning and implementation of the main data structures analyzed will be acquired. The basics of the asymptotic complexity of an algorithm will also be acquired.

Applying knowledge and understanding: the ability to implement and design algorithmic solutions through the use of the main programming paradigms will be acquired. The student will be able to use iteration and recursion to solve intermediate level computational problems.

Making judgments: The student will be able to judge the effectiveness of their implementation and their project work.

Learning skills: the student will be able to adapt the solutions analyzed during the lessons to other contexts.

Course Structure

Teaching will be carried out through lectures (for a total of 54 hours) during which the contents of the course will be presented, also through practical demonstrations. In addition, the students will have at his disposal a learning platform through which it will be possible to practice during their home-study and self-evaluate themselves on the contents of the course. The same platform provides a valid tool for the exam preparation.

Detailed Course Content

The course will introduce of the concept of abstract data model and will investigate different data models such as stacks, queues , lists, trees and graphs. In connection to data structures, the basic concepts of computational complexity will be given.
The course will focus also to the main data structure management algorithms, and specifically, sorting algorithms, including bubble sort, insertion sort, quicksort and mergesort.
The C ++ language will be used as the main tool to present the implementations of data structures and algorithms.

Textbook Information

The reference book is "Fondamenti di programmazione in C++", written by Luis Joyanes Aguilar and published by McGraw-Hill. The book introduces the principles of programming and choose the C++ language to teach them. The reason that drives us in this direction is the desire to reduce the training time of programmers, making then apply, since the early algorithms, to a professional language actually used in large software suites.