Einführung und Organisatorisches¶
ehemalige Veranstaltungen ia3.netz + ia3.data sowie ia4.Netz im Studiengang Interaktive Medien
(c) 2020/2021 Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever
Organisatorisches und Überblick¶
Kommunikationsplattform¶
Lehrkonzept der gesamten Veranstaltung¶
Ziel
| Kompetenz | Kennen | Können | Verstehen | Begründung |
| fachlich | Die Studierenden benennen Client-/Server-orientierte Webanwendungen mit einem strukturierten, auf XML basierten Datenaustausch | sie erstellen und entwickeln entsprechende Webanwendungen einschliesslich den hierzu notwendigen Datenstrukturen | sie analysieren und beurteilen Aufgabenstellungen für Webanwendungen | Webanwendungen sind eines der Hauptanwendungsgebiete des Studiengangs |
| methodisch | Die Studierenden zählen die verschiedenen Aspekte sowie Bibliotheken und Schnittstellen für die Entwicklung von Webanwendungen in Python auf | sie gehen verstärkt mit objektorientierter Programmierung auf der Basis von Client-/Server- orientierten Webframeworks mit strukturierter Datenhaltung um | sie schätzen aus den Aufgabenstellungen den Zeitaufwand für die Umsetzung | |
| soziale | Die Studierenden erleben 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 | Die Studierenden 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:
| Inhalt | Begründung |
| Python, Datenrepräsentation, XML, SVG, Datenkommunikation, Webanwendungen, E-Mail, Client-/Server-Technologie, Webframeworks, NUI | Webanwendungen basieren auf Datenkommunikation, Netzwerk- und Internettechnologie - Python ist eine leicht erlernbare im Gegensatz zu anderen Skriptsprachen jedoch sehr umfangreiche und vollständige Programmiersprache |
Methoden:
| Methoden | Begründung |
| Frontalvortrag einschl. eigenständiger Mitarbeit (IPython Notebook), JiTT (via IPython Notebook), Praktikum in 2-er Teams mit Feedback aus anderen Gruppen, Coaching durch den Dozenten | Programmierung kann nicht vermittelt werden, wenn es nicht getan wird |
Inhalt der Veranstaltung¶
Die aus den beiden Veranstaltungen i3.netz (Netzwerkprogrammierung) und i3.data (XML) zusammengefasste Veranstaltung
Internet- und Daten(XML)-Programmierung mit Python
enthält im wesentlichen die 3 Bereiche
- Python Grundlagen
- XML Grundlagen und DOM Programmierung
- Internet Grundlagen und Web Programmierung
Webanwendung¶
Anhand dieser Grundlagen wird beispielhaft die folgende Webanwendung bearbeitet:
- Anzeigen einer Autofahrt oder eines Spaziergangs im Web anhand vorgegebener Start- und Zielorte
Warum Python ?¶
Leistungsnachweis¶
Die Veranstaltung wird erfolgreich absolviert, wenn
- 5 JiTT Übungsaufgaben abgegeben werden (10%),
- ein Konzept für eine Studienarbeit, die über das gesamte 4. Semester in der Veranstaltung i4.netz ausgearbeitet, abgegeben und präsentiert wird (35%)
- sowie eine Online-Prüfung (d.h. Prüfung an Hochschul-PC's mit Zugang zum Internet), mit der das Verständnis für das Internet und die Webprogrammierung abgeprüft wird (55%)
siehe auch Informationen zur Veranstaltung
Einführung und Praxis mit Jupyter Notebook¶
IPython vs. Python¶
IPython ist eine erweiterte interaktive Version von Python, insbesondere auch mit einem sehr flexiblen, browserbasierten Notizbuch namens Jupyter Notebook welches auch für Präsentationen verwendet werden kann.
Die Eingabe von ipython in einem Kommandozeilenfenster (cmd, bash, sh, terminal, ...) ergibt u.a. die folgenden Zeilen:
IPython -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]:
welche bereits hier deutlich zusätzliche Hilfestellungen - vergleichbar einer IDE - anzeigen.
Installation von Jupyter¶
Die Installation von Juypter erfolgt wie auf der entsprechenden Webseite beschrieben.
Weitere Informationen zum Jupyter Notebook¶
Weitere Informationen zur Benutzung des Jupyter Notebooks und des JupyterHub finden sie auf dem Server python.hs-augsburg.de
Chance im Team¶
- Bearbeiten sie die Aufgabe 1 aus den Übungsaufgaben