Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
mds:pds:start [05/12/2018 alle 14:35 (6 anni fa)] – [Class calendar] Giuseppe Prencipe | mds:pds:start [16/09/2024 alle 17:40 (5 settimane fa)] (versione attuale) – [Software] Laura Semini |
---|
<html> | ====== Programming for Data Science A.Y. 2024/25 ====== |
<!-- Google Analytics --> | |
<script type="text/javascript" charset="utf-8"> | |
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | |
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); | |
| |
ga('create', 'UA-34685760-1', 'auto', 'personalTracker', {'allowLinker': true}); | |
ga('personalTracker.require', 'linker'); | |
ga('personalTracker.linker:autoLink', ['pages.di.unipi.it', 'enforce.di.unipi.it', 'didawiki.di.unipi.it'] ); | |
| |
ga('personalTracker.require', 'displayfeatures'); | |
ga('personalTracker.send', 'pageview', 'ruggieri/teaching/pds/'); | |
setTimeout("ga('send','event','adjusted bounce rate','30 seconds')",30000); | |
</script> | |
<!-- End Google Analytics --> | |
<!-- Capture clicks --> | |
<script> | |
jQuery(document).ready(function(){ | |
jQuery('a[href$=".pdf"]').click(function() { | |
var fname = this.href.split('/').pop(); | |
ga('personalTracker.send', 'event', 'PDS', 'PDFs', fname); | |
}); | |
jQuery('a[href$=".r"]').click(function() { | |
var fname = this.href.split('/').pop(); | |
ga('personalTracker.send', 'event', 'PDS', 'Rs', fname); | |
}); | |
jQuery('a[href$=".zip"]').click(function() { | |
var fname = this.href.split('/').pop(); | |
ga('personalTracker.send', 'event', 'PDS', 'ZIPs', fname); | |
}); | |
jQuery('a[href$=".mp4"]').click(function() { | |
var fname = this.href.split('/').pop(); | |
ga('personalTracker.send', 'event', 'PDS', 'Videos', fname); | |
}); | |
jQuery('a[href$=".flv"]').click(function() { | |
var fname = this.href.split('/').pop(); | |
ga('personalTracker.send', 'event', 'PDS', 'Videos', fname); | |
}); | |
}); | |
</script> | |
</html> | |
====== Programming for Data Science A.Y. 2018/19 ====== | |
| |
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 | 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. | 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===== | =====Instructors===== |
| |
* **Giuseppe Prencipe** | * **Salvatore Trani** |
| * ISTI-CNR and Università di Pisa |
| * [[salvatore.trani@isti.cnr.it]] |
| * **Laura Semini** |
* Università di Pisa | * Università di Pisa |
* [[http://pages.di.unipi.it/prencipe/]] | * [[laura.semini@unipi.it]] |
* [[giuseppe.prencipe@unipi.it]] | * Office Hours: Thursday 9-11 (not on march 7th) |
* **Giulio Rossetti** | |
* Università di Pisa | |
* [[http://www.giuliorossetti.net/about/]] | |
* [[giulio.rossetti@di.unipi.it]] | |
| |
=====Classes===== | |
| |
^ Day of Week ^ Hour ^ Room ^ Type ^ | |
| Monday | 11:00 - 13:00 | Fib C1 | Lectures | | |
| Tuesday | 9:00 - 11:00 | Fib N1 | Lectures | | |
| Wednesday | 16:00 - 18:00 | Fib M-Lab | Labs | | |
| Thursday | 11:00 - 13:00 | Fib M-Lab | Labs | | |
| |
<html> | Lessons: < |
<span style="color:red"> <b>NEWS:<br> | |
</b> Class of <b>5th of December (Wednesday): Simulation of the exam</b>.</span><br> | |
</span></html> | |
| |
=====Office hours===== | 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** |
| |
* Prof. Prencipe: Wednesdays h 15:00 - 19:00 or by appointment, Department of Computer Science, room 327/DO. | |
* Prof. Rossetti: Tuesday h 11:00 - 13:00 or by appointment, Department of Computer Science, room 383/DB | |
| |
| |
| |
| |
=====Text Books===== | =====Text Books===== |
| |
* **[T]** Kenneth H. Rosen. //Discrete Mathematics and Its Applications//. Seventh Edition, MCGraw-Hill, 2012. [[http://highered.mheducation.com/sites/0073383090|Supplement material]] (including Errata-Corrige). | * **[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]]. | * **[P]** Pieter Spronck. //The Coder’s Apprentice: Learning Programming with Python 3//, 2017. [[http://www.spronck.net/pythonbook|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. [[http://apa.di.unipi.it/pds/video/MKComputerOrganizationAndDesign-1stChapter.pdf|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===== | =====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. | * **Python programming:** [[https://www.continuum.io/downloads|Anaconda distribution of Python 3]]. Computers at lab rooms include it both on Linux and Windows OS. |
* **C programming (Linux):** either [[https://wiki.gnome.org/Apps/Gedit|gedit]] (or equivalent text editor) and [[https://gcc.gnu.org/|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). | * **Unix Shell** Either use Linux on lab machines, or install [[https://www.cygwin.com/|CygWin]] (on your PC). |
* **C programming (Windows)** Either DevC++ (already installed on LabMachines) or install [[https://www.cygwin.com/|CygWin]] (not on lab machines -- on your PC) or install a Virtual Machine (such us [[https://www.virtualbox.org/|VirtualBox]]) running any Linux distribution. | * **Python online** including visualization of memory state [[http://pythontutor.com/|PythonTutor]]. |
* **Editor for C files on Windows** Either use the DevC++ editor, or use [[https://notepad-plus-plus.org/download/v7.5.2.html|Notepad++ ]]. | |
* **Unix Shell** Either use Linux on lab machines, or install [[https://www.cygwin.com/|CygWin]] (on your PC). | |
* **Python/C online** including visualization of memory state [[http://pythontutor.com/|PythonTutor]]. | |
* **Jupyter Notebooks** shown during theory classes [[https://github.com/GiulioRossetti/PDS_notebooks|GitHub]] | * **Jupyter Notebooks** shown during theory classes [[https://github.com/GiulioRossetti/PDS_notebooks|GitHub]] |
=====Preliminary program and calendar===== | |
| |
* [[https://esami.unipi.it/esami2/programma.php?c=39741&aa=2018|Preliminary program]]. | |
* [[https://www.di.unipi.it/it/didattica/wds-lm/calendario-aa-2018-2019-wds|Calendar of lessons]]. | |
| |
| |
| |
=====Exams===== | |
| |
Exams is made out of two parts: | |
- Written part, in Lab: solve programming exercises in both Python and C (using computers' labs) | |
- Oral part: discussion of all topics covered during the course | |
| |
Registration to exams is mandatory: [[https://esami.unipi.it/esami2/|register here]] | =====Previous years===== |
| |
<html> | |
<span style="color:red"> IMPORTANT: </span></html> **To be able to solve the C exercises during the exam, you need to use DevC++ installed in the Windows partition of the computers' lab**. Please, read **carefully** the instructions in the Software section above. | |
| |
| * 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]] |
| |
^ Day ^ Hour ^ Room ^ Type ^ | =====Exams===== |
| 29.10.2018 | 14:00 - 16:00 | I-Lab | Reserved exam (working students) | | |
| 19.12.2018| 14:00 - 16:00 | M-Lab | Second Mid-Term | | |
| 15.1.2019| 9:00 - 13:00 | H-Lab | Regular Exam | | |
| 15.2.2019| 9:00 - 13:00 | H-Lab | Regular Exam | | |
=====Class calendar===== | |
| |
Recordings are password protected. Ask the teachers for credentials. | |
| |
^ ^ Day ^ Room ^ Topic ^ Learning material ^ Recordings ^ Instructor ^ | |
|1.| 17.9 11:00-13:00 | C1 | Introduction. Propositional logic. | [**T**: 1.1-1.3] | [[http://apa.di.unipi.it/pds/video/20170918.flv|20170918.flv]][[http://apa.di.unipi.it/pds/video/20180917_en.mp4|20180917_en.mp4]] | Prencipe | | |
|2.| 18.9 9:00-11:00 | N1 | Exercises. Rules of inference for propositional logic. | [**T**: 1.6] | [[http://apa.di.unipi.it/pds/video/20170919.flv|20170919.flv]][[http://apa.di.unipi.it/pds/video/20180918_en.mp4|20180918_en.mp4]] | Prencipe | | |
|3.| 19.9 16:00-18:00 | M-Lab | Architectures and hardware design. | [**A**: 1] | [[http://apa.di.unipi.it/pds/video/20171113.pdf|20171113.pdf]][[http://apa.di.unipi.it/pds/video/20171114.mp4|20171114.mp4]][[http://apa.di.unipi.it/pds/video/20180919_en.mp4|20180919_en.mp4]] | Prencipe | | |
|4.| 20.9 11:00-13:00 | M-Lab | Algorithms and programming: notions, programming steps, states, expressions and assignment. Introduction to Python. Data types, expressions using numbers, variables. | [**P**: 1-4] | [[http://apa.di.unipi.it/pds/video/20170920.mp4|20170920.mp4]][[http://apa.di.unipi.it/pds/video/20180920_en.mp4|20180920_en.mp4]] | Prencipe | | |
|5.| 24.9 11:00-13:00 | C1 | First Order Logic: Predicates and Quantifiers, Rules of Inference | [**T**: 1.4-1.6] | [[http://apa.di.unipi.it/pds/video/20180924_en.m4v|20180924_en.m4v]] | Rossetti | | |
|6.| 25.9 9:00-11:00 | N1 | Sets and Set Operations | [**T**: 2.1-2.2] | [[http://apa.di.unipi.it/pds/video/20180925_en.m4v|20180925_en.m4v]] | Rossetti | | |
|7.| 26.9 16:00-18:00 | M-Lab | Exercises and programming practice. Simple functions, input, if-else, if-elif-else. | [**P**: 1-4] | [[http://apa.di.unipi.it/pds/esercizi/Esercizi1.pdf|Esercizi1.pdf]][[http://apa.di.unipi.it/pds/video/20180926_I_en.mp4|20180926_I_en.mp4]][[http://apa.di.unipi.it/pds/video/20180926_II_en.mp4|20180926_II_en.mp4]] | Prencipe | | |
|8.| 27.9 11:00-13:00 | M-Lab | while, for. | [**P**: 4-7] | [[http://apa.di.unipi.it/pds/esercizi/Esercizi2.pdf|Esercizi2.pdf]][[http://apa.di.unipi.it/pds/video/20170926.mp4|20170926.mp4]][[http://apa.di.unipi.it/pds/video/20180927_en.mp4|20180927_en.mp4]] | Prencipe | | |
|9.| 01.10 11:00-13:00 | C1 | Concepts of Operating Systems I. | | [[http://apa.di.unipi.it/pds/esercizi/Lezione9_IntroduzioneOS.pdf|Lezione9_IntroduzioneOS.pdf]][[http://apa.di.unipi.it/pds/esercizi/Lezione10_FileSystem.pdf|Lezione10_FileSystem.pdf]][[http://apa.di.unipi.it/pds/video/20171207.mp4|20171207.mp4]] | Prencipe | | |
|9.1| 01.10 11:00-13:00 | C1 | Concepts of Operating Systems I. | | [[http://apa.di.unipi.it/pds/video/Lezione9_IntroduzioneOS_en.pdf|Lezione9_IntroduzioneOS_en.pdf]][[http://apa.di.unipi.it/pds/video/Lezione10_FileSystem_en.pdf|Lezione10_FileSystem_en.pdf]][[http://apa.di.unipi.it/pds/video/20181001_en.mp4|20181001_en.mp4]] | Prencipe | | |
|--.| 02.10 09:00-11:00 | | Lesson not held. | | | |
|10| 03.10 16:00-18:00 | M-Lab | Concepts of Operating Systems II. | | [[http://apa.di.unipi.it/pds/video/20181003_I_en.mp4|20181001_I_en.mp4]][[http://apa.di.unipi.it/pds/video/20181003_II_en.mp4|20181001_II_en.mp4]] | Prencipe | | |
|11.| 4.10 11:00-13:00 | M-Lab | Functions and recursion. | [**P**: 8-9] | [[http://apa.di.unipi.it/pds/video/20171005.mp4|20171005.mp4]][[http://apa.di.unipi.it/pds/esercizi/Esercizi3.pdf|Esercizi3.pdf]][[http://apa.di.unipi.it/pds/esercizi/Esercizi3.pdf|Esercizi3.pdf]][[http://apa.di.unipi.it/pds/video/20181004_I_en.mp4|20181004_I_en.mp4]][[http://apa.di.unipi.it/pds/video/20181004_II_en.mp4|20181004_II_en.mp4]] | Prencipe | | |
|12.| 8.10 11:00-13:00 | C1 | Exercises on Predicate Logic and Sets | | [[http://apa.di.unipi.it/pds/video/20181008_en.m4v|20181008_en.m4v]] | Rossetti | | |
|13.| 9. 10 9:00-11:00 | N1 | Functions, Sequences, Set Cardinality, Matrices | [**T**: 2.3-2.6] | [[http://apa.di.unipi.it/pds/video/20181009_en.m4v|20181009_en.m4v]] | Rossetti | | |
|14.| 10.10 16:00-18:00 | M-Lab | Strings, tuples, lists, dictionaries, sets. | [**P**: 10-14] | [[http://apa.di.unipi.it/pds/video/20171011.mp4|20171011.mp4]][[http://apa.di.unipi.it/pds/video/20181010_en.mp4|20181010_en.mp4]] | Prencipe | | |
|15.| 11.10 11:00-13:00 | M-Lab | Exercises on strings, tuples, lists, dictionaries and sets. | [**P**: 10-14] | [[http://apa.di.unipi.it/pds/esercizi/Esercizi4.pdf|Esercizi4.pdf]][[http://apa.di.unipi.it/pds/video/20181011_en.mp4|20181011_en.mp4]] | Prencipe | | |
|16.| 15.10 11:00-13:00 | C1 | Exercises on Functions, Sequences, Set Cardinality. High Order Functions. | | [[http://apa.di.unipi.it/pds/video/20181015_en.m4v|20181015_en.m4v]] | Rossetti | | |
|17.| 16. 10 9:00-11:00 | N1 | Divisibility. Primes. Integer Representation. | [**T**: 4.1, 4.2, 4.3, 4.5] | [[http://apa.di.unipi.it/pds/video/20181015_en.m4v|20181016_en.m4v]] | Rossetti | | |
|18.| 17.10 16:00-18:00 | M-Lab | Selection sort and Mergesort, text and binary files, exceptions, bitwise operators. | [**P**: 15-19] | [[http://apa.di.unipi.it/pds/video/20171018.mp4|20171018.mp4]][[http://apa.di.unipi.it/pds/video/20181017_en.mp4|20181017_en.mp4]] | Prencipe | | |
|19.| 18.10 11:00-13:00 | M-Lab | Debugging. Exercises on sorting, files, exceptions. | [**P**: 15-19] | [[http://apa.di.unipi.it/pds/esercizi/Debug.pdf|Debug.pdf]][[http://apa.di.unipi.it/pds/esercizi/Esercizi5.pdf|Esercizi5.pdf]][[http://apa.di.unipi.it/pds/video/20181018_en.mp4|20181018_en.mp4]] | Prencipe | | |
|20.| 22.10 11:00-13:00 | C1 | Exercises on Primes, Integer Representation, Divisibility. Induction. | [**T**: 5.1] | [[http://apa.di.unipi.it/pds/video/20181022_en.m4v|20181022_en.m4v]] | Rossetti | | |
|21.| 23. 10 9:00-11:00 | N1 | Strong Induction, Recursion, Structural Induction. | [**T**: 5.2, 5.3, 5.4] | [[http://apa.di.unipi.it/pds/video/20181023_en.m4v|20181023_en.m4v]] | Rossetti | | |
|22.| 24.10 16:00-18:00 | M-Lab | Classes, Object and Overloading. | [**P**: 20-21] | [[http://apa.di.unipi.it/pds/video/20171108.mp4|20171108.mp4]][[http://apa.di.unipi.it/pds/video/20181024_en.mp4|20181024_en.mp4]] | Prencipe | | |
|23.| 25.10 11:00-13:00 | M-Lab | Inheritance, iterators and generators, command line processing. Exercises on classes, objects and overloading. | [**P**: 22-24] | [[http://apa.di.unipi.it/pds/esercizi/Esercizi6.pdf|Esercizi6.pdf]][[http://apa.di.unipi.it/pds/video/20171122.mp4|20171122.mp4]][[http://apa.di.unipi.it/pds/video/20181025_en.mp4|20181025_en.mp4]] | Prencipe | | |
|24.| 5.11 11:00-13:00 | C1 |Exercises on induction and recursive programming. Basic of counting. The Pigeonhole Principle. Permutations. | [**T**: 6.1-6.2] | [[http://apa.di.unipi.it/pds/video/20181105_en.m4v|20181105_en.m4v]] | Rossetti | | |
|25.| 6.11 9:00-11:00 | N1 | Combinations. Binomial coefficient. Exercises on recursive programming. | [**T**: 6.3-6.4] | [[http://apa.di.unipi.it/pds/video/20181106_en.m4v|20181106_en.m4v]] | Rossetti | | |
|26.| 7.11 16:00-18:00 | M-Lab | The Unix Shell. Introduction to C: pre-processor, compiler, linker. Structure of a C-program.| [**P**: 22-24][**C**: 1-5] | [[http://apa.di.unipi.it/pds/video/Lezione8_IntroUnix.pdf|IntroUnix.pdf]][[http://apa.di.unipi.it/pds/video/introUnix_en.pdf|introUnix_en.pdf]][[http://apa.di.unipi.it/pds/esercizi/Esercizi7.pdf|Esercizi7.pdf]][[http://apa.di.unipi.it/pds/esercizi/introUnixSoloEsercizi_en.pdf|8-ShellEx_en.pdf]][[http://apa.di.unipi.it/pds/video/20171123.mp4|20171123.mp4]] | Prencipe | | |
|27.| 8.11 11:00-13:00 | M-Lab | Introduction to C: pre-processor, compiler, linker. Structure of a C-program, types, if-for, switch. | [**C**: 1-5] | [[http://apa.di.unipi.it/pds/video/lect2-introC-slides_en.pdf|intro-C_en.pdf]][[http://apa.di.unipi.it/pds/esercizi/Esercizi9_introC1_en.pdf|9.1-Cex_en.pdf]][[http://apa.di.unipi.it/pds/esercizi/Esercizi9_C2_en.pdf|9.2-Cex_en.pdf]][[http://apa.di.unipi.it/pds/video/20181108_en.mp4|20181108_en.mp4]] | Prencipe | | |
|28.| 12.11 11:00-13:00 | C1 | Exercises on counting. Relations. | [**T**: 9.1] | [[http://apa.di.unipi.it/pds/video/20181112_en.m4v|20181112_en.m4v]] | Rossetti | | |
|29.| 13.11 11:00-13:00 | N1 | Relations, posets. | [**T**: 9.3, 9.4, 9.6] | [[http://apa.di.unipi.it/pds/video/20181113_en.m4v|20181113_en.m4v]] | Rossetti | | |
|30.| 14.11 16:00-18:00 | M-Lab | Introduction to C: arrays, functions, scope. | [**C**: 1-5] | [[http://apa.di.unipi.it/pds/video/20171129.mp4|20171129.mp4]][[http://apa.di.unipi.it/pds/video/20181114_en.mp4|20181114_en.mp4]] | Prencipe | | |
|31.| 15.11 11:00-13:00 | M-Lab | Introduction to C: pointers and memory. Exercises on Python and C. | [**C**: 1-5] | [[http://apa.di.unipi.it/pds/video/20171130.mp4|20171130.mp4]][[http://apa.di.unipi.it/pds/video/20181115_en.mp4|20181115_en.mp4]][[http://apa.di.unipi.it/pds/esercizi/Esercizi9_introC_en.zip|Esercizi9_introC_en.zip]] | Prencipe | | |
|32.| 19.11 11:00-13:00 | C1 | Exercises on relations and posets. Inclusion-exclusion. | [**T**: 8.5,8.6] | [[http://apa.di.unipi.it/pds/video/20181119_en.m4v|20181119_en.m4v]] | Rossetti | | |
|33.| 21.11 16:00-18:00 | M-Lab | Equivalence relations. Relational operators in Python. | [**T**: 9.5] | [[http://apa.di.unipi.it/pds/video/20181121_en.m4v|20181121_en.m4v]] | Rossetti | | |
|34.| 22.11 11:00-13:00 | M-Lab | Introduction to C: dangling pointers and memory leaks. | [**C**: 1-5] | [[http://apa.di.unipi.it/pds/video/20181122_en.mp4|20181122_en.mp4]] | Prencipe | | |
|35.| 26.11 11:00-13:00 | C1 | Grammars. | [**T**: 13.1] | [[http://apa.di.unipi.it/pds/video/20181126_en.m4v|20181126_en.m4v]] | Rossetti | | |
|36.| 27.11 11:00-13:00 | N1 | Finite-state automata, regular expressions. | [**T**: 13.3, 13.4] | [[http://apa.di.unipi.it/pds/video/20181127_en.m4v|20181127_en.m4v]] | Rossetti | | |
|37.| 28.11 16:00-18:00 | M-Lab | Introduction to C: struct, lists | [**C**: 6] | [[http://apa.di.unipi.it/pds/video/20171206.mp4|20171206.mp4]][[http://apa.di.unipi.it/pds/video/20181128_en.mp4|20181128_en.mp4]][[http://apa.di.unipi.it/pds/esercizi/Esercizi10_en.zip|Esercizi10_en.zip]] | Prencipe | | |
|38.| 29.11 16:00-18:00 | M-Lab | Introduction to C: libraries, strings | [**C**: 1-6] | [[http://apa.di.unipi.it/pds/video/20181129_en.mp4|20181129_en.mp4]] | Prencipe | | |
|39.| 03.12 11:00-13:00 | C1 | Regular expressions in Python. Syntax and semantics of C expressions. | [**P**: 25] | | Rossetti | | |
|40.| 04.12 11:00-13:00 | N1 | A Python interpreter of C expressions. Type checking. | | | Rossetti | | |
|41.| 05.12 16:00-18:00 | M-Lab | Fake Test | | [[http://apa.di.unipi.it/pds/esercizi/20181205-FakeTest.pdf|20181205-FakeTest.pdf]] | Prencipe | | |
|42.| 06.12 11:00-13:00 | M-Lab | Exercises | | | Prencipe | | |
=====Previous years===== | |
| |
* [[mds:pds:2017|Programming s for Data Science A.Y. 2017/18]] | |
| |
| * {{ :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}} |