Selbstlern-Modul: Objektorientierung (Q1.1 Grundkurs)
Lehrkräfte-Hinweis zum Einsatz
Dieses Modul ist als Lehrkräfte-Ansicht vorbereitet. Die Inhalte können in Moodle als Text- und Medienfeld eingefügt und anschließend an Lerngruppe, Buchseite, Aufgabenstellung und vorhandene Materialien angepasst werden.
InformatikQ1Objektorientierte Programmierung
- Einsatz: als Lernpfad, Übungsmodul, Wiederholung oder vorbereitete Unterrichtssequenz.
- Anpassung: Abschnitte, Aufgaben und Lösungen können direkt im Quellcode ergänzt oder gekürzt werden.
- Assets: Bildplatzhalter bewusst durch eigenes Material, GeoGebra-Screenshots oder lizenzrechtlich passende Abbildungen ersetzen.
Differenzierte Hilfen
Die Hilfen sind bewusst sichtbar als feste Sections angelegt, damit sie in Moodle ohne JavaScript, Buttons oder Aufklappfunktionen funktionieren.
Hilfe A – Einstieg
Formuliere zuerst in eigenen Worten, worum es in Selbstlern-Modul: Objektorientierung (Q1.1 Grundkurs) geht. Markiere Schlüsselbegriffe, bekannte Größen, Operatoren und unklare Stellen.
Hilfe B – Vorgehen
Arbeitsprozess strukturieren: Problem verstehen, Eingaben/Strukturen identifizieren, Lösung in kleine Teilschritte zerlegen und Ergebnis testen.
Hilfe C – Vertiefung
Vertiefung: Lösung erweitern, Fehlersuche dokumentieren, Code/Struktur erklären und eine alternative Umsetzung vergleichen.
Schritt-für-Schritt-Vorgehen / Erwartungshorizont
Diese Vorlage kann als Erwartungshorizont, Musterlösung oder Hilfekarte genutzt werden.
- Aufgabe lesen und Zielprodukt bestimmen.
- Eingaben, Daten, HTML-Struktur, Klassen oder Objekte identifizieren.
- Lösung in kleine Teilschritte zerlegen.
- Zwischenergebnisse testen, Fehler systematisch suchen und korrigieren.
- Endergebnis erklären und mögliche Erweiterung notieren.
Hier würde passend sein: Logo.
Ursprünglicher interner Verweis: /img/hnr.png. Bitte selbst einfügen und Lizenzrechte beachten.
Hier würde passend sein: Header.
Ursprünglicher interner Verweis: img/Student Guid-04.png. Bitte selbst einfügen und Lizenzrechte beachten.
Hier würde passend sein: Infobox.
Ursprünglicher interner Verweis: /img/Student Guid-06.png. Bitte selbst einfügen und Lizenzrechte beachten.
Arbeitsauftrag: Dieses Modul deckt die Q1.1-Vorgaben für den Grundkurs des KCGO (Vers. 2025) ab:
Klassen/Objekte/Attribute/Methoden/Konstruktoren, Felder (Arrays), Listen mit Bibliotheksklassen, Geheimnisprinzip & Sichtbarkeit (get/set), UML-Klassendiagramm inkl. Assoziation/Aggregation.
Ablauf Bearbeite die verlinkten LearnJ-Abschnitte (eingebettet) und löse danach die Übungen, Quizze, KI-Aufgaben und „Selbst programmieren“-Aufgaben. Arbeite dich von oben nach unten sukzessive durch. Dieses Selbstlernmodul beinhaltet Stoff für circa 7 Unterrichtswochen. Mache zum Abschluss jeder Unterrichtswoche das Feedbackmodul (ganz unten).
Inhalte
- Grundbegriffe der Objektorientierten Programmierung OOP (Klassen, Objekte, Methoden, Attribute)
- Eigene Klassen & Konstruktoren
- Arrays (Feld von Objekten) & ArrayList
- Geheimnisprinzip, Sichtbarkeit, get-/set-Methoden
- UML-Klassendiagramm, Assoziation & Aggregation
Hinweis Datenschutz: Dieses Modul bindet externe Inhalte (LearnJ & YouTube) per iframe ein. Wenn ein Inhalt nicht lädt, nutze die Direktlinks unter dem jeweiligen Frame.
Disclaimer: Achtung! In den Aufgaben wirst du dazu aufgefordert, KI-Sprachmodelle zu nutzen. Wenn du das nicht möchtest oder darfst, kannst du diese Aufgaben überspringen. Bitte kläre dies vorher mit deinen Erziehungsberechtigten und lies die Datenschutzerklärungen sowie AGB.
Warm-up: Was ist Objektorientierung?
Starte mit diesen Videos (max. 45 min). Notiere dir Merksätze zu den Themen: OOP, Klassen, Konstruktor, Objekte, Attribute.
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/2le2YYr3N7s
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/Hc3ddOTYzME?list=PLO-P6W97sI0QceALqhX21OTkeBVj5HkHM
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/IxwJIGEPXY4
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/kWO5K2ADQeg?list=PLXiSNHkWbOMkDnHZm_GsOL4za3rRzT-A3&index=27
1) Grundbegriffe: Klassen, Objekte, Attribute, Methoden
Bearbeite zuerst:
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.learnj.de/doku.php?id=klassen1:grundbegriffe:start
Direktlink: learnj.de/doku.php?id=klassen1:grundbegriffe:start
Dann: Wende die Grundbegriffe im nächsten LearnJ-Teil an.
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.learnj.de/doku.php?id=klassen1:anwenden:start
Direktlink: learnj.de/doku.php?id=klassen1:anwenden:start
Ordne zu (schreibe in die Felder):
Lösung & Erläuterung
- Bauplan → Klasse
- konkretes Exemplar → Objekt (Instanz)
- Eigenschaft → Attribut
- Fähigkeit/Aktion → Methode
Eine Klasse beschreibt Struktur & Verhalten, ein Objekt ist eine erzeugte Instanz dieser Klasse.
Formuliere vier prägnante Merksätze zu Klasse, Objekt, Attribut und Methode – jeweils mit einem Mini-Beispiel in Java. Prüfe mich danach mit zwei Rückfragen.
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/lWYWddhWUag?list=PLXiSNHkWbOMkDnHZm_GsOL4za3rRzT-A3&index=28
2) Eigene Klassen & Konstruktoren
Bearbeite:
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.learnj.de/doku.php?id=klassen1:eigene:start
Direktlink: learnj.de/doku.php?id=klassen1:eigene:start
Zusatz: Konstruktoren initialisieren Objekte. Name = Klassenname, kein Rückgabetyp.
___:
Musterlösung & Erklärung
Der Konstruktor heißt wie die Klasse und hat keinen Rückgabetyp. Parameter initialisieren die Attribute.
Erzeuge einen kurzen Lückentext zu Java-Konstruktoren (5–7 Lücken) mit Lösungsvorschlägen. Frage mich danach die Lösungen nacheinander ab.
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/IxwJIGEPXY4
3) Attribute deklarieren & verwenden
Bearbeite:
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.learnj.de/doku.php?id=klassen2:attribute:start
Direktlink: learnj.de/doku.php?id=klassen2:attribute:start
Stelle mir nacheinander 5 Quizfragen (Multiple Choice) zu Java-Attributen wie ein Showmaster. Prüfe meine Antworten und erkläre kurz.
4) Objektreferenzen verstehen
Bearbeite:
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.learnj.de/doku.php?id=klassen1:anwenden:objektreferenzen:start
Direktlink: learnj.de/doku.php?id=klassen1:anwenden:objektreferenzen:start
Überlege, was ausgegeben wird:
Lösung
6. a und b referenzieren dasselbe Objekt; die Änderung über b wirkt sich auf a aus.
Stelle mir 8 Wahr/Falsch-Aussagen zu Objektreferenzen (Alias-Effekt, null, Vergleich von Referenzen). Prüfe jede Antwort sofort und erkläre kurz.
5) Feld von Objekten (Array) & Liste von Objekten (ArrayList)
Arrays (Felder): feste Länge, schneller Zugriff per Index.
ArrayList (Bibliotheksklasse): dynamische Größe, Methoden wie add, remove, size.
___:
Lösung & Erklärung
zahlen.length liefert die Feldlänge (Index beginnt bei 0). ArrayList wäre dynamisch.
Erstelle einen Lückentext zu Arrays vs. ArrayList (8–10 Lücken) mit Lösungsvorschlägen. Frage mich die Lücken einzeln ab.
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/ryev3PMRFik
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/f9m4GbZbeqE?list=PLXiSNHkWbOMkDnHZm_GsOL4za3rRzT-A3&index=24
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/pifaJMSsRVY?list=PLXiSNHkWbOMkDnHZm_GsOL4za3rRzT-A3&index=25
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/EeshCeZJUzA?list=PLXiSNHkWbOMkDnHZm_GsOL4za3rRzT-A3&index=26
6) Geheimnisprinzip (Kapselung), Sichtbarkeit, Getter/Setter
Idee: Daten einer Klasse werden vor direktem Zugriff geschützt (private), Zugriff nur über Methoden (public).
saldo in Konto:
getSaldo():
Lösung & Erläuterung
saldo sollte private sein (Datenkapselung). Zugriff über public Methoden – getSaldo(), einzahlen() (mit Validierung).
Formuliere vier Merksätze zum Geheimnisprinzip und zu Getter/Setter. Füge je ein Gegenbeispiel (schlechter Stil) und die bereinigte Variante an.
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/jgDDEqyyizg
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/O6_pwT1EF3k
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/WKL0gObL6ks
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/O5MMDZnsZXA
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/N1l1DQ_0G14
7) UML-Klassendiagramm, Assoziation & Aggregation
Quick-Guide UML:
- Klassendiagramm: Klassen (Name, Attribute, Methoden) & Beziehungen.
- Assoziation: „kennt“-Beziehung.
- Aggregation: Ganzes–Teil, Teil existiert auch unabhängig.
- Komposition: starkes Ganzes–Teil, Teil existiert i. d. R. nur mit dem Ganzen.
Notation: Klasse ◇── 0..* Schueler (hohler Rhombus auf Seite des „Ganzen“).
Lösungshinweise
- Assoziation = „kennt“-Beziehung
- Aggregation = Ganzes–Teil (Teil existiert eigenständig)
- Komposition = Ganzes–Teil (Teil existiert i. d. R. nur mit dem Ganzen)
Stelle mir 6 Multiple-Choice-Fragen zu UML (Klassendiagramm, Assoziation, Aggregation, Komposition). Agiere als Showmaster, erkläre nach jeder Antwort kurz.
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/zzwUH3vbNkc
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/8P4mTilZCf0
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/oaykwg2_TG8
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/sTM0EjAit7c
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/um4-oLgKs7g
Hier kann ein eigener Link, ein datenschutzkonformer Embed oder ein Screenshot aus deinem Material ergänzt werden.
Ursprünglicher Verweis: https://www.youtube.com/embed/Z6CrqPukPkY
Feedbackmodul
Beantworte die Fragen und sende deine Antworten im Schulportal mit dem Betreff:
„Q1 GK HNR Feedback E-Learning-Modul OOP“.
- Freitext: Welche Abschnitte hast du vollständig bearbeitet? ___________________
- Freitext: Formuliere 2 Merksätze zu „Konstruktoren“ und 2 zu „Kapselung“.
- Multiple-Choice: Welche Strukturen hast du verwendet?
☐ Klassen/Objekte ☐ Konstruktoren ☐ Arrays ☐ ArrayList ☐ Getter/Setter ☐ UML - Single-Choice: Wie schwierig waren die Array/ArrayList-Aufgaben?
○ sehr einfach ○ einfach ○ mittel ○ schwierig ○ sehr schwierig - Skala (1–5): Wie zufrieden bist du mit dem Modul?
1 … 5 - Ja/Nein: Hast du alle Übungen und interaktiven Checks bearbeitet?
○ Ja ○ Nein - Zeitangabe: Geschätzte Arbeitszeit: ___ Minuten
- Selbsteinschätzung (1–5): Wie sicher fühlst du dich jetzt?
1 … 5 - Freitext: Was war am meisten hilfreich?
- Offen: Verbesserungsvorschläge?