====== Programming ====== \\ | [[https://moodle.uni-bielefeld.de/course/view.php?id=3230|392168]]/[[https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=361992639|392169]] | Schönhuth, Pianesi | Winter 2024/25 | Wed 14:00-16:00 H12 & Zoom (Q&A) and Thu 10:00-12:00 C01-220 & Zoom (Ü) | ==== Contents ==== Data Science is an emerging interdisciplinary field with the aim to extract information from prevalently unstructured data. A basic skill for every data scientist is programming. This course sets out to introduce Python, a modern object-oriented programming language, to prospective data scientists. The class covers basic programming skills and provides an introduction to computer science. In the second part, Python libraries and tools are presented that are handy in the daily life of a data scientist, such as Jupyter Notebook, NumPy, Pandas, Matplotlib, Scikit-Learn, and Pyspark. \\ //No prior knowledge of computer science is required, but basic training in mathematics is assumed.// \\ **This class will be taught on site and online via Zoom.** \\ **Tutorials are offered on site and online via Zoom.** \\ ==== Literature ==== * VanderPlas, Jake. (2016). Python data science handbook. Beijing; Boston; Farnham; Sebastopol; Tokyo: O’Reilly: https://jakevdp.github.io/PythonDataScienceHandbook/ * Toomey, Dan. (2017). Jupyter for data science. Birmingham; Mumbai: Packt: https://katalogplus.ub.uni-bielefeld.de/title/2539316 * Ana Bell, Eric Grimson, John Guttag (2016) MIT 6.0001 Introduction to Computer Science and Programming in Python: https://ocw.mit.edu/6-0001F16 * Eric Grimson, John Guttag, Ana Bell (2016) MIT 6.0002 Introduction to Computational Thinking and Data Science: https://ocw.mit.edu/6-0002F16 ==== Important Links ==== * [[https://uni-bielefeld.cloud.panopto.eu/Panopto/Pages/Sessions/List.aspx?folderID=30109d0f-c24c-45b5-bc27-af2c008a45d1|Video Folder]] * [[https://moodle.uni-bielefeld.de/course/view.php?id=3230|Moodle]] ==== Contact ==== * Prof. Dr. Alexander Schönhuth: [[mailto:aschoen@cebitec.uni-bielefeld.de|aschoen@cebitec.uni-bielefeld.de]] * Luna Pianesi: [[mailto:lpianesi@cebitec.uni-bielefeld.de|lpianesi@cebitec.uni-bielefeld.de]] ==== Time table lecture ==== | **Date** | **Topic Discussion** | **Exercise Upload** | |09.10.2024| Organizational matters, intro to programming and ChatGPT ({{teaching:2024winter:prog:00-Intro_slides.pdf|slides}}) | Exercise 01 ({{teaching:2024winter:prog:00-exercises.pdf|file}})| |16.10.2024| [[teaching:2022winter:prog:lecture01|Programming and Python basics]] ({{teaching:2024winter:prog:01-python_basics_slides.pdf|slides}}) | Exercise 01 ({{teaching:2024winter:prog:01-exercises.pdf|file}}) | |23.10.2024| [[teaching:2022winter:prog:lecture02|Data types, arithmetic operations]] & [[teaching:2022winter:prog:lecture03| Conditions, comparisons]] ({{teaching:2024winter:prog:02-types_etc_slides.pdf|slides}}) | Exercise 02 ({{teaching:2024winter:prog:02-exercises.pdf|file}}) | |30.10.2024| [[teaching:2022winter:prog:lecture03| Loops]] ({{teaching:2024winter:prog:03-loops_slides.pdf|slides}}) ONLINE ONLY | Exercise 03 ({{teaching:2024winter:prog:03-exercises.pdf|file}}) | |06.11.2024| [[teaching:2022winter:prog:lecture04|Functions, debugging]] & [[teaching:2022winter:prog:lecture05| Functional programming, lazy evaluation]] ({{teaching:2024winter:prog:04-functions_etc_slides.pdf|slides}}) | Exercise 04 ({{teaching:2024winter:prog:04-exercises.pdf|file}}) | |13.11.2024| [[teaching:2022winter:prog:lecture06|Object oriented Programming]] ({{teaching:2024winter:prog:05-oop_slides.pdf|slides}}) | Exercise 05 ({{teaching:2024winter:prog:05-exercises.pdf|file}}) | |20.11.2024| NO LECTURE | |27.11.2024| [[teaching:2022winter:prog:lecture07|Input, processing of files and Text Mining]] ({{teaching:2024winter:prog:06-iomanagement_slides.pdf|slides}}) | Exercise 06 ({{teaching:2024winter:prog:06-exercises.pdf|file}})| |04.12.2024| [[teaching:2022winter:prog:lecture08|Data visualization and NumPy]] ({{teaching:2024winter:prog:07-dataviz_numpy_slides.pdf|slides}}) | Exercise 07 ({{teaching:2024winter:prog:07-exercises.pdf|file}}) | |11.12.2024| [[teaching:2022winter:prog:lecture09| Pandas]] ({{teaching:2024winter:prog:08-pandas_slides.pdf|slides}}) | Exercise 08 ({{teaching:2024winter:prog:08-exercises.pdf|file}}) | |18.12.2024| NO LECTURE | |25.12.2024 | Christmas Break|| |01.01.2025| Christmas Break || |08.01.2025| [[teaching:2022winter:prog:lecture10| Machine Learning]] | Exercise 09 | |15.01.2025| [[teaching:2022winter:prog:lecture11| Databases and distributed computing]] | Exercise 10 | |22.01.2025| Advanced topic 1 - Neural networks with PyTorch | | |29.01.2025| Free Q&A | | ==== Time table tutorial ==== | **Date** | **Exercise Discussion** | |10.10.2024| Intro from ground up | |17.10.2024| Exercise 00, ChatGPT & Scratch | |24.10.2024| Exercise 01, Python basics| |31.10.2024| Exercise 02, Data types & more ONLINE ONLY| |07.11.2024| Exercise 03, Loops| |14.11.2024| Exercise 04, Functions & more | |21.11.2024| NO LECTURE | |28.11.2024| Exercise 05, OOP | |05.12.2024| Exercise 06, I/O | |12.12.2024| Exercise 07, NumPy | |19.12.2024| NO LECTURE | |26.12.2024 | Christmas Break| |02.01.2025| Christmas Break | |09.01.2025| Exercise 08, Pandas | |16.01.2025| Exercise 09, ML | |23.01.2025| Exercise 10, Distr. computing |