====== Programming for Data Science A.Y. 2024/25 ====== 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 in the **1st SEMESTER**: so, classes will start in September and finish in January: there will be a written/lab exam first, if you succeed, then you are admitted to the second part of the exam, the oral. =====Instructors===== * **Salvatore Trani** * ISTI-CNR and Università di Pisa * [[salvatore.trani@isti.cnr.it]] * **Laura Semini** * Università di Pisa * [[laura.semini@unipi.it]] * Office Hours: Thursday 9-11 (not on march 7th) Lessons: < Course slides & other material on **Teams: "667AA 24/25 - PROGRAMMING FOR DATA SCIENCE [WDS-LM]", https://teams.microsoft.com/l/team/19%3ArjrbC2bZuNSJ6YDv_xoiS42M171Z8jbk1PFarIMVwpk1%40thread.tacv2/conversations?groupId=63b57f30-ba5e-4503-a794-1f23f80a7f10&tenantId=c7456b31-a220-47f5-be52-473828670aa1** =====Text Books===== * **[T]** Kenneth H. Rosen. //Discrete Mathematics and Its Applications//. MCGraw-Hill. [[http://highered.mheducation.com/sites/0073383090|Supplement material]] (including Errata-Corrige). * **[LA]** “Linear Algebra: Theory, Intuition, Code” by Mike X Cohen, chapters: Vectors; Vector multiplication; Matrices; Matrix multiplication; Rank; Determinant; Matrix inverse; Eigendecomposition * **[MV]** Any book on multivariable calculus * **[P]** Pieter Spronck. //The Coder’s Apprentice: Learning Programming with Python 3//, 2017. [[http://www.spronck.net/pythonbook|Book and supplement material]]. =====Software===== * **Python programming:** [[https://www.continuum.io/downloads|Anaconda distribution of Python 3]]. Computers at lab rooms include it both on Linux and Windows OS. * **Unix Shell** Either use Linux on lab machines, or install [[https://www.cygwin.com/|CygWin]] (on your PC). * **Python online** including visualization of memory state [[http://pythontutor.com/|PythonTutor]]. * **Jupyter Notebooks** shown during theory classes [[https://github.com/GiulioRossetti/PDS_notebooks|GitHub]] =====Previous years===== * Programming for Data Science A.Y. 2022/23: on Teams * Programming for Data Science A.Y. 2021/22: on Teams * Programming for Data Science A.Y. 2020/21: on Teams * [[mds:pds:2019|Programming for Data Science A.Y. 2019/20]] * [[mds:pds:2018|Programming for Data Science A.Y. 2018/19]] Recordings of lessons are available, and are password protected. Ask the teachers for credentials. * A.Y. 2020/21 the course will use Classroom/Meet as streaming platform and material repository: [[https://classroom.google.com/c/MTU5MjgxMjM2MzU5?cjc=y3qj2ft]] =====Exams===== * {{ :mds:pds:appello_pds-2024_2feb.pdf |February, 2, 2024}}, with {{ :mds:pds:appello_pds-2024_2feb.docx.pdf |solutions}} * {{ :mds:pds:appello_pds-2023_01_11_24.pdf |January 11, 2024}}, with {{ :mds:pds:appello_pds-2023_01_11_24_solutions.docx.pdf |solutions}} * {{ :mds:pds:appello_str_pds-2023_10_31.pdf |October 10, 2023}}, with {{ :mds:pds:appello_str_pds-2023_10_31_withsolutions.pdf |solutions}} * {{ :mds:pds:appello6_4settembre_pds-2023.pdf |September 4, 2023}} * {{ :mds:pds:appello5_11luglio_pds-2023.pdf |July 11, 2023}} * {{ :mds:pds:2023_june.pdf |June 20, 2023}} * {{ :mds:pds:2023_may.pdf |May 30, 2023}}