47478 - Foundations of Informatics B

Course Unit Page

  • Teacher Andrea Roli

  • Learning modules Andrea Roli (Modulo 1)
    Stefano Benedettini (Modulo 2)

  • Credits 9

  • SSD ING-INF/05

  • Teaching Mode Traditional lectures (Modulo 1)
    Traditional lectures (Modulo 2)

  • Language Italian

  • Campus of Cesena

  • Degree Programme First cycle degree programme (L) in Electronics, Informatics and Telecommunications Engineering (cod. 8196)

Academic Year 2010/2011

Learning outcomes

The course will provide students with knowledge in Object Oriented Programming and skills in designing small/medium size software applications and implementing them in Java and C++.

Course contents

  • Functions and procedures:
    • binding, scope rules and environments
    • parameter passing
    • function call and run-time model
  • Algorithms and data structures (basics)
    • static and dynamic allocation
    • computational complexity
  • Elements of Object-Oriented Design and Programming
    • from algoriths to systems
    • basic concepts of OOP: objects, classes, interfaces
    • reuse, extenstion and composition
    • dynamics and exceptions
    • event-based architectures
    • GUI programming
    • Libraries for I/O and File System access and management


The course notes are the basic reference for the course. Among the various textbooks which can be useful for deeping the course topics:

  • The C Programming Language, Kernighan & Ritchie, Prentice Hall.
  • Object Oriented Design and Patterns, Horstmann, John Wiley & Sons.

Teaching methods

The course is organized in a set of lessons, balancing both theory and practice with the assistance of teacher and tutor.

Assessment methods

  • Written examination (programming exercises and questions)
  • Oral examination (presentation and discussion of projects developed by the students and questions on the course topics)

Teaching tools

The course notes - presented during the lessons - are available for downloading at the official web site of the course. Part of the lessons takes place in a laboratory where students develop exercises and projects (applications).

Links to further information


Office hours

See the website of Andrea Roli

See the website of Stefano Benedettini