Skip to main content
CODE 66054
ACADEMIC YEAR 2019/2020
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER Annual
TEACHING MATERIALS AULAWEB

OVERVIEW

Software design and development is one of the cornerstones of today's engineering and development of complex systems. Fondamenti di Informatica is an introductory course that describes several basic concepts in a simple and organic way. The course deals with both theoretical topics and practical aspects, the latter related to the development of C/C ++ code.

AIMS AND CONTENT

LEARNING OUTCOMES

The aim of the course is to provide students with skills related to the design and development of software, using C/C ++ as a reference language.

AIMS AND LEARNING OUTCOMES

The specific training objectives are articulated along three lines:

1. Understanding aspects of basic theoretical computer science, related to discrete mathematics.

2. Conceptualization of aspects related to the foundations of programming.

3. Extension of these concepts to the case of modular programming and abstract data types.

At the end of the course the students will be able to translate specifications into a program written in C/C ++ language, structuring it following a series of guidelines defined in the course.

PREREQUISITES

None

TEACHING METHODS

The course includes lectures and practical lessons. Practical lessons imply a series of exercises that students have to do independently, and if they have doubts and observations, ask the tutors for assistance, on a weekly basis.

SYLLABUS/CONTENT

The program of the course develops along three topics:

1. Elements of discrete mathematics: set theory, relations and functions, basic algebraic structures, introduction to combinatorics.

2. Foundations of programming: introduction to computer science (architecture of computers, information coding), introduction to programming (algorithms, programs and programming languages), structured programming in C++ language (variables, constants, types, operators, expressions, conditions, cycles, functions, mono-dimensional arrays, character strings, multi-dimensional arrays, flows and files, structures, arrays of structures), advanced programming in C ++ language (pointers and references, dynamic memory allocation, recursive functions, function templates).

3. Modular programming and abstract data types: classes and objects (methods and attributes, access control to members, types of methods: constructors, destructors, selectors, modifiers, operators, and operator overloads, class templates), abstraction on data (information hiding, types of abstract data, principle of independence from representation), application of abstract data types for the creation of data structures (lists, stacks, queues).

RECOMMENDED READING/BIBLIOGRAPHY

The educational material includes:

- The transparencies presented in classes, available in three different formats: 2 transparencies per page, 4 transparencies per page, 6 transparencies per page;

- The material related to the exercises, which will be made available together with each exercise.

For those wishing to follow a textbook we recommend:

For discrete mathematics related topics: C. Delizia, P. Longobardi, M. Maj, C. Nicotera. Discrete Mathematics, McGraw-Hill (any edition).

For the programming part: L. J. Aguilar. Fundamentals of Programming in C ++. McGraw-Hill (any edition).

TEACHERS AND EXAM BOARD

Exam Board

FULVIO MASTROGIOVANNI (President)

GUALTIERO VOLPE (President)

PIERPAOLO BAGLIETTO

TULLIO VERNAZZA

RENATO UGO RAFFAELE ZACCARIA

LESSONS

EXAMS

EXAM DESCRIPTION

The exam consists of a practical test and an oral exam. The practical test can be taken, according to the student's choice, in two different ways: a single practical test at the end of the second semester or two intermediate tests, one after the end of the first semester, and one after the end of the second semester.

ASSESSMENT METHODS

The practical test consists of a computer exam, and can give up to 20 points. For those who choose partial tests, each test can give up to 10 points. Only students who pass the practical test (or the two partial tests) are admitted to the oral exam, in particular according to a threshold that can be defined from time to time and on the basis of the exam. The oral exam provides up to 10 points.

Exam schedule

Data appello Orario Luogo Degree type Note
15/01/2020 09:00 GENOVA Prova pratica
15/01/2020 09:00 GENOVA Compitino
04/02/2020 09:00 GENOVA Prova pratica
04/02/2020 09:00 GENOVA Compitino
12/06/2020 09:00 GENOVA Prova pratica
03/07/2020 09:00 GENOVA Prova pratica
20/07/2020 09:00 GENOVA Prova pratica
07/09/2020 09:00 GENOVA Prova pratica

FURTHER INFORMATION

None