- Docente: Alessandro Bevilacqua
- Credits: 3
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Cesena
-
Corso:
First cycle degree programme (L) in
Electronics Engineering (cod. 5834)
Also valid for First cycle degree programme (L) in Electronics Engineering (cod. 5834)
-
from May 05, 2025 to Jun 09, 2025
Learning outcomes
Upon completion of the course, the student will have a working knowledge of algorithms and advanced computer programming (in particular: imperative and structured programming) in the C programming language. The student will be able to design and implement iterative and recursive algorithms, advanced data structures (lists) and manage standard I/O (files).
Course contents
Introduction to advanced algorithms and data structures: recursive algorithms and complexity analysis; advanced data structures (lists, trees).
The C programming language: advanced programming aspects: iteration and recursion; algorithms on lists (insertion, deletion, search, sorting); I/O and data persistence on file.
Readings/Bibliography
- Paul J. Deitel, Harvey M. Deitel, "Il linguaggio C: fondamenti e tecniche di programmazione", 8/ed, Pearson, ISBN 978-8891901651
Further materials will be provided by the professor.
For further topics on the theory and fundamentals of informatics:
- Brookshear, J. Glenn. Computer science: an overview. Boston: Addison-Wesley, 2012.
For further topics on the C programming language:
- Brian W. Kernighan and Dennis M. Ritchie, "The C Programming Language, Second Edition", Prentice Hall, Inc., 1988. ISBN 0-13-110362-8 (paperback), 0-13-110370-9 (hardback).
Teaching methods
The teaching method consists of lectures, which cover the theorical and practical aspects of computer science and programming, accompanied by computer exercise.
Assessment methods
The course exam consists of a written/practical test with questions and practical exercises to be carried out on the computer in the C programming language.
Teaching tools
Materials to facilitate learning, including slides, lecture notes, and exercises will be provided. Laboratory classes will support practice. Tutoring will be provided to support learning throughout the coursework.
Office hours
See the website of Alessandro Bevilacqua
SDGs

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.