On Sat, 2009-01-03 21:45:24 +0100, Esther Mietzsch <mietzsch@gmx.de> wrote: > Am Tuesday, 30. December 2008 10:45 schrieb Michael Ulex: > > kann mir jemand ein einfach verständliches C++-Programmiertool in > > Skolelinux empfehlen? Eines, was entweder schon installiert ist (Server > > arbeitet mit 3.0) oder welches ich installieren kann? Ich darf einen > > Wahlpflichtkurs zur Einführung des Programmierens in 8 Doppelstunden > > geben. Da ich zuhause nur mit Windoof oder Sidux arbeite, wäre es gut, > > wenn ich dieses Programm auch hier laufen lassen könnte. > > Herzlichen Dank und einen guten Rutsch ins neue Jahr wüscht > > ich hätte mal eine "doofe" Frage: wieso C++? > 8 Doppelstunden insgesamt? Und dann alles auf einmal (Compiler etc., > Variablen, Typen, Objektorientierung usw.)? Ist das nicht ziemlich viel? Die Vermutung ist, daß "C" für recht einfach gehalten wird und "C++" die ach so hippe OOP mit sich bringt. Wenn man dann noch die Konzepte von Widget Sets einbringen will und die Schüler erstmal anleiten muß, wie man Compiler, Linker und ggf. eine integrierte Entwicklungsumgebung bedient, wird man wohl bei /viel/ mehr als acht Doppelstunden herauskommen. Um den Schülern überhaupt das Gefühl zu geben, irgendetwas herausgearbeitet zu haben, würde ich eher auf einen leicht zu bedienenden (simplen) Editor zurückgreifen, sowie ein Makefile, das erstmal die ganzen Abhängigkeiten etc. außen vor läßt: --------------------------------------------------------------- #!/usr/bin/make -f CFLAGS=-Wall -Werror -std=gnu99 -W -pedantic all: gcc $(CFLAGS) -c eins.c -o eins.o gcc $(CFLAGS) -c zwei.c -o zwei.o gcc $(CFLAGS) eins.o zwei.o -o tollesprogramm --------------------------------------------------------------- Das Makefile-Schreiben (mehr in Form eines shell scripts wie oben) kann man ganz gut erstmal via "echo"-Kommandos etc. vorweg üben, insbesondere auch, vorne ein TAB zu haben. Abhängigkeiten etc. würde ich in acht Doppelstunden unter keinen Umständen anpacken wollen. Magische Regeln (".c.o") würde ich auch vermeiden: Das bewirkt nur, daß die Schüler irgendwas auswendiglernen, ohne das Gefühl zu haben, etwas verstanden zu haben, oder gar zu beherrschen. Von dort aus sachte in ein kurzes C-Programm einführen: ----------------------------------------------------------- #include <stdio.h> int main (int argc, char *argv[]) { int i; for (i = 0; i < argc, i++) printf ("%d: %s\n", i, argv[i]); return 0; } ----------------------------------------------------------- Da hast Du auch gleich ein Pointer-Array, was einen guten Einstieg in Pointer an sich liefert. Außerdem schon die spezielle Funktion `main', eine Kontrollstruktur (for) sowie das generelle prozedurale Konzept einer Funktion, die etwas übergeben bekommt und typischerweise etwas zurückgibt. (Bei interessiertem Publikum kannst Du auch noch den Unterschied von "return 0" und "exit (EXIT_SUCCESS)" einführen, was einen Riesenunterschied bei der Portabilität (-> VMS) macht.) In der kurzen Zeit würde ich unter keinen Umständen OOP einzuführen versuchen. Das Methoden-Konzept, gerade bei virtuellen Methoden, die ganze Vererbung etc., ist im Vergleich zur prozeduralen Programmierung viel komplizierter und IMHO nicht in so kurzer Zeit vermittelbar. Wenn wirklich auf Biegen und Brechen noch GUI-Porgrammierung eingeführt werden soll, würde ich auf GTK+ setzen. GTK+ ist gut strukturiert und hält sich von der API her ebenfalls an sehr abgekapselte Datentypen. (Das könnte eine gute Grundlage für später einzuführende OOP sein.) Einfache GTK+-Programme lassen sich recht gut schreiben; Beispiele dafür findet man en masse in der GTK+-Doku. MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de +49-172-7608481 Signature of: http://www.eyrie.org/~eagle/faqs/questions.html the second :
Attachment:
signature.asc
Description: Digital signature