47478 - Foundations of Informatics B

Academic Year 2008/2009

  • Docente: Andrea Roli
  • Credits: 9
  • SSD: ING-INF/05
  • Language: Italian
  • Moduli: Andrea Roli (Modulo 1) Stefano Benedettini (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Engineering (cod. 0948)

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

Readings/Bibliography

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

  • Thinking in C++ e Thinking in Java, Eckel - Prentice Hall. (available at: http://www.bruceeckel.com)

Teaching methods

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

Assessment methods

  • Written examination (programming exercises and questions)
  • Oral examination (presentation of student projects and questions)

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

http://apice.unibo.it/xwiki/bin/view/AndreaRoli/Courses

Office hours

See the website of Andrea Roli

See the website of Stefano Benedettini