B0063 - LABORATORIO DI PROGRAMMAZIONE

Academic Year 2023/2024

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Digital Innovation Policies and Governance (cod. 5889)

Learning outcomes

At the end of the course the student understands the basics of computer programming. The student knows the types of programming languages and understands why they are essential for interacting with computers. The student knows the main tools that are used for programming activities: editor, compiler, development environment; understands what are the effects of the main Python operations in terms of syntax and semantics. The student can solve exercises on the course topics, read Python programs of low or medium complexity, and understand what are their purposes. The student can analyse data and design small applications written in Python starting from the description of a problem or from portions of existing code.

Course contents

The course discusses the following topics:

  • Algorithms and programming languages
  • Data models and formats: basic data types, data types for the Web (JSON, CSV, …), data Wrangling
  • Basics of programming in Python: data types, functions, comparison, conditional and iterative constructs, exception handling, testing and debugging
  • Data exploration with Pandas: Series e Dataframe, data manipulation (indexes, selection, aggregation, sorting, etc.) 
  • Data visualization with Seaborn: relational, distribution and categorical plots
  • Machine Learning with Python: problem types (classification, regression, clustering), learning types (e.g. supervised vs unsupervised), performance evaluation (validation), classifiers and neural networks

Readings/Bibliography

Guttag, Introduzione alla programmazione con Python, Egea, 2021.

Bellini & Guidi, Python e machine learning, McGraw-Hill, 2022.

Teaching methods

The topics will be explained with slides, made available on the course website together with examples of code.

Some hands-on sessions aimed at testing the tools and technologies introduced by the course will be organised in the laboratory.

Assessment methods

The assessment is based on two separate tests: the presentation of the project by the team and a written test carried out individually.

The written test is composed of some exercises on the technologies described during the course and a few theoretical questions.

The presentation of the project focuses on assessing the correctness and completeness of the analysis performed by the team, as well as the individual contribution to the overall project.

 


Teaching tools

The course site contains slides, exercises, details about the project, general information and notices about the course.

Office hours

See the website of Francesco Poggi

SDGs

Quality education Decent work and economic growth

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.