====== 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 2023/24 | Wed 14:00-16:00 U10-146 & Zoom (Q&A) and Thu 10:00-12:00 T2-141 (Ü) | ==== 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 in the form of videos and the Q&A will be on site and online via Zoom.** \\ **Tutorials are offered on site.** \\ ==== 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** | |18.10.2023| [[teaching:2022winter:prog:lecture01|Organizational matters, Programming and Python basics]] ({{teaching:2023winter:programming:01-slides_intro.pdf|slides}}) | Exercise 01 ({{teaching:2023winter:programming:01-exercises.pdf|file}}) | |25.10.2023| [[teaching:2022winter:prog:lecture02|Data types and arithmetic operations]] ({{teaching:2023winter:programming:02-slides_basics.pdf|slides}}) | Exercise 02 ({{teaching:2023winter:programming:02-exercises.pdf|file}}) | |01.11.2023| [[teaching:2022winter:prog:lecture03|Conditions and Comparisons, Loops]] ({{teaching:2023winter:programming:03-slides_loops2.pdf|slides}}) | Exercise 03 ({{teaching:2023winter:programming:03-exercises.pdf|file}}) | |08.11.2023| [[teaching:2022winter:prog:lecture04|Functions and debugging]] ({{teaching:2023winter:programming:04-slides_functions.pdf|slides}}) | Exercise 04 ({{teaching:2023winter:programming:04-exercises.pdf|file}}) | |15.11.2023| [[teaching:2022winter:prog:lecture05|Functional programming, lazy evaluation]] | Exercise 05 ({{teaching:2023winter:programming:05-exercises.pdf|file}}) | |22.11.2023| No lecture || |29.11.2023| [[teaching:2022winter:prog:lecture06|Object oriented Programming]] ({{teaching:2023winter:programming:06-slides_classes.pdf|slides}})| Exercise 06 ({{teaching:2023winter:programming:06-exercises.pdf|file}}) | |06.12.2023| [[teaching:2022winter:prog:lecture07|Input, processing of files and Text Mining]] ({{teaching:2023winter:programming:07-slides_textmining.pdf|slides}}) | Exercise 07 ({{teaching:2023winter:programming:07-exercises.pdf|file}}) | |13.12.2023| [[teaching:2022winter:prog:lecture08|Data visualization and NumPy]] ({{teaching:2023winter:programming:08-slides.pdf|slides}}) | Exercise 08 ({{teaching:2023winter:programming:08-exercises.pdf|file}})| |20.12.2023| [[teaching:2022winter:prog:lecture09| Pandas]] | Exercise 09 ({{teaching:2023winter:programming:09-exercises.pdf|file}}) | |27.12.2023 | Christmas Break|| |03.01.2024| Christmas Break || |10.01.2024| Machine Learning ({{teaching:2023winter:programming:10-slides.pdf|slides}}) | Exercise 10 ({{teaching:2023winter:programming:10-exercises.pdf|file}}) | |17.01.2024| Advanced topic 1 - Neural networks ({{teaching:2023winter:programming:11-handout.pdf|slides}}) | | |24.01.2024| Advanced topic 2 - ChatGPT prompt engineering | | |31.01.2024| | | |07.02.2024| | | ==== Time table tutorial ==== | **Date** | **Exercise Discussion** | |19.10.2023| Beginners tutorial| |26.10.2023| Exercise 01| |02.11.2023| Exercise 02| |09.11.2023| Exercise 03| |16.11.2023| Exercise 04 | |23.11.2023| No tutorial | |30.11.2023| Exercise 05 | |07.12.2023| Exercise 06 | |14.12.2023| Exercise 07 | |21.12.2023| Christmas Break | |28.12.2023 | Christmas Break| |04.01.2024| Christmas Break | |11.01.2024| Exercise 08 + 09 | |18.01.2024| Exercise 10 | |25.01.2024| | |01.02.2024| |