Anhang: Kursinhalte Jahrgang 12 1. Semester: Einfache Algorithmen und Datenstrukturen Algorithmen (allgemein) • Erstellung eines Algorithmus zu einem gegebenen Problem in schriftlich verbalisierter Form oder als Struktogramm • Bearbeitung eines Algorithmus, gegeben durch Code oder ein Struktogramm • Analyse, z. B. mit einer Tracetabelle oder durch Auswahl geeigneter Testdaten Vervollständigung Präzisierung Korrektur • Implementierung eines Algorithmus in Java (Hamster-Simulator oder JavaEditor) oder ExcelVBA Datenstrukturen und Datentypen • Einfache Datentypen Zeichen (Char) Zahlentypen Boolesche Variablen 2. Semester: Komplexe Algorithmen und Datenstrukturen Datenstrukturen und abstrakte Datentypen • Strukturierte Datentypen Zeichenkette ein- und mehrdimensionale Reihungen (ARRAY) Iteration und Rekursion • Implementierung und Anwendung rekursiver Algorithmen • Vergleich rekursiver und iterativer Methoden • Abschätzung des Aufwands (in verbaler Form) Objektorientierte Modellierung • Analyse eines vorgegebenen Klassendiagramms • Erweiterung eines vorgegebenen Klassendiagramms • Erstellung eines Klassendiagramms / eines Sequenzdiagramms für ein vorgegebenes System • Implementierung eines Modells unter Berücksichtigung der Konzepte der Kapselung, der Vererbung und der Polymorphie in Java Suchen und Sortieren (ein bis zwei zur Auswahl, kurz) • Binäre Suche • Sortierverfahren Direkte Auswahl, direktes Einfügen, Quicksort Beschreibung des Algorithmus Demonstration an einem Beispiel Vervollständigung eines Codefragments • Such- und Sortierverfahren, die Variationen der genannten Verfahren darstellen • Abschätzen der Komplexität von Such- und Sortier-Algorithmen (in Anlehnung an die thematischen Schwerpunkte zum Abitur 2006-2010) Wenn es sich anbietet, können Teile aus dem zweiten Semester in das erste vorgezogen werden (z.B. Zeichenketten). In diesem Schuljahr existiert kein Kurs in Jahrgang 13. Im kommenden Schuljahr sollen im 3. Semester Datenbanken und im 4. Semester Automaten und Schaltwerke behandelt werden. Da die Kursteilnehmer verschiedene Programmiersprachen erlernt haben, bietet sich im 3. Semester PHP mit MySQL als neue Sprache an, um die Chancengleichheit zu gewährleisten.