Diese Seite ist die Homepage für den Informatik-Kurs der Kursstufe 1 und 2 am Lise-Meitner-Gymnasium in Königsbach-Stein. An dieser Stelle finden Sie alle von mir erstellten Unterrichtsmaterialien, soweit sie digital verfügbar sind.
Wir werden die in der Theorie besprochenen Informatikkonzepte praktisch in der Programmiersprache C# umsetzen. C# ist Teil des .NET Frameworks, was auf Windows-Computern schon vorinstalliert sein sollte. Wir brauchen eine .NET Framework Version ab 4, damit alles gut funktioniert. Zum Nachprüfen der .NET Framework Version habe ich das Tool DotNetVersionsInfo erstellt.
Zum Programmieren verwenden wir die Entwicklungsumgebung Sharp Develop 5 in der portablen Version für USB-Sticks (Xcopyable "Installation"). Falls es Probleme bei der Installation gibt, kann man sich an mich per Mail wenden.
Da alle Schülerinnen und Schüler den NWT-Unterricht in Klasse 10 bei mir besucht haben und ein Teil der Kurses letztes Jahr den Informatikkurs bei meiner Kollegin belegten, sind Java-Grundkenntnisse bei allen Teilnehmern vorhanden, so dass in den nächsten Wochen die Grundkenntnisse zügig aufgefrischt und auf C# übertragen werden.
Hier gibt die Seiten im DIN A4-Format. Außerdem wurde auf Probleme mit Datentypen eingegangen (siehe Weitere einfache Programme).
Hausaufgabe: Aufgaben auf dem Blatt bearbeiten
Da heute die Schüler aus der Kst. 2 auf Studienfahrt waren, beschäftigten wir uns mit der Objektorientierten Programmierung, die in der Kst. 1 schon behandelt wurde. Normalerweise ist die OOP sehr hilfreich zur Beschreibung von größeren Softwaresystemen. In der heutigen Doppelstunde geht es um das Arbeiten mit Objekten und um das Kennenlernen einiger wichtiger Begriffe und Konzepte, die wir später bei der Programmierung in C# ständig verwenden werden.
Zum Abschluss wurden einfache Programme mit den InfoKurs Tools geschrieben. Mehr Informationen gibt es auf dem Skript-Blatt: Weitere einfache Programme.
Hausaufgabe: Ein Haus mit den InfoKursTools zeichnen (Aufgabe 5).
Heute wurde behandelt, was man unter Begriff Algorithmus versteht sowie auf einige Grundelemente von Algorithmen eingegangen. Diese wurde an Beispielen aus dem Alltag verdeutlicht. Es wurde auch auf die formale Darstellung mit Hilfe von Struktogrammen eingegangen.
Hausaufgabe: Blatt Algorithmen Aufgabe 5
Bisher konnten nur einfache, geradlinig ablaufende C#-Programme erstellt werden. In dieser Doppelstunde wurde besprochen, wie man in einem C#-Programm Entscheidungen mit Hilfe von if treffen kann. Außerdem wurde die Darstellung der Auswahl in Struktogrammen wiederholt.
Hausaufgabe: Blatt Auswahl mit if Aufgabe 2 und Aufgabe 5 (jeweils die Struktogramme nutzen)
Ein weiteres wichtiges Element in Algorithmen sind Wiederholungen bzw. Schleifen. Zunächst wurden Wiederholung bei Iterationsverfahren bzw. Zahlenfolgen erarbeitet und dies gleich in C# mithilfe von for-Schleifen umgesetzt. Diesen Schleifentyp nennt man auch Zählschleife, da in der Regel feststeht, wie oft die Schleife wiederholt wird. Wie man Summen und Produkte mittels for-Schleifen berechnen kann, wurde ebenfalls besprochen.
Hausaufgabe: Blatt for-Schleifen Aufgaben 7 bis 9
In der heutigen Doppelstunde wurden weitere Beispiele und Übungen zu for-Schleifen, insbesondere vom letzten Blatt, programmiert und besprochen.
In der ersten Stunde nahm der Kurs am Informatik-Wettbewerb Informaik-Biber teil, in der zweiten Stunde wurden Fragen für die Klausur geklä und einige weitere Übungen gemacht.
In der heutigen Doppelstunde wurden weitere Praxis-Übungen zu for-Schleifen programmiert und es wurde die grafischen Komponenten ListBox (siehe auch Online-Demos, Beispielprojekt zur ListBox, Beispielprojekt zu ComboBoxen) vorgestellt.
Nachdem die while-Schleifen noch von früher (z.B. von der Hamsterprogrammierung) bekannt waren, konnte heute beide Schleifenarten besprochen werden, insbesondere die unterschiedlichen Anwendungsfälle.
Die Skript-Blätter der Veranstaltungen gibt es hier:
In Zeichenketten bzw. Strings können Texte gespeichert werden. Bisher wurden Zeichenketten nur genutzt, um mit der Benutzeroberfläche zu interagieren. In der heutigen Doppelstunde geht es um die Bearbeitung von Zeichenketten. Da das Zusammenfügen von Zeichenketten recht resourcenhungrig ist, wurde als Alternative die StringBuilder-Klasse vorgestellt.
Die Skript-Blätter der Veranstaltungen gibt es hier:
Wenn man in Datenbanken oder in Suchmaschine nach ähnlichklingenden Begriffen suchen möchte, muss man eine phonetische Suche durchführen. Ein einfacher Algorithmus dafür ist der SoundEx-Algorithmus. Dieser wurde heute erarbeitet und praktisch in einem C#-Programm umgesetzt.
Methoden sind wichtige Strukturelemente in der Programmierung. Sie bieten viele Vorteile und eröffnen einige neue Möglichkeiten. Im Kurs haben wir bisher schon die ganze Zeit mit speziellen Methoden gearbeitet. Heute geht es um die Definition und Nutzung von selbst erstellten Methoden.
Das Newton-Verfahren ist ein Iterationsverfahren zur näherungsweisen Bestimmung von Nullstellen einer Funktion. Das Verfahren wurde von zunächst mathematisch erarbeitet, anschließen in einem C#-Programm umgesetzt.
In dem Schülervortrag ging es um die Datenstruktur "Verkette Liste", mit der man beliebig viele Informationen abspeichern. Anschließend wurde die Umsetzung in den C#-Bibliotheken angesehen.
Felder sind ein wichtiges Mittel in der Programmierung, um größere, gleichartige Datenmengen zu speichern. In der heutigen Doppelstunde lernte man die grundsätzlichen Arbeitstechniken mit Feldern kennen.
Da heute einige Schülerinnen und Schüler auf der Chor-Freizeit waren, wurden mehr Übungen mit Methoden gemacht. Außerdem wurde auf den Unterschied zwischen Wert- und Referenzparameter für einfache Datentypen besprochen.
In der heutigen Doppelstunde wurde das erste Sortierverfahren behandelt. Der Sortieralgorithmus Selection Sort (Sortieren durch Auswahl) wurde aus einer Maximum-Suche heraus schrittweise entwickelt.
Im Gegensatz zum Aufgabenblatt wurde das C#-Programm komplett programmiert und statt Minima Maxima gesucht.
Im ersten Teil wurde Bubble Sort theoretisch erarbeitet und programmiert. Im zweiten Teil wurde auf die Rekursion eingegangen. Diese tritt auf, wenn sich eine Methode selbst aufruft. Damit kann man manche Probleme deutlich einfacher formulieren als mit Schleifen.
In der heutigen Doppelstunde wurden weitere Beispiel zu Rekursionen und Methoden programmiert und besprochen.