Konzept Lehrveranstaltung Webprogrammierung Adressaten: Zielgruppe der Lehrveranstaltung Webprogrammierung sind Studierende des Studienganges E-Government und anderer Studiengänge, für die Kenntnisse in der Erstellung interaktiver und internet-gestützter Anwendungen hilfreich sind. Es werden keine Programmierkenntnisse, lediglich Bedienerwissen über Windows-Computer und Internetbrowser sowie Grundkenntnisse über das Internet vorausgesetzt. Lernziele: Die Studierenden kennen Grundlagen der computergestützten Kommunikation über lokale Netze (LAN) und das Internet (WAN) mit den elementaren Kommunikationsprotokollen (Ethernet, WAN-Protokolle, TCP/IP, HTTP, HTTPS, FTP, IRC, NNTP, SMTP), Client-ServerKonzepten, insbesondere Browser-Webserver-Kommunikation. Sie erarbeiten sich selbst an Beispielen Möglichkeiten formaler Beschreibungssprachen (HTML, CSS, XML) und können mit frei verfügbaren Werkzeugen (Phase 5, Proton, Eclipse) Webseiten und Anwendungen zu entwickeln. Die Studierenden können einen Webserver inkl. Programmierumgebung und Datenbank als Test- und Entwicklungssystem aufsetzen (XAMPP plus Python). Die Studierenden kennen ein breiteres Spektrum client- und serverbasierter Programmiersprachen (Javascript, Java, Python, PHP) und sind in der Lage, in einer Programmiersprache (PHP) eigene interaktive Internetseiten zu erstellen. Sie kennen die Vor- und Nachteile der jeweiligen Umgebung. Die Studierenden kennen gängige Datenhaltungsmechanismen (CSV-kodierte Textdateien,. Relationale Datenbanken inkl. SQL-Grundkenntnisse). Sie können einfache Informationssysteme aufbauen (PHP mit MySQL) und Bürokommunikationssysteme in Verbindung mit internet-gestützten Informationssystemen nutzen (Zusammenarbeit Excel – Webserver – Internet-Programme, Word als HTML-Editor). Die Studierenden lernen die Einbindung fertiger Internet-Umgebungen (CMS am Beispiel JOOMLA, Wiki am Beispiel MEDIAWIKI, Lernplattformen am Beispiel MOODLE, Kollaborative Umgebungen am Beispiel PHPROJEKT oder BSCW) in ihre Testumgebung kennen. Die Studierenden können einfache Grafikanwendungen programmieren (Datenvisualisierung mit PHP-IMAGE-Funktionen und SVG). Die Studierenden erlernen das Zusammenarbeiten an größeren Projekten und können ein bestehendes System von Internetanwendungen (webbasierte Statistikroutinen, GPSAnwendung, HRV-Analyse, selbsterstelltes Auskunftssystem, selbsterstelltes System zur kollaborativen Zusammenarbeit) eigenständig erweitern sowie einfache Webanwendungen selbst erstellen. Lehrmethoden Vorlesung: Die Vermittlung der Grundkenntnisse erfolgt im Rahmen einer seminaristischen Vorlesung. Als Medien werden Tafelbild und Powerpointfolien eingesetzt. Neben dem Vortrag kommen kurze Ausarbeitungen der Studierenden, Plenumsdiskussionen und weitere Moderationstechniken wie Kartenabfragen zur Anwendung. Zu jeder Vorlesung gibt es zur weiteren Vertiefung Übungsfragen, die die Studierenden außerhalb der Vorlesung bearbeiten. Alle Medien sind über eine Lernplattform im Internet für die Studierenden abrufbar (Studierendenbereich). Konzept Webprogrammierung, Dr. Claus Brell 1 Praktikum: In praktischen Programmier- und Konfigurationsübungen vertiefen die Studierenden unter Anleitung die Inhalte anhand weitgehend vorgegebener Aufgaben und erarbeiten die Lösungen in Teams von zwei bis drei Personen. Die Diskussion über Lösungswege und das arbeitsteilige Arbeiten wird hierbei ebenfalls eingeübt. Semesterprojekt: Während der zweiten Hälfte des Semesters bearbeiten die Studierenden in Teams eigenständig eine Fragestellung aus einem vorgegebenen Katalog oder schlagen eine Fragestellung selbst vor. Der Lösungsweg bleibt den Studierenden überlassen, Hilfestellung erfolgt nur auf Nachfrage. Die Lösung einer in der Regel komplexerer Programmieraufgabe oder eines Konfigurations- bzw. Implementierungsproblems, muss zum Ende des Semesters lauffähig vorgestellt werden. Dazu gehört eine kurze Präsentation sowie eine schriftliche Ausarbeitung / Dokumentation. Leistungsnachweis: Test: Am Ende des Semesters schreiben die Studierenden einen Test (Fragen in Vignettentechnik, multiple-choice mit Einfachauswahl). Die Testfragen rekrutieren sich inhaltlich aus den Vertiefungsfragen. Das Testergebnis geht zu 50 % in die Leistungsbewertung ein. Projekt: Die Ergebnisse des Semesterprojektes (Dokumentation, Vortrag, lauffähige Lösung) wird nach einem einfachen Scoringmodell bewertet und gehen zu 50 % in die Leistungsbewertung ein. Teilnahme: Voraussetzung für den Erhalt des Leistungsnachweises ist die regelmäßige Teilnahme am Praktikum. Didaktisches Konzept: Oft setzt ein Modul Internet- oder Webprogrammierung Programmierkenntnisse in mindestens einer Programmiersprache und Kenntnisse in Betriebssystemen oder Datenhaltungssystemen voraus oder findet erst im Masterstudiengang statt. Die Lehrveranstaltung Webprogrammierung im Studiengang E-Government soll bereits ab dem Anfangssemestern gehalten werden. Auf Programmierkenntnisse kann daher nicht zurückgegriffen werden, ebenso ist zu erwarten, dass die Studierenden im Anfangssemester noch von weitgehender Führung und kleinteiliger Strukturierung profitieren. Ebenso wird die Vermittlung der Inhalte über praktische Beispiele der theoretischen Einführung vorgezogen Mögliche Lösungsansätze bezüglich der Inhalte wären eine schmale, aber vertiefte Beschäftigung mit eine kleinen Auswahl von Webtechniken oder alternativ eine weniger tiefe, dafür thematisch breit aufgestellte Lehrveranstaltung. Letzterem soll hier der Vorzug gegeben werden. Dies eröffnet den Studierenden die Möglichkeit, sich im Nachgang selbst nach Neigung vertieft mit der einen oder anderen Technik auseinanderzusetzen. Weiterhin erhalten die Studierenden schon früh das Rüstzeug, sich in betrieblichen Praktika oder Nebenjobs z.B. bei Werbeagenturen zu bewähren. Anlage: Beitrag zum Modulhandbuch Konzept Webprogrammierung, Dr. Claus Brell 2 Anlage: Beitrag zum Modulhandbuch 1. Semester Webprogrammierung Aufwand: 4 SWS 150 Std. Credits 5 ECTS Dozent: Claus Brell Voraussetzungen: keine Lehrform: Vorlesung Praktikum 2 2 Leistungsnachweis: Anwesenheit Praktikum Test Semesterprojekt Lernziele: Kenntnisse und Fertigkeiten für die Erstellung interaktiver Internet-Anwendungen Inhalte (Vorlesung und Praktikum): - Netz- und Kommuniaktionsprotokolle, TCP/IP bis HTTPS - Client/Server-Techniken, Webserver und Browser - HTML, CSS - Trennung von Inhalt und Struktur in Dokumenten - Implementierung eines Testsystems mit XAMPP - Entwicklungswerkzeuge Proton, Phase 5, Eclipse - Grundlagen Programmierung interaktiver Anwendungen - Clientprogrammierung mit Javascript - Clientprogrammierung mit Java Aplets - Serverprogrammierung mit CGI-Scripten - Serverprogrammierung mit Python - Serverprogrammierung mit PHP (Schwerpunkt) - Grafikprogrammierung in PHP und mit SVG - Datenhaltung CSV und XML - Praktische Grundlagen relationaler Datenbanken, SQL - Programmierung webbasierter Informationssysteme mit PHP und MySQL - CMS und Web2.0 Anwendungen - „Customizing“ von Webanwendungen Literatur und Internet-Seiten: Vorlesungsscript. Tittel, Ed & Burmeister, Mary: HTML 4 für Dummies: Ohne Programmierkenntnisse-Geniale Websiten im Handumdrehen erstellen. Wiley. 2008 (HTML, Javascript, CGI) Krause, Jörg: PHP 5, Webserverprogrammierung unter Windows und Linux. 2. Auflage. Hanser. 2005 (PHP, MySQL) Bornträger, Axel: MySQL 5 für Professionals, Franzis’, 2006 Weigand, Michael: Objektorientierte Programmierung mit Python. MITP. 2004 Coar,Ken & Bowen, Rick: Apache Kochbuch. O`Reilly. 2004 Brell, Claus: Der PC im Netz. Francis’.2003 (Netz- und Kommunikationsprotokolle) Internet-Quellen: http://de.selfhtml.org (HTML Syntax) http://www.selfphp.de (PHP Syntax) http://www.torsten-horn.de/techdocs/java-eclipse.htm (Eclipse Einführung) http://www.sql-und-xml.de (SQL und XML Grundkenntnisse) http://l-training.de/informationstechnik (Netze und Datenkommunikation) Konzept Webprogrammierung, Dr. Claus Brell 3