16870 - Programming Laboratory

Academic Year 2025/2026

  • Docente: Luca Padovani
  • Credits: 6
  • SSD: INF/01
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Information Science for Management (cod. 6641)

Learning outcomes

At the end of the course, the student knows the principles and fundamental techniques underpinning the object-oriented programming paradigm as well as some basic notions of programming with scripting languages. The student is capable of implementing object-oriented programs, writing scripts and using some collaborative tools for software development.

Course contents

  • Introduction to object-oriented programming in Java
  • Encapsulation
  • Inheritance
  • Polymorphism and subtyping relation
  • Implementation and use of data structures in Java
  • Introduction to programming in Python
  • Use of data structures in Python (sequences, lists, dictionaries)

Note: students are expected to be familiar with the notion of partial order relation and with the principles of procedural/imperative programming in Java.

Readings/Bibliography

  • Walter Savitch, Programmazione di base e avanzata con Java, Pearson Italia, 2018.
  • Al Sweigart, Automate the boring stuff with Python, William Pollock, 2020 (available online)
  •  Italian version of the previous text(first edition only): Automatizzare le cose noiose con Python, Edizioni Lswr, 2017.

Teaching methods

Lectures with presentation of slides and program development guided by the teacher. Exercise sessions to be carried out in class, possibly in a group of students, with personal laptops. Self-evaluating exercises to be solved individually at home.

Assessment methods

The exam comprises a project part and a written part. The written part must be completed individually in 1 hour on paper or at the computer on the day of the exam, it includes open questions, closed questions (multiple choices) and simple programming exercises in Java and Python. It is marked with a score from 0 to 27 and it is considered to be sufficient if marked with at least 16. The project must be carried out in a group of 2-3 students and submitted at least 1 week before the day of the exam. It is marked with a score from 0 to 5 and is considered sufficient if marked with at least 2. In order to pass the exam, both parts must be sufficient. The final score is the sum of the scores of the two parts. Mention is assigned if the score is at least 31.

Nota: in order to access the computer science laboratory it is mandatory for all students to take the online course on security (modules 1 and 2).

Teaching tools

  • Java and Python programming environments
  • Lecture notes and slides
  • Code examples
  • Programming exercises with solutions

All the teaching material will be made available on Virtuale.

Office hours

See the website of Luca Padovani