PTI01810 – Data Science I, Introduction to Python and Data Preprocessing

Module
Data Science I, Introduction to Python and Data Preprocessing
Data Science I, Einführung in Python und Datenvorverarbeitung
Module number
PTI01810
Version: 4
Faculty
Physikalische Technik / Informatik
Level
Bachelor
Duration
1 Semester
Semester
Winter semester
Module supervisor

Prof. Dr. Jens Flemming
Jens.Flemming(at)fh-zwickau.de

Lecturer(s)

Prof. Dr. Mike Espig
mike.espig(at)fh-zwickau.de
Lecturer in: "Data Science I, Einführung in Python und Datenvorverarbeitung"

Prof. Dr. Jens Flemming
Jens.Flemming(at)fh-zwickau.de
Lecturer in: "Data Science I, Einführung in Python und Datenvorverarbeitung"

Course language(s)

German - 80.00%
in "Data Science I, Einführung in Python und Datenvorverarbeitung"

English - 20.00%
in "Data Science I, Einführung in Python und Datenvorverarbeitung"

ECTS credits

10.00 credits

Workload

300 hours

Courses

9.00 SCH (3.00 SCH Internship | 6.00 SCH Lecture with integrated exercise / seminar-lecture)

Self-study time

165.00 hours
165.00 hours Self-study - Data Science I, Einführung in Python und Datenvorverarbeitung

Pre-examination(s)

Attestation
in "Data Science I, Einführung in Python und Datenvorverarbeitung"

Examination(s)

schriftliche Prüfungsleistung
Module examination | Examination time: 120 min | Weighting: 100%
in "Data Science I, Einführung in Python und Datenvorverarbeitung"

Media type
No information
Instruction content/structure

Kern des Moduls bilden die Grundlagen der Programmierung mit Python sowie der Einsatz der Software-Bibliotheken NumPy und Pandas für Data-Science-Anwendungen und künstliche Intelligenz.

Python ist eine noch junge, sehr mächtige, aber leicht zu erlernende Programmiersprache. Sie ist als Open-Source-Software für alle gängigen Betriebssysteme verfügbar und hat sich innerhalb weniger Jahre zum De-Facto-Standard im Bereich Data Science und künstliche Intelligenz entwickelt. Ihr modulorientiertes Design bietet nahezu unbegrenzte Einsatzmöglichkeiten bei sehr geringem Programmieraufwand. Von kurzen Skripten für Routineaufgabe bis zu interaktiven Web-Apps ist alles möglich.

NumPy und Pandas sind die wichtigsten Python-Module für den effizienten Umgang mit großen Datenmengen. Während NumPy seinen Fokus auf schnelle Berechnungen mit großen Datenmengen legt, bietet Pandas umfangreiche Funktionalität zum Aufbereiten, Sortieren und Auswerten von Daten.

Im Kontext der Datenbeschaffung und -verarbeitung werden im Modul auch rechtliche und ethische Aspekte fachübergreifend diskutiert.

Grundlagen der Python-Programmierung:

  • Installation und Benutzung von Tools aus dem Python-Ökosystem
  • Grundlagen der Programmierung (Ein- und Ausgabe, Datenstrukturen, Ablaufsteuerung)
  • Code-Strukturierung mit Funktionen, Modulen, Paketen
  • Objektorientierte Programmierung (Klassen, Vererbung)
  • Mechanismen zur Fehlerbehandlung

Überblick über Standard-Module von Python:

  • Arbeit mit Datumsangaben und Uhrzeiten
  • Datenkompression und -dekompression
  • Interaktion mit dem Betriebssystem
  • Performance-Messung
  • Mustersuche in Zeichenketten
  • Zugriff auf das Internet

Vertiefende Themen:

  • Datenbeschaffung mittels Web-Scraping und Verwendung von Web-APIs
  • Arbeiten mit NumPy-Arrays
  • Laden und Organisieren großer Datenmengen mit Pandas
  • Umstrukturieren und Zusammenführen von Daten mit Pandas
  • spezielle Pandas-Datentypen, insbesondere für Datums- und Zeitangaben sowie für kategorielle Nominal- und Ordinaldaten.
  • Dokumentation und Planung mittels Unified Modeling Language (UML)
Qualification objectives

Die Studierenden können die Programmiersprache Python sicher und zielführend einsetzen und besitzen tiefgehende Kenntnisse der Software-Bibliotheken Pandas und NumPy. Sie sind in der Lage, die richtige Auswahl elementarer Methoden und Konzepte zur Lösung von Übungs- und Praxisaufgaben zu treffen. Unter Verwendung von Hilfsmitteln wie vorlesungsbegleitender Literatur können sie problemslösungsorientiert und allgemeine Grundsätze professioneller und praxisgerechter Software-Entwicklung beachtend arbeiten. Die Studierenden können die Unified Modeling Language (UML) zur Spezifikation und Dokumentation von Software-Teilen und anderen Systemen einsetzen. Sie kennen rechtliche und ethische Grundfragen beim Umgang mit Daten.

Special admission requirements

Es werden keine speziellen Kenntnisse vorausgesetzt.

Recommended prerequisites
No information
Continuation options

PTI01821, PTI01831, PTI01841, PTI01860, PTI01870

Literature
  • Vorlesungsskript
  • Scopatz, Huff: Effective Computation in Physics: Field Guide to Research with Python, O’Reilly
  • Zed A. Shaw: Learn Python 3 the Hard Way, Addison-Wesley
  • Real Python Course, Part 1, Real Python Team (Real Python, 2017)
  • Luciano Ramalho:Fluent Python: Clear, Concise, and Effective Programming, O'Reilly Media
  • Géron: Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow, O'Reilly Media
  • Chollet: Deep Learning with Python, Manning
Notes

Die Modulprüfung kann in deutscher und englischer Sprache abgelegt werden.