Fondamenti di Informatica B 2011/2012

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 algorithms to systems
    • basic concepts of OOP: objects, classes, interfaces
    • reuse, extension and composition
    • dynamics and exceptions
    • event-based architectures
    • GUI programming
    • Libraries for I/O and File System access and management
readings / bibliography

The course notes are the basic reference for the course. Among the various textbooks which can be useful for deepening 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).