@protossgamer: Zu erstmal, schöner Nickname, war auch Protossspieler in SC2
. Zur allgemeinen Klärung liste ich hier mal auf, was wir bereits im Rahmen der vorlesungsbegleitenden Übungen programmiert haben und was benotet wurde (zumindest teilweise, soweit ich mich noch daran erinnern kann, allerdings nicht in Chronologischer Reihenfolge):
1. Abstraktes Dateisystem (hierbei werden Dateien durch Objekte einer Klasse mit Dateigröße, Dateipfad und Namen repräsentiert, sofern ich mich richtig erinnere und Ordner durch eine andere Klasse, die nur einen Namen und einen Dateipfad als Attribute besitzen.) Durch die Ableitung von einer gemeinsamen Oberklasse (Aufgrund der Methodenunterschiede war eine gemeinsame Oberklasse notwendig, zumindest bei meiner Implementierung) konnte man durch die Verwendung von Listen aus der API (ArrayList habe ich hier verwendet) und generische Programmierung einen Baum erzeugen, der zum Schluss das System repräsentiert.
2. Adressbuch. Das war etwas einfacher. Hier war schlicht die Aufgabe mit Vererbung umzugehen (Person -> Mann/Frau) und die erzeugten Objekte (mit Adress- und Kontaktdaten- Objekten als Attribute) innerhalb einer Liste (Selbst geschriebene Datenstruktur an dieser Stelle) zu verwalten.
3. Snake, der klassiker der alten Spiele. Hier ging es um die erste Programmierung mittels Listen. Uns wurde ein Framework zur Verfügung gestellt, welches die grafische Oberfläche realisiert und wir mussten Sozusagen die eigentliche Spiellogik implementieren (Fortbewegung, Erweiterung, Kollision usw...).
4. 4 Gewinnt, eines unserer ersten Projekte. Hierbei wurde noch auf Basis eines zweidimensionalen Array's (nennt man das so?
) gearbeitet.
5. Erste kleine GUIs. Hauptsächlich ging es darum eine Ampel zu simulieren, die auf Knopfdruck die Zustände der einzelnen Lichter ändert.
Bis auf das letzte waren alle Aufgaben nur per Konsole bedienbar. GUIs wurden nur sehr stiefmütterlich und anhand von AWT (was nicht sehr optimal sein soll, wie ich gelesen habe, SWT/Swinx soll wesentlich tauglicher sein?) behandelt wurde. Dazu kamen noch einige Übungsaufgaben, die dem reinen Verständnis dienten, die dann ungefähr so aussahen: "Implementieren Sie eine Baum Datenstruktur und geben Sie deren Inhalte mittels Tiefen-/Breitendruchlauf aus."
Insgesamt wurden in der Vorlesung grob folgende Themen behandelt (Auch wenn ich mich bei weitem nicht mehr an alles erinnern kann):
- Primitive vs. dynamische Datentypen
- Klassenhierarchien hinsichtlich Vererbung. Hierbei auch abstrakte Klassen, Interfaces und erste Einblicke in die API (hauptsächlich für Listen)
- Exceptionhandling, zumindest Ansatzweise.
- Geheimnisprinzip (Darauf wurde heftigst herumgeritten
)
- Listen, Bäume, Stacks, Queues usw.
- Generische Programmierung (wieder mit Bezug auf die oben genannten Datenstrukturen)
- Sehr oberflächlich das Thema GUI.
Ich hoffe mal, das ich so wenig wie möglich vergessen habe.
Daran möchte ich Ansetzen und das Wissen weiter vertiefen. Ich denke, dass ich das hier vielleicht schon im Startpost hätte schreiben sollen, ich bitte dies zu entschuldigen.
// EDIT: Andere Sprache, aber evtl. dennoch interessant: Aktuell bin ich dabei ein Script (Powershell, Exchange) zu schreiben, welches Abwesenheitsnotizen hinterlegt. Diese sind in der aktuellen Version entweder durch einen Assistenten erstellbar, oder durch ein HTML-Formatiertes TXT-File hinterlegbar.
Beste Grüße