Strumenti Utente

Strumenti Sito


mds:pds:start

Questa è una vecchia versione del documento!


Programming for Data Science A.Y. 2020/21

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.

The first semester of the course will be only on-line (see below for details).

Instructors

Classes

Day of Week Hour Room Type
Thursday 09:00 - 11:00 Remote lecture Remote lecture
Friday 11:00 - 13:00 Remote lecture Remote lecture

NEWS:
Google Meets link for remote lectures: Join Class.

Office hours

  • Prof. Prencipe: by appointment.
  • Prof. Semini: by appointment.

Text Books

  • [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.
  • [A] David A. Patterson,‎ John L. Hennessy. Computer Organization and Design. Fifth Edition, The Morgan Kaufmann Series in Computer Architecture and Design, 2014. MKComputerOrganizationAndDesign-1stChapter.pdf
  • [O-it] Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari. Sistemi Operativi. McGraw-Hill, 2008
  • [O-en] Abraham Silberschatz, Peter B. Galvin, Greg Gagne. Operating System Concepts, 9th Edition International Student Version, 2013

Software

  • 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

Preliminary program and calendar

Exams (rules valid also for COVID-19 emergency)

Exams is made out of two parts:

  1. Written part: solve programming exercises in both Python and C (45 minutes). If sufficient, this will give you access to the Oral part of the exam.
  2. Oral part: discussion on both the Written part and on ALL of the topics covered during the course.

Registration to exams is mandatory: register here

Virtual room for the Written part is the same as the one used for classes. Always check here for specific information on specific sessions.

IMPORTANT: To be able to solve the C exercises during the exam, you need to use either the Linux partition or DevC++ installed in the Windows partition of the computers' lab. Please, read carefully the instructions in the Software section above.

Day Hour Room Type

Sample exam texts: 1, 2, 3, 4,5,6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,

Class calendar

Recordings of lessons are available, and are password protected. Ask the teachers for credentials.

Day Room Topic Learning material Recordings Instructor

Previous years

mds/pds/start.1599573396.txt.gz · Ultima modifica: 08/09/2020 alle 13:56 (4 anni fa) da Giuseppe Prencipe