NB01_Einführung¶
(c) 2025 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
Ziel dieses Moduls¶
Kompetenz | Kennen | Können | Verstehen | Begründung |
fachlich | Sie kennen den Aufbau, die Struktur und die wichtigsten Bausteine der Programmiersprache Python | Sie erstellen und entwickeln einfache Programmieranwendungen | Sie analysieren und beurteilen Aufgabenstellungen für einfache Programmieranwendungen | Programmieranwendungen sind eines der Hauptanwendungsgebiete des Studiengangs |
methodisch | Sie zählen die verschiedenen Aspekte sowie Bibliotheken und Schnittstellen für die Entwicklung von Programmieranwendungen in Python auf | Sie gehen verstärkt mit einer strukturierten Programmierung auf der Basis von Python um | Sie schätzen aus den Aufgabenstellungen den Zeitaufwand für die Umsetzung | |
soziale | Sie erleben in den Übungen das Arbeiten in 2-er Teams | Sie diskutieren Probleme und wenden Team-Methoden wie "Extreme Programming" an | Sie ziehen den Schluss der fehlerreduzierenden Wirkung einer gemeinsam erarbeiteten Lösung und kommunizieren ihn untereinander | 2-er Teams sind die Basis von "Extreme Programming", einer agilen Softwareentwicklungs- Methode |
persönliche | Sie wenden verschiedene Feedback-Methoden an | Sie akzeptieren und reflektieren Kritik und formulieren Kritik zunehmend konstruktiv | Sie schätzen sich selbst in der Zusammenarbeit mit anderen Personen in Bezug auf persönliche Grenzen und Potentiale besser ein |
Inhalt und Methoden¶
Inhalt:
Inhalt | Begründung |
Grundlagen der Programmiersprache Python, Kontrollstrukturen, Datenrepräsentation, Eingabe/Ausgabe, Fehlerbehandlung, Bibliotheken | Python ist eine leicht erlernbare Programmiersprache (s. Abschnitt Warum Python ? unten) - im Gegensatz zu anderen Skriptsprachen jedoch sehr umfangreiche und vollständige Programmiersprache mit einer umfangreichen Bibliothek |
Methoden:
Methoden | Begründung |
Online Kurs in JupyterHub unter Verwendung des Jupyter Notebooks sowie Übungen in 2-er Teams mit Feedback aus anderen Gruppen und Coaching durch den Dozenten | Programmierung kann nicht vermittelt werden, wenn es nicht getan wird |
Warum Python ?¶
Python hat die folgenden Vorteile:¶
- Python ist in der Regel leicht erlernbar
- Der Kern von Python ist in der Programmiersprache C geschrieben
- dadurch sind Programme und Bibliotheken in C einfach in Python einzubinden
- Python ist eine voll-umfängliche, objektorientierte Programmiersprache mit funktionalen Anteilen
- trotzdem eine Script-Sprache, sodass man Code schnell schreiben kann
Python als Grundlage von Embedded Systems¶
Mit dem Erfolg des Raspberry Pi wurde Python auch immer mehr in der Industrie wahrgenommen.
Neuestes Projekt ist der Revolution Pi der Firma Kunbus GmbH.
Weitere Argumente¶
In den folgenden Links zu Webseiten sind weitere Argumente gesammelt, was Python als Programmiersprache ausmacht
- PopularitY of Programming Language
- TIOBE Index
- engl. Wikipedia bzw. dt. Wikipedia
- JAXenter Oktober 2014: Top 10 der am schnellsten wachsenden IT Technologien
- David Taylor's Blog article Top 10 Python idioms I wish I'd learned earlier
- Phil Johnson in IT World 2014: Python squeezes out JavaScript, C as best starter programming language
- In der 2013 veröffentlichten Sicherheitsstudie Content Management Systeme (CMS) des Bundesamtes für Sicherheit in der Informationstechnologie ist im Kapitel 3.2.6 Basis-Technologien eine Tabelle über die Entwicklung der Schwachstellen der in CMS-Systemen verwendeten Programmiersprachen veröffentlicht:
Entwicklung von Schwachstellen Basis-Technologien 2010 2011 2012 PHP 35 35 22 Python 7 3 7 Java JRE 54 57 45
Die über den betrachteten Zeitraum erfassten, extrem niedrigen Zahlen für Python sind ein Anzeichen für die sehr gute Reife dieser Sprache
- In dem Beitrag Learning to program: Why Python? auf dem Udacity Blog wird von Chris Chew sehr schön erklärt, warum er (und alle anderen Udacity Dozenten) Python für das Lernen von Programmieren so hervorragend finden.
- Ein älterer Beitrag Why Python ? von Eric S. Raymond findet sich im Heft 73 des Linux Journals aus dem Jahr 2000.
- Auch die Vielzahl der für Kinder geschriebenen Einsteiger-Bücher für Python spricht als Indiz für diese Eignung.
Weitere Literatur, Links und Hinweise¶
Auf meiner Python Webseite sind weitere Literaturangaben, Links zu interessanten Webseiten und allgemeine Hinweise zu Python verzeichnet, insbesondere sollten sie sich innerhalb des Abschnitts Python Einführung den Abschnitt Python Lernen im Web für Online-Kurse ansehen