Subato

 

Objektorientierte Softwareentwicklung (AI) (WS 2020)

 

Responsible Lecturer: panitz

Lecturers

  • fischer
  • panitz
  • dmart001
  • rortl001

Tutors

  • dmart001

lectureTimes

  • Vorlesung Tue 11:45 Boo2 (panitz)
  • Vorlesung Thu 02:15 B002 (panitz)

Training Groups

  1. A Mon 10:00 C213 (fischer)
  2. B Mon 11:45 C213 (fischer)
  3. C Mon 02:15 C213 (fischer)
  4. D Mon 04:00 C213 (fischer)
  5. E Tue 10:00 C1001 (panitz)
  6. F Wed 08:15 C361 (rortl001)
  7. G Wed 10:00 C361 (rortl001)
  8. H Thu 11:45 C001 (panitz)
  9. Tutorium A Thu 16:00 (dmart001)
  10. Tutorium B Fri 11:45 (dmart001)
  11. Tutorium C Fri 14:15 (dmart001)

Exercise Sheets

 


Wiesbaden eine  triste Stadt ohne Straßenbahn...

 

Auf dieser Seite finden sich Lehrmaterialien zum Modul »Objektorientierte Softwareentwicklung« im Studiengang Angewandte Informatik.

Die Lehrveranstaltungen finden über Big Blue Button mit Zugang über ZAPP statt.
 
 

Vorlesungsskript:

Das Skript lässt sich jeweils zum aktuellen Stand direkt unter diesen Link als PDF-dokument herunter laden.

Die Programme aus dem Skript lassen sich hier direkt erhalten.

 

Folienfilme

Auf der Hochschulplattform AMIGO finden sich kurze Folienfilme zu Themen aus der Vorlesung: Videoplattform Amigo Kurs: Objektorientierte Softwareentwicklung
Direkte öffentliche Links zu den Filmen (kein Login erforderlich):

Praktikum

Die Praktikumsgruppen beginnen am Montag den 9.11. (also bereits vor der ersten Vorlesung am Dienstag 10.11.).

Im Praktikum sind wöchentliche Übugsblätter zu bearbeiten. Als Abschluss ist ein kleines Spielprojekt zu realisieren.

Das Praktikum wird als bestanden gewertet, wenn 90% der Übungsblätter als erfolgreich bearbeitet vom Dozenten des Praktikums abgenommen wurden und das Spielprojekt individuell gelöst wurde.

Einige Beispielabgaben als Browser Spiel.

 

 

Lessons

February 18, 2021, 2:15 PM
  1.  JAVA GWT libaries ziehen.
  2. Subatogameframework holen. und in GWT Ordner extrahieren. GWT/Backend/source/main/java 
  3. Speichere die neue pom.xml Datei in GWT-Ordner.
  4. Spiel in GWT/source/main/java speichern und dafür sorgen, dass sie in einem Paket sind das Unterpaket ist von name.panitz.game.example
  5.  in Klasse unbedingt package Bezeichnung ändern.
  6. nenne den src/main/webapp Ordner um zu super:
    gwtBackend/src/main$ mv webapp/ super
  7. kopiere alle Deine Bild und Tonresourcen in diesen Ordner super.
  8. mvn package, beten und Fehler korrigieren.

Was kann alles schief gehen:

  1. Du Bösewicht hast direkt swing oder fx oder andere Klassen verwendet. (insbesondere weitere Timer) Die kennt gwt nicht.
  2. Die Sache mit dem Package. Es muss am besten in dem name.panitz.game.example Paket als ein Unterpaket liegen.
  3. Du programmierst unter Windows und Groß- und Kleinschreibung von Dateinamen ist Dir egal. Vielleicht hast Du sogar \ als Pfadseparator genommen.
  4. Du hast kein Maven. (Dann Maven laden...)
  5. Du benutzt neuere Java Features als Java 10. Die gehen noch nicht GWT.

Wenn Du das Spiel online weltweit zur Verfügung stellen willst, dann kopiere es auf Deinen Webspace. Das ist im Home-Verzeichnis der Hochschule der Ordner public_html, zum Beispiel mit:
scp -r virusGame/ login1.cs.hs-rm.de:~/public_html

GWT kennt keinen BufferedReader. Wenn Du für Deinen StringReader trotzdem ein readLine willst, kann man des selbst schreiben:

private String readLine(Reader r)throws IOException{
  int i = r.read();
  if (i<0)return null;
  char c = (char)i;
  String line = "";

  for (;i>=0 && i!='\n';i=r.read()){
    line += (char)i;
  }
  return line;
}
February 11, 2021, 2:15 PM
Beispielklausur gelöst. Im Resourcenbereich auf dieser Webseite zum Download bereit.
February 9, 2021, 11:45 AM
JUnit Tests und Test first Entwicklung
February 4, 2021, 2:15 PM
Ausnahmen behandeln
February 2, 2021, 11:45 AM
Objekte Serialisieren
January 28, 2021, 2:15 PM

Eingaben und Ausgaben mit dem Paket java.io

Encodings!

January 21, 2021, 2:15 PM
Diese Vorlesung hatte leider keinen inhaltlichen Mehrwert und war etwas verunglückt....
January 19, 2021, 11:45 AM
Weiteres Spielen mit Swing GUI Klassen
 
January 14, 2021, 2:15 PM
Einstieg in die GUI Programmierung mit javax.swing.
 
 
January 12, 2021, 11:45 AM
Das Gleiche und dasselbe in Java. Überschreiben der Methode equals.
 
January 7, 2021, 2:15 PM
Generische Typen und als Beispiel einer generischen Liste Teil 2. Jetzt auch mit Methoden höherer Ordnung.
January 5, 2021, 11:45 AM
Generische Typen und als Beispiel einer generischen Liste.
December 17, 2020, 2:15 PM
Weihnachtsvorlesung. Beispielstart mit dem subato game framework.
 
Quelltext oben im Resource-Abschnitt dieser Seite.
December 15, 2020, 11:45 AM
December 8, 2020, 11:45 AM
Weiter mit Vererbung. Abstrakte Klassen.
Exkurs: I18N
December 3, 2020, 1:15 PM

Cererbung (1. Teil)

December 1, 2020, 11:45 AM
Reihungen (Arrays) und Aufzählungsklassen (enum).
November 26, 2020, 2:15 PM
November 24, 2020, 11:45 AM
Unterscheidung: Ausdrücke und Anweisungen.
Systematisch beides vorgestellt.
Die neuen switch-case-Ausdrücke.
November 19, 2020, 2:15 PM
Anweisungen (im Gegensatz zu Ausdrücken)
November 17, 2020, 11:45 AM
Methoden für Objekte.
November 12, 2020, 2:15 PM
Klassen modellieren und implementieren. Felder, Konstruktor und die toString-Methode.
November 10, 2020, 11:45 AM
Ausdrücke und erste Funktionen.