Einführung in die Informatik II & Übungen

Veranstaltungsziele

Die Studierenden kennen den komplexen Arbeitsprozess “Webseiten- und Webapplikations-Erstellung”. Sie kennen Client-/Server-Strukturen in diesem Zusammenhang und können einen LA(M)P-Stack installieren und konfigurieren (exemplarisch mit dem Webserver Apache 2). Sie kennen die Grundlagen von HTML5, CSS3 und PHP und können dynamische Webanwendungen konzipieren und umsetzen. Die Teilnehmerinnen und Teilnehmer können mittels Linux/PHP/Python die Aus- und Eingänge eines Raspberry Pi programmieren und einfache Anwendungen entwickeln, die externe Hardware steuern. Die Studierenden kennen die Philosophie Freier Software sowie offener Standards und sind in der Lage, Vor- und Nachteile proprietärer und freier Anwendungen gegeneinander abzuwägen.

Veranstaltungsinhalte und -aufbau

Mittelpunkt der Veranstaltung ist die Hardware Raspberry Pi. Der kleine Rechner wird zunächst als Desktop-Computer eingesetzt, anschließend zum Server umkonfiguriert, der diverse webrelevante Dienste anbietet.

Den populären Sprachen des Netzes – HTML5, CSS3 und PHP – nähern sich die Studierenden von zwei Seiten: Einerseits zieht sich ein Grundlagenkurs HTML/CSS durch das gesamte Semester. Mit kleinen Übungen werden die wichtigsten Facetten der Markup-Sprachen untersucht und angewandt. Andererseits setzen die Teilnehmenden früh ein HTML/CSS-Framework (Bootstrap) ein, um diesen wichtigen Aspekt in der Webentwicklung (Rapid Prototyping) im späteren Unterricht behandeln zu können.

Schließlich wird die populäre Skriptsprache PHP in zweierlei Hinsicht nutzbar gemacht: zum einen für die Programmierung dynamischer Webanwendungen und das Ausliefern von HTML. Zum anderen für die Programmierung von CLI (Command Line Interface) Programmen, um die Ein- und Ausgänge des Raspberry Pi ansteuern zu können und im Zusammenhang mit Webanwendungen einzusetzen. Aufgrund der zunehmenden Relevanz von Python als Einsteigersprache lernen die zukünftigen Lehrenden auch die Möglichkeiten der Webprogrammierung am Beispiel von Django/Flask kennen. Moderne Entwicklungsumgebungen (IDEs) als Werkzeuge in komplexen Arbeitsprozessen werden ebenfalls thematisiert.

Die wichtige Websprache JavaScript kann aufgrund der Komplexität der gesamten Materie nur oberflächlich thematisiert werden. Sie näher kennenzulernen und einzusetzen kann ein individuell geförderter Schwerpunkt eigener Projekte sein.

Auch in diesem Semester treffen sich wieder Medien- und Elektrotechniker in einer Veranstaltung. Die Komplexität der Themen gibt allen Teilnehmenden die Möglichkeit, eigene Ideen und Lernziele zu verfolgen. In enger Zusammenarbeit mit dem Dozenten der Veranstaltung Systeme der Bürokommunikation, Alexander Schmitt, werden Gemeinsamkeiten und thematische Schnittmengen bzgl. Netzwerken & Software ausgelotet.