- 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. 6060)
-
from Feb 18, 2025 to May 15, 2025
Learning outcomes
At the end of the course, the student will be able to design and implement structured applications using the object-oriented paradigm. The student will learn how to use tools to create collaborative software projects
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.
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 and is assigned a score from 0 to 27 and it is considered to be sufficient if scored at least 16. The project part must be completed in a group of 2-3 people and submitted at least 1 week before the day of the exam. It is assigned a score from 0 to 5 and is considered sufficient if scored 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.
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