Strumenti Utente

Strumenti Sito


Programming for Data Science A.Y. 2021/22

This is an introductory course to computer programming and related mathematical/logic background for students without a Bachelor in Computer Science or in Computer Engineering. The objective is to smoothly introduce the student to the programming concepts and tools needed for typical data processing and data analysis tasks. The course consists of lectures and practice in computer labs.

The course is ANNUAL: so, classes will start in September and finish in May. Hence, the first exam date for students attending the course this year for the first time will be at the end of May: there will be a written/lab exam first, if you succeed, then you are admitted to the second part of the exam, the oral.

As a facilitation, we allow students who wish to do so, to take a partial test during the winter exam session (which is for A.Y. 20/21 students) that, if passed, will count as a waiver of the laboratory test during the next summer exam. If interested, we ask you to send us an email (with subject MidTerm_P4DS) a week before the exam asking us to attend, for organizational reasons.



  • Marianna Abbattista
    • Office Hours: Wednesday from 16. Timetable valid during the lesson period. TEAMS: “667AA 21/22 - PROGRAMMING FOR DATA SCIENCE [WDS-LM]”

Lessons are in “Aula H”, on Tuesday 11-13 and Wednesday 11-13.

They are also on Teams: “667AA 21/22 - PROGRAMMING FOR DATA SCIENCE [WDS-LM]“

During the first two weeks they have been guests of the channel “Ricevimento Studenti - Laura Semini”: there are the recordings of the 4 first lessons

Text Books

  • [LA] Mike X Cohen Linear Algebra: Theory, Intuition, Code 2021 8-o NEW
  • [T] Kenneth H. Rosen. Discrete Mathematics and Its Applications. Seventh Edition, MCGraw-Hill, 2012. Supplement material (including Errata-Corrige).
  • [P] Pieter Spronck. The Coder’s Apprentice: Learning Programming with Python 3, 2017. Book and supplement material.
  • [C] Brian W. Kernighan, Dennis M. Ritchie. C Programming Language. Second Edition, Prentice Hall, 1988.


  • Python programming: Anaconda distribution of Python 3. Computers at lab rooms include it both on Linux and Windows OS.
  • C programming (Linux): either gedit (or equivalent text editor) and gcc. If you do not have gcc on your machine, check next item. Gedit and gcc are available on computers at lab room (Linux only).
  • C programming (Windows) Either DevC++ (already installed on LabMachines) or install CygWin (not on lab machines – on your PC) or install a Virtual Machine (such us VirtualBox) running any Linux distribution.
  • Editor for C files on Windows Either use the DevC++ editor, or use Notepad++ .
  • Unix Shell Either use Linux on lab machines, or install CygWin (on your PC).
  • Python/C online including visualization of memory state PythonTutor.
  • Jupyter Notebooks shown during theory classes GitHub

COVID-update (Jan 12):

  • The exam on January 21 h9 will be in aula/lab M, students who are not in condition to be present and ask to take the exam online are kindly requested to send an email request to us
  • The partial midterm test will be on the same date and time and will be ONLY online

Previous years

mds/pds/start.txt · Ultima modifica: 03/03/2022 alle 11:42 (3 mesi fa) da Laura Semini