Inhaltsverzeichnis

Hier erfährst du alle wichtigen Sachen rund um die Vorlesung. Beispielsweise, welche Inhalte dran kommen werden, wie die Prüfung aussieht oder welche Software du dafür benötigst.

Was lange währt wird endlich gut

3. Semester: Webprogrammierung

Von der Erstellung der ersten Webseite bis zur eigenen Browser App und Client/Server-Webanwendung mit Java

  • Grundlagen des Webs
  • Webdesign mit HTML und CSS
  • Entwicklung von Browser Apps mit JavaScript
  • Das HTTP-Übertragunsprotokoll im Detail
  • Webserver-Programmierung mit Java
4. Semester: Verteilte Systeme

Von datenbankgestützten Webanwendungen bis Internet of Things und alles dazwischen

  • Grundlagen verteilter Systeme
  • Allgemeines zur Nutzung von Java auf dem Server
  • Entwicklung serverseitiger Datenbankanwendungen mit Java
  • EJB und JPA zur Kapselung der Geschäftslogik verteilter Anwendungen
  • Entfernte Serviceaufrufe mit SOAP- und REST-Webservices
  • AJAX-Zugriff auf ein REST-Backend aus dem Browser heraus

Internet of Things, ehrlich?

Bildnachweis: Geek & Poke, March 15, 2012

Kompetenzziele der Vorlesung

Sachkompetenz

Welches neue Wissen eigne ich mir an?

Siehe erste Folie 😏

Selbstkompetenz

Was kann ich damit wirklich machen?

Übergreifende Handlungskompetenz

Wie kann ich mich damit in die Gesellschaft integrieren?

Aufbau der Vorlesung

Einführung

Jakarta Enterprise Edition

Webservices

Projekt

Vorausgesetztes Wissen

Folgendes Wissen aus den bisherigen Semestern wird für diese Vorlesung als bekannt vorausgesetzt. Wenn du etwas nicht mehr genau wießt, wiederhole es möglichst bald!

Java-Grundlagen

Klasse, Attribut, Methode, Instanz Sichtbarkeit, Verdecken, Syntax, public, private, protected, static, package private, const, Vererbung, Polymorphie, Interface, Überladen, Überschreiben, Atomare Typen, Typkonvertierung, Zugriffsrechte, Implementierung, Innere Klassen, Anonyme Klassen, abstract, Referenz, Laufzeitfehler, Ausnahme, Throwable, Exception, Runtime Error, Syntaxfehler, Logische Fehler, Compiler, *.java vs. *.class-Datei, Paket inkl. Verzeichnisstruktur

Fortgeschrittene Themen

Datenstrom, Text, Binär, Zeichensatz, Reader/Writer, Input/Output- Stream, Runnable, Thread, Dämon-Thread, Thread-Erzeugung, Synchronisation, Nebenläufigkeit, Semaphor, Monitor, synchronized, Erzeuer/Verbraucher-Problem, Lost Update-Problem, Deadlock, Livelock, die speisenden Philosophen

Netzwerke und Internet

Kommunikation im Internet, OSI-Schichtenmodell, MAC-Adresse, IP-Adresse, IPv4, IPv6, TCP, UDP, Portnummer, Socket, DNS, Domain Name, Protokoll, Web Browser, E-Mail Client

Webprogrammierung

Erstellung von Webseiten mit HTML und CSS, Trennung von Darstellung in Inhalt, Responsive Webdesign, Bootstrap, Media Queries, clientseitige Logik mit JavaScript, Document Object Model, DOM-Manipulation, Events in JavaScript, HTTP-Protokoll, Model-View-Controller, Request Handler, Servlets, Java Server Pages, Templates

Benötigte Software

Apache Netbeans IDE
Apache Maven als Buildwerkzeug
Git für die Versionsverwaltung
Apache TomEE Applikationsserver
Apache Derby Datenbank
SoapUI für Webservice-Tests

Didaktisches Modell der Vorlesung

Vorlesungsunterlagen in Moodle

Prüfungsform der Vorlesung

Zuerst die gute Nachricht: Es gibt immer noch keine Klausur. 😅
Dann die Ernüchterung: Trotzdem gibt es wieder eine Note. 😰

Zusammensetzung des Portfolios

I/G P/S Artefakt Schwierigkeit Abgabefrist Gewichtung
I S Einleitungsbericht Beurteilen Sonntag, 7. April 2019 1
I S Lernkontrollen und Feedbacks Erinnern Gemäß Vorlesungsplan 2
G P Quellcode der Anwendung Anwenden Sonntag, 7. April 2019 4
G P Kurzbeschreibung der Anwendung Analysieren, Beurteilen Sonntag, 7. April 2019 2
I S Onlinetest während der Vorlesung Erinnern, Verstehen Gemäß Vorlesungsplan 2
I S Reflexionsbericht Beurteilen Sonntag, 7. April 2019 1

I/G: I = Individualleitung, G = Gruppenleistung
P/S: P = Programmierprojekt, S = Studieninhalte
Schwierigkeit: Erinnern < Verstehen < Anwenden < Analysieren < Beurteilen

Berechnung der Endnote

Σ (Einzelnote × Gewichtung)
Σ (Gewichtung)

Literaturhinweise

Rechtshinweise

Creative Commons Namensnennung 4.0 International

§