Konzeption - Martins Homepage

Direkt zum Seiteninhalt

Hauptmenü:

Konzeption

Programmierkurs

Im Einführungskurs sollen die Schüler ohne theoretische Vorübungen lernen, Computerprogramme zu schreiben. Im Vordergrund stehen dabei zwei Prinzipien:

  • Praktische Programmierarbeit von Beginn an und während aller Stunden

  • Lernen an einem konkreten Projekt d.h. an einer spezifischen Arbeitsaufgabe


Natürlich werden alle wichtigen Strukturen und Abläufe erläutert - nämlich dann, wenn man sie braucht, als Mittel zum Zweck.

In den Kursstunden vollziehen die Schüler kleinere Projekte durch die eigene Eingabe nach. Dies schafft ein Bewusstsein für die dabei geforderte Präzision und übt die syntaktischen Konstruktionen ein. Die Programme werden aus den kleinsten Elementen heraus in Schritten zusammengebaut, wobei jeder Teilschritt einen Funktionszuwachs zeigt: Man sieht, was man realisiert hat und was noch nicht und kann sich der nächsten Stufe widmen. Im Software-Jargon würde man von einer inkrementellen Implementierung sprechen. Man baut also wie mit einem Baukasten seine Konstruktion, testet die Zwischenergebnisse, bügelt Fehler aus, reißt vielleicht einen Teil wieder ab oder rearrangiert seine Komponenten. Diese Teilschritte werden von einer Diskussion begleitet, welche andauernd Ziele, Mittel und Wege reflektiert. Es ist fast zu jeder Zeit ein lauffähiges Programm verfügbar.

Weil die Schüler (zum Glück!) nicht jedes Detail sklavisch kopieren, sondern eigene Vorlieben einbringen, müssen sie die Diskussionsergebnisse immer auf “ihr” Programm übertragen. Dies hilft ihnen zu erkennen, was dort wesentlich und was eher zufälliges Beiwerk ist.

Diese Art Unterricht setzt natürlich die Ausstattung eines Computerraums mit Beamer voraus.

Da alle Projekte ein Schwergewicht in der grafischen Repräsentierung bzw. Benutzeroberfläche haben, bietet sich an, die Entwicklung von dort zu starten: Man setzt zu Beginn die Anzeige- und  Bedienelemente und erzeugt dann Schritt für Schritt die gewünschte Funktionalität. Aufhänger aller Prozeduren sind dabei Ereignisse, vom Benutzer des Programms oder einem Zeitgeber (Timer) ausgehend.

Weiterhin sollen alle Hilfestellungen gegeben werden, damit die Schüler möglichst früh außerhalb des Kurses Programmiererfahrungen machen können: Nur durch eigene intensive Auseinandersetzung ist ein solider Fortschritt möglich!

Nach den ersten Stunden sollten die Schüler in der Lage sein, kleinere Projekte selbst anzugehen. Dazu werden Arbeitsblätter verteilt, welche Aufgaben enthalten, die mit den bisher vorgestellten Mitteln zu realisieren sind.

Konkrete Lernziele:

  • Prinzipien der Programmierung: Prozeduren, Variablen, Operationen, Zuweisungen, Verzweigungen und Schleifen, Unterprogramme, ...

  • Windows-Programmierung: Ereignisse, Objekte, Attribute und Methoden. Logik und Programmierung der Standard-Steuerelemente wie Button, Label, Textfeld, Menü, Combo-Box, Picture-Box, ...

  • Bekanntschaft mit einer modernen Programmierumgebung: Projektverwaltung, Toolbox, Eigenschaftseditoren, Entwicklungszeit vs. Laufzeit, Debugging


Das ergibt zusammen die Fähigkeit, kleinere Projekte als Windows-Programm zu realisieren. Der Entwurfsprozess  wird an den verschiedenen Projekten demonstriert.

Als Programmierumgebung wurde Visual C# gewählt, weil dort eine Einstiegshürde besonders niedrig liegt. Natürlich steht im Kurs das konzeptionelle Wissen im Vordergrund und nicht das Produktwissen um Visual C# . Hinweise auf andere Programmiersprachen wie C/C++ oder Java werden nach Bedarf gegeben.

Besonders hilfreich bei Visual C# sind folgende Eigenschaften der integrierten Programmierumgebung, welche ein schrittweises Implementieren, Analysieren, und Fehlerbehebung optimal unterstützen:

  •    Schnelles Umschalten zwischen Programmier- und Ausführungsmodus

  •    Schnelles Setzen und Entfernen von Unterbrechungspunkten

  •    Schrittweise Ausführung des Programms

  •    Anzeige der aktuellen Variablenwerte per Tooltip (Einfach den Cursor über die Variable setzen)


Weitere Projekte: Conway's Game of Life, Spiel des Lebens (nach Eigen)

 
 
Zurück zum Seiteninhalt | Zurück zum Hauptmenü