1. Programmieren für Data Science und Künstliche Intelligenz#

Dieses Skript begleitet die Veranstaltung „Programmieren für Data Science und Künstliche Intelligenz“ im Studiengang DAISY an der Hochschule Düsseldorf (HSD). Es wird fortlaufend aktualisiert und erweitert, um den sich ändernden Anforderungen und Entwicklungen in diesen dynamischen Bereichen gerecht zu werden.

1.1. Warum ist Programmieren wichtig für Data Science und Künstliche Intelligenz?#

Computer besitzen die bemerkenswerte Fähigkeit, Millionen von Berechnungen pro Sekunde durchzuführen und riesige Mengen an Daten zu speichern. Diese Rechenleistung ist von zentraler Bedeutung für die Bereiche Data Science und Künstliche Intelligenz (KI). Natürlich stehen uns bereits zahlreiche Softwarelösungen zur Verfügung, die viele dieser Aufgaben bewältigen können. Doch sehr oft erfordern unsere spezifischen Problemstellungen individuelle Lösungen, die von bestehenden Programmen nicht abgedeckt werden können. Deshalb müssen wir unsere eigenen Programme erstellen, das heißt wir müssen programmieren.

Obwohl es viele Definitionen von Programmieren gibt, können wir es vereinfacht so formulieren: Programmieren bedeutet, Aufgaben oder Berechnungen in eine Form zu bringen, die ein Computer ausführen kann. In den meisten Fällen handelt es sich dabei um das Schreiben von Programmcode, der die Arbeitsanweisungen für den Computer enthält.

Das Besondere am Programmieren ist die exakte und präzise Art der Kommunikation. Während Menschen beim Sprechen oft auf Vorkenntnisse und Kontext zurückgreifen, ist dies bei Computern nicht der Fall. Menschliche Sprache, die sogenannte natürliche Sprache, ist häufig mehrdeutig. Ein bekanntes Beispiel ist der Satz: „Ich habe den Mann mit dem Fernrohr gesehen.“ Dieser Satz lässt mindestens zwei Deutungen zu: Entweder habe ich einen Mann gesehen, der ein Fernrohr in der Hand hält, oder ich habe durch ein Fernrohr einen Mann gesehen. Menschen verstehen den korrekten Zusammenhang oft aus dem Kontext – Computer hingegen nicht.

Um diese Mehrdeutigkeit zu vermeiden, nutzen wir formale Sprachen, insbesondere Programmiersprachen.

Zusammengefasst bedeutet das:

Eine Programmiersprache muss absolut präzise und eindeutig sein, da der Computer keinen Kontext erkennt oder Sinn interpretieren kann. Sie dient dazu, Datenstrukturen und Algorithmen zu formulieren, die von einem Computer ausgeführt werden sollen.

Hier im Kurs werden wir das Programmieren mit Python lernen. Aber warum Python?

1.2. Python#

Python ist eine interpretierte Programmiersprache mit dynamischer Typisierung. Das bedeutet, dass der in Python geschriebene Code nicht kompiliert werden muss, bevor er ausgeführt wird. Stattdessen wird der Code direkt in einem sogenannten Interpreter interpretiert und ausgeführt. Dies ermöglicht eine schnelle und flexible Entwicklung, die besonders im Bereich Data Science und KI von Vorteil ist, wo häufig schnelle Anpassungen und Iterationen notwendig sind. Aus diesem Grund wird Python oft als Skriptsprache bezeichnet.

Types of programming languages

1.2.1. Arten von Programmiersprachen#

Python hat sich in den letzten Jahren zur beliebtesten Programmiersprache in den Bereichen Data Science und Künstliche Intelligenz entwickelt. Dies bietet mehrere entscheidende Vorteile:

  1. Große Nutzerbasis: Es gibt eine Vielzahl von Nutzer*innen, die Python für ähnliche Zwecke verwenden. Dadurch existieren viele Online-Foren, Tutorials und andere Ressourcen, die als Hilfestellung dienen.

  2. Umfangreiche Bibliotheken: Die große Community sorgt für eine ständige Weiterentwicklung der Sprache sowie für die Bereitstellung zahlreicher Bibliotheken, die für Aufgaben in Data Science und KI genutzt werden können.

  3. Anpassungsfähigkeit: Python wird regelmäßig aktualisiert, um sich neuen technologischen Entwicklungen und Hardware-Anforderungen anzupassen.

  4. Lesbarkeit des Codes: Python wird oft für seine vergleichsweise gute Lesbarkeit gelobt. Dies bedeutet nicht unbedingt, dass der Code für Anfänger*innen sofort verständlich ist, sondern vielmehr, dass er im Vergleich zu anderen Sprachen klarer und strukturierter ist. Gerade im Teamwork oder bei der Weiterentwicklung von Projekten ist diese Eigenschaft ein großer Vorteil.