CODE 98920 ACADEMIC YEAR 2024/2025 CREDITS 5 cfu anno 1 SAFETY ENGINEERING FOR TRANSPORT, LOGISTICS AND PRODUCTION 10377 (LM-26) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 2° Semester TEACHING MATERIALS AULAWEB OVERVIEW The course aims at learning how to access, model, and manipulate (textual) data by providing concepts of object-oriented programming (Python scripts) and an introduction to data interchange files and databases. The course includes frontal teaching activities alongside practical lecutures with the aim of consolidating the topics seen in class. The course has a strong applicative connotation, then students are encouraged to tackle problems of increasing complexity independently. AIMS AND CONTENT LEARNING OUTCOMES The course aims at providing an overview of information systems geared to transport, logistic and production systems, with reference to the main methodologies and technologies for the collection, storage, management, and analysis of data. The course will focus on basic technological components, providing methodological tools to write simple scripts and use an information system. In particular, the course will address aspects relating to the automatization of data management and data warehousing systems, with particular attention to the scripting methods and interrogation methods of structured text files and databases. AIMS AND LEARNING OUTCOMES At the end of the course, students are able to: abstract informal specifications to design algorithms; implement and validate small python scripts; understand, use and modify code produced by others; retrieve information present in relational databases; write SQL queries. TEACHING METHODS The course is articulated in 45 hours of lectures held in the INFAL2 laboratory. Due to the practical nature of the course, some practical classes are provided during the course; in addition, each theoretical lesson ends with exercises of the concepts introduced. In order to complete, review and better understand the proposed exercises, students are encouraged to install Python 3, PyCharm and MariaDB server. SYLLABUS/CONTENT Python fundamentals: Introduction to programming Variables Conditional flow Loops Collections Functions Overview on Object-Oriented Programming Read - Write files Data-interchange formats Database introduction: Entities and keys Relationships From ER to table SQL principles: Single-table queries Multi-table queries Multiset operation and "group by" DB connection to python scripts RECOMMENDED READING/BIBLIOGRAPHY All the slides and additional exercise material used during the lectures will be available on AulaWeb. In general, the notes taken during the lectures and the material on AulaWeb are sufficient to prepare for the exam. TEACHERS AND EXAM BOARD KATIA LUPINETTI Exam Board KATIA LUPINETTI (President) NICOLA SACCO DAVIDE GIGLIO (President Substitute) LESSONS LESSONS START https://corsi.unige.it/en/corsi/10377/studenti-orario Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION The exam is composed of two parts. A quiz part (10 questions -multiple choices- in 20 minutes) will test the database and SQL knowledge of the students, 1 point for each correct answer will be assigned (no penalty for wrong answers is foreseen). A lab project (2 hours) where students should demonstrate their ability to access data from CSV files, manipulate file content to extract some information, and save the results. Both the parts are delivered on AulaWeb. Both parts should be sufficient to pass the exam (6 right answers for the quiz and a grade of 18 for the lab). The final grade is given by the weighted average of the two parts (30% the quiz and 70% the lab). Students with learning disorders ("Disturbi Specifici di Apprendimento", DSA) will be allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities. ASSESSMENT METHODS The quiz aims to test the knowledge for accessing information in relational databases and the comprehension of SQL queries; while the lab project tests the acquired scripting knowledge. Exam schedule Data appello Orario Luogo Degree type Note 07/01/2025 10:00 GENOVA Orale Place: Opera Pia - padiglione B - 4° piano - IV.007 - Aula B6 Time: 10:30-10:50 the quiz part and right after the oral. 06/02/2025 10:00 GENOVA Orale 03/06/2025 10:00 GENOVA Orale 16/06/2025 10:00 GENOVA Orale 14/07/2025 10:00 GENOVA Orale 09/09/2025 10:00 GENOVA Orale