|SCIENTIFIC DISCIPLINARY SECTOR||ING-INF/05|
|LANGUAGE||Italian (English on demand)|
The course introduces to advanced programming in Python, including object-oriented programming, efficient use of data structures and algorithms, creation and use of exceptions and libraries for file manipulation; the course introduces also to database management by providing elements on design and implementation of relational databases.
The aim of the course is to introduce the student to the main concepts related to the management of large quantities of data on computers (database) and their use in applications developed to enable input, handling and management of such data. The course will provide knowledge about the main databases in use (relational and associative model) and on the related technical and practical features. The knowledge of object oriented programming in Python will be given as an instrument to interact with database and develop applications that can persist data beyond the standard predefined data structures in Python. During the course the student will leanr how to implement simple databases and interact with them through Python scripts. As for capabilities, the student will learn how to choose the best model for a specific task, and choose the best implementation of data structures to interact with a specific database.
The aim of the course for the Python programming language part, is to introduce the student to the following topics:
Regarding databases, the aim of the course is to introduce the student to the following topics:
The main learning outcome will be the ability to combine programming skills in Python with database engineering skills in order to build applications that, starting from row data, can process them, insert them into a database to enable efficient querying and presentation of data.
The course requires basic knowledge of the Python programming language (types, expressions, conditional statements, iteration statements, function definition, predefined data structures). Even if the course starts with a quick review of these concepts, a good grasp on them is preferrable to follow the course.
The course is taught with standard classes and labs. Most classes will be hands-on, where the main concepts will be explained through examples and extensive interaction will take place. Some classe will be mainly based on slides. During labs students will have a chance to solve some exercises with teacher guidance. Classe and labs might be delivered online.
The course focuses on the following topics:
Tony Gaddis - Introduzione a Python - Pearson (Informatica)
Paolo Atzeni, Stefano Ceri, Piero Fraternali - Basi di Dati - McGraw Hill
Office hours: Please make an appointment with the teacher via email
ARMANDO TACCHELLA (President)
DAVIDE ANGUITA (President Substitute)
All class schedules are posted on the EasyAcademy portal.
Hands-on test (possibly online) and interview about the test (possibly online as well).
Solving exercises that require loading raw data to a database; data are contained in text files; the databse shoudl be queried and results presented according to specifications.