B3407 - Supporting Managerial Decisions Through Machine Learning: A Primer on Python

Academic Year 2025/2026

Learning outcomes

This course aims at empowering management students with a practical knowledge of programming with Python, along with foundational training in machine learning concepts and applications in a business environment.

The course assumes no prior knowledge neither in computer science or machine learning, with the exception of some exposure to typical statistical analysis skills encountered in management curricula.

 

Course contents

Students will gain pragmatic knowledge in order to able to

  1. effectively plan and execute Digital Transformation programs with particular regard to decision-making support and other business automation objectives
  2. identify opportunities to leverage software to enhance management tasks
  3. autonomously hire technical employee as well as audit their work

The Python sub-module will cover the fundamentals of coding in Python as an objective in itself (i.e. not strictly tied to machine learning). This includes working with the Python interpreter, understanding the overall language grammar, data types and structures, conditional logic, iterative loops, as well as the Python Standard Library and common Python packages with particular regard to data manipulation and visualization.

The machine learning sub-module will cover supervised and unsupervised approaches as well as an introduction to reinforcement learning. Key topics will be ML model selection and evaluation, features and feature engineering concepts, the issue of dimensionality as well as generalization, over-fitting, cross-validation, etc.

Business applications of ML will be presented by leveraging study cases to be analyzed and executed end to end (except data collections campaigns) by students either individually or as part of a group.

Readings/Bibliography

  1. https://www.amazon.it/Think-Python-Like-Computer-Scientist/dp/1098155432/ref=sr_1_1?adgrpid=1238050412464396&dib=eyJ2IjoiMSJ9.EoH0UGKosscz5d2jO7VnTzdKDOOKwYfJ_TFWSpwTvzpZ86Y7jKvf56W_Xds5Ybq17PnVhpeQT2lSbfBKhYrob3Mqro1k5X-XBWQolWllcyNLNpqnOL022Nb5eo3TqWhpI9HQj9Onf1I5XIQzph3_wQ.hOF6tOJbv6emQ8Ob5OBxn8wkt4WlFe9pGeHyvfhCzqc&dib_tag=se&hvadid=77378316016781&hvbmt=be&hvdev=c&hvlocphy=1826&hvnetw=o&hvqmt=e&hvtargid=kwd-77378396280558%3Aloc-93&hydadcr=18517_1865765&keywords=think+python+how+to+think+like+a+computer+scientist&mcid=8952fd9c17353c8b9da9b6127822ee5a&msclkid=7e1839bac5b81dc4c2fb5055ad510880&qid=1777297644&sr=8-1&ufe=app_do%3Aamzn1.fos.8a1562af-dabe-4f1d-8eb5-1ded1ace4ef7
  2. https://www.amazon.it/dp/1098125975/?bestFormat=true&k=machine%20learning%20geron&ref_=nb_sb_ss_w_scx-ent-bk-ww_k0_1_8_de&crid=2XJT9FXCQAXE3&sprefix=geron%20ma

Teaching methods

frontal lessons

Assessment methods

The course assessment is based on a final project developed entirely in Python. Students are invited to propose their own project, drawing on knowledge and skills acquired during their master’s studies. Projects may be completed individually or in groups.

Prior to the final evaluation, students must submit a brief proposal (maximum one page) outlining the objectives and methodology of their project.

The final assessment consists of three components:

  • a fully functional Python program,
  • a written report (maximum 5 pages),
  • and an in-person presentation.

All results included in the report must be generated exclusively using Python; work produced with other tools (e.g., Excel) will not be considered.

An optional midterm exam covering fundamental Python concepts will be offered during the course. A strong performance can contribute up to +3 points to the final grade. Participation is not mandatory, and not taking the midterm—or performing poorly—does not limit the possibility of achieving the highest final grade.

Teaching tools

Spider and Jupiter Notebook

Office hours

See the website of Nicola Bartolini