47478 - Foundations of Informatics B

Academic Year 2009/2010

  • Docente: Andrea Roli
  • Credits: 9
  • SSD: ING-INF/05
  • Language: Italian
  • Moduli: Andrea Roli (Modulo 1) Elena Nardini (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Electronics, Informatics and Telecommunications Engineering (cod. 8196)

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 Elena Nardini