C für Dummies

Mit dem guten Gewissen, dass ich gerade jede Menge Trollfutter produziere, lege ich mal trotzdem offen, dass wir gerade so etwas wie eine Krise hatten bei FLP. Mal wieder. Daher auch der etwas lange Abstand zwischen diesem und dem vorherigen Post.

Der Anfang von unserem C-Abschnitt des Jahresplans begann zwar holprig aber ich hatte schon nach der zweiten Session das Gefühl, dass unser Konzept, mit etwas absurd Schwerem anzufangen, damit alles danach umso leichter erscheint, aufgeht. Das Gefühl hielt etwa eine Woche an und verschwand vor der vierten Session komplett.

Die ersten Programme erschienen mir noch relativ eingängig und ich war überrascht, wie lesbar der Code im Vergleich zu Assembler-Programmen ist. Aber die Konzepte, die ich nach einem geschriebenen oder optimierten Programm verstanden hatte waren nicht so tief verankert, wie es nötig gewesen wäre um das Buch stringent durchzuarbeiten. Die nächste Session war entsprechend zäh und anstrengend, weil die Konzepte in einer komplexeren Form angewandt wurden, ohne dass ich die simpleren Anwendungen verinnerlicht hatte. Das frustrierte ganz schön und machte das Programmieren langwierig, anstrengend und spaßfrei. Vor der letzten Session wurde mir klar, dass die Lust aufs Programmieren völlig verflogen war. Ich wusste gar nicht mehr so richtig, wieso ich das noch mache und dachte, ich könnte jetzt genauso gut auch aufgeben und würde nicht wirklich drum trauern.

Aber das war für mich kein Grund aufzuhören, sondern ein Signal dafür, dass sich etwas ändern musste. Also sprach ich Plom darauf an und teilte meine Sorgen so offen wie nur möglich mit. Ich glaube ich konnte das Problem darauf runterbrechen, dass ich mich unter Druck gesetzt fühlte. Irgendwie war das Ziel, Programmieren zu lernen dem Ziel, das Buch durchzuarbeiten gewichen. Zur Erklärung vielleicht einfach das Chatlog vom 12.Juni:

18:54 <Fotografiona> ich steh gerade vor dem ziemlich großen Problem, dass ich absolut keine Lust aufs Programmieren habe, weil ich bis jetzt an einer Unisache verzweifelt bin. Und irgendwie den ganzen Tag nur gestresst war. Und jetzt müsste ich zum Programmieren. Was ich aber immer weniger als eine schöne Sache sondern immer mehr als eine
18:54 <Fotografiona> ziemliche Herausforderung empfinde
18:55 <Fotografiona> unter Anderem weil wir einen Zeitplan haben
18:55 <Fotografiona> ich weiß selbst nicht genau was jetzt das beste wäre
18:55 <Fotografiona> einfach trotzdem zum Programmieren treffen?
18:55 <Fotografiona> hoffen, dass es gut läuft? kurze pause?
18:56 <Fotografiona> aber irgendwas läuft schief. irgendwie
18:56 <Fotografiona> vielleicht auch nur bei mir
18:57 <Fotografiona> ich hab seit Sonntag so viel drüber nachgedacht
18:58 <Fotografiona> und ich merke, dass es immer weniger das ist, was ich mir darunter vorgestellt habe. Oder dass es immer weniger in mein leben passt. Wie rum weiß ich nicht. Aber ich wünschte, manchmal, wir würden uns zum Programmierenlernen treffen und nicht zum Buch-schaffen
18:58 <Fotografiona> es ist einfach zu viel
18:58 <Fotografiona> es brauchte nur zwei Sitzungen bis ich wieder das Gefühl hatte, den Faden zu verlieren
18:59 <Fotografiona> Und ich glaube ich hab nur zugestimmt, sich so schnell wieder zu treffen, um dich zufriedenzustellen oder zu beruhigen
19:05 <plomlompom> Oh! Verstehe.
19:05 <plomlompom> Na was hältst du davon, wenn wir den Rest der vier Monate “C” einfach ohne das Buch machen?
19:06 <plomlompom> Hab zwar keinen Plan, was wir dann genau machen sollten in der Zeit, aber wir können ja auch einfach improvisieren.
19:06 <Fotografiona> puh. klingt nach ner guten Idee
19:06 <plomlompom> Denn das “zum Programmierenlernen treffen und nicht zum Buch-schaffen” klingt nach einem sehr guten Punkt.
19:07 <Fotografiona> ist ja an sich vielleicht gar nicht dumm, die Programme aus dem Buch zu nehmen. aber vielleicht verstehe ich mehr, wenn du es mir einfach erklärst
19:07 <plomlompom> Wollen wir uns trotzdem heute treffen?
19:08 <plomlompom> Dann können wir ja statt Übungen machen einfach überlegen was wir die restlichen zweieinhalb Monate “C” machen ;)
19:08 <Fotografiona> ich bin ziemlich im eimer und abgenagt. ich hab einfach angst, dass es blöd werden könnte
19:08 <Fotografiona> und reizbar bin ich leider auch :/ wie du vielleicht schon gemerkt hast ;)
19:08 <plomlompom> Ach naja wir können einfach entspannt beisammen sitzen und mit erlehmann rum-improvisieren, ohne Druck.

So weit die Vorbesprechung. Lustigerweise änderte sich an dem Abend absolut gar nichts. Wir programmierten wieder fast zweieinhalb Stunden am Stück an einem Programm aus dem Buch rum, lasen den Text dazu und ich verstand so gut wie gar nichts. Also naja, ich verstand schon die Funktionsweise aber konnte nicht vorausschauend das Programm beschreiben und auch nicht alle Details der Funktionsweise verinnerlichen und abrufen. Plom gab sich durchaus Mühe dabei, mir das Programm nahezubringen und erlehmann redete einen Tick mehr topic-related dazwischen als sonst. Zum Einen war ich aber etwas abgelenkt von einem bunten Menschen-Auflauf aus KünstlerInnen mit Trompeten und Nerds in Feuerwehranzügen, zum Anderen war ich wie im Chatlog beschrieben schon total ausgebrannt, bevor ich dort ankam. Und darüber hinaus hatte ich mich kein Stück auf den Abschnitt aus dem Buch vorbereitet. Meine Augenringe hängten gefühlt bis zum Boden und danach war ich nur noch viel frustrierter und erschöpfter.  Wenn diese Session etwas gebracht hat, dann die Erkenntis, dass wir dringend etwas ändern mussten.

Wir sprachen auch darüber, als ich schon mit dem Kopf auf der Tischkante lag. Wie können wir die zukünftigen Sessions gestalten? Wir wollten auf jeden Fall das Buch kicken. Unsere Technik, dass ich einfach das Buch vorlese und wir nach jedem Abschnitt Fragen klären klingt zwar plausibel aber war so dröge wie ineffektiv (und anstrengend!) Darüber hinaus ist das Buch von Kernighan und Ritchie einfach nicht für AnfängerInnen gedacht. Es scheint eher für Leute zu sein, die entweder den Vorgänger B oder Fortran oder *hust* Assembler oder Anderes beherrschen. Ich hätte, um dabeizubleiben immer wieder das Erlernte wiederholen müssen, damit die Session effizient und lehrreich waren. Ich hätte mich auch vorbereiten sollen, damit wir nicht immer nur 5 Seiten in drei Stunden schaffen. Aber zum Wiederholen fehlt mir momentan einfach die Zeit. Zwischen Unitexten am Fließband, Seminaren, Musik, Herzmschmerz, Forschung, wenig Schlaf und Freunden blieb bisher wenig Platz und Nerv dafür, sich nochmal ein paar Stunden mit dem Buch und den Programmen auseinanderzusetzen. Aber darin lag wohl auch das weitere Problem – ich konnte das Buch eh nicht alleine bearbeiten. Dafür ist es einfach nicht Anfänger-freundlich genug. Der einzige Lernfortschritt musste also in den Sessions stattfinden und das mit teilweise zwei Wochen Abstand.

Das klingt jetzt alles so furchtbar, wie ich es aus Mitleidsgründen beabsichtigt habe. Aber nicht zu vergessen bleibt, dass wir nicht ohne Grund eine kleine Lerngruppe haben und dafür werben, es uns gleichzutun. Denn ich muss jetzt nicht anfangen, das Assembler-Seminar zu schwänzen, mich nicht darauf einstellen, den Kurs nächstes Jahr nocheinmal zu besuchen und mich auch nicht hinterklemmen, und tagein tagaus versuchen, wieder aufzuschließen, um doch nen Schein abzugreifen und in der Regelstudienzeit zu bleiben. Denn dank unseres überlegenen Lernkonzeptes sind wir ja flexibel! \o/

Also haben wir beschlossen, in Zukunft nicht mehr mit dem Buch “C” zu arbeiten. Denkbar ist es, weiterhin Struktur und evtl. Beispielprogramme zu übernehmen, aber in einer anderen Geschwindigkeit und mit mehr Zwischenstufen. Vielleicht auch mal mehr eigene Programmierideen umsetzen. Weniger Zeitdruck. Und überhaupt. Ich glaube ich sollte mich mal wieder in der Uni blicken lassen.

Das letzte Mal als ich da war, hab ich z.B. auch endlich das für mich hinterlegte Buch  “C Programmieren von Anfang an” abholen können das mir ein Freund leihte, der die Leidenschaft für’s Schädelvermessen mit mir teilt. Das war gestern und es hat mich über ein vierstündiges Kulturtheorien-Seminar gerettet! Es ist tatsächlich ein sehr hilfreiches, gut geschriebenes Buch, mit vielen Erklärungen, für AnfängerInnen, mit ganz ganz kleinen Schritten. Das erste Programm wird Schritt für Schritt erklärt, das nächste hat nur ein paar kleine Zusätze u.s.w. Ich kann es nur empfehlen, für alle, die mit C anfangen wollen.
Ich weiß ehrlich gesagt nicht, weswegen alle einem das Buch von Kernighan und Ritchie ans Herz legen. Weil es so… authentisch ist? Immerhin haben die Beiden C erfunden. Aber im Gegensatz zu dem neuen Buch war “C” weitgehend wertlos.

Jetzt freue ich mich jedenfalls wieder aufs Programmieren und bin sehr zuversichtlich. Ich habe auch plötzlich Lust, die 20 Seiten die ich in 10 Minuten Ubahnfahren durchgelesen hab so bald wie möglich nachzuprogrammieren. Und extra ein paar Stunden meines Tages dafür zu investieren. Ich bin wieder neugierig und zuversichtlich und der so fatale wie ausdauernde Gedanke, es hätte was mit mir und irgendwelchen grundlegenden, unveränderlichen Charaktereigenschaften (zu dum) zu tun, dass ich keine nennenswerten Fortschritte mehr gemacht habe, ist wie verflogen.

Um meine (und unsere) aus dem Scheitern gewonnenen Erkenntnisse mal kompakt zu formulieren:

Es ist definitiv von Vorteil, das Lernformat flexibel zu gestalten.
Es hilft nichts, sich oder anderen zu hohe Lernziele zu stecken. Dabei geht nur der Blick dafür verloren, was man tatsächlich für Fortschritte macht.
Anfänger werden Anfängern.
Probleme beim Lernen sollten sofort angesprochen werden, damit zeitnah Lösungen gefunden und Frustrationen auf beiden Seiten vermieden werden.
Das C-Buch ist kacke. Das Neue ist cool.

Und noch eine Sache. Dass ich diesen Artikel verfasst habe ist auch ein wenig befreiend für mich. Wenn ich offen damit umgehe, dass mir das Programmierenlernen nicht ganz so leicht fällt heißt das für mich persönlich auch, es zu akzeptieren. Und für die LeserInnen womöglich auch. Manchmal habe ich den Verdacht, dass ein falscher Eindruck in diesem Internet von mir kursiert. Mir fällt das mit dem Programmierenlernen wirklich verdammt schwer. Ich kann ne Menge Dinge. Ich kann wenige Dinge gut und nichts wirklich richtig gut. Außer Tofu braten vielleicht.

Mir fällt das Programmieren nicht zu. Keineswegs. Es ist anstrengend, immer wieder eine ziemliche Herausforderung und schwierig. Klar, ich hab mit Assembler angefangen. Aber ich bin keine Assemblerprogrammiererin. Ich weiß, was Assembler ist und kann kompilierten Code einigermaßen nachvollziehen. Ich wende es aber nicht an und ich verstehe fremden Assemblercode nicht ohne Weiteres. Ich habe dafür ne Menge über Computerarchitektur und -funktionsweise gelernt. Das heißt aber nicht, dass ich alles verstanden habe, was mir beigebracht wurde. Ich habe auch oft Konzepte verstanden, könnte sie aber vermutlich nicht korrekt und ohne Verwechslungen wiedergeben.
Klingt komisch, ist aber so. Und völlig in Ordnung. Ich habe von Januar bis April mehr gelernt bei FLP als ich ohne FLP gelernt hätte. So einfach ist das.
Aber mir ist zuletzt bei der Sigint, wo wir ein wenig über unsere Vorgehensweise und Motivation sprachen, aufgefallen, dass sich das Bild, das wahrgenommen wird und wie es tatsächlich läuft nicht ganz entsprechen. Bei dem Vortrag schien ich mehrere Menschen damit zu irritieren, dass ich immer wieder auf meine Unfähigkeiten hinwies. Ich glaube, sie haben einfach etwas Anderes erwartet. Und das hat mich sehr nachdenklich gemacht.
Ich will keinesfalls den Eindruck erwecken, dass mir das alles leicht fällt. Das wäre die falsche Botschaft und würde nicht stimmen. Wenn ich in diesem Blog zum Programmierenlernen motivieren möchte, ist es nicht zielführend wenn ich vorgebe, das wäre eine einfache Angelegenheit. Das kann es für manche sein, für mich gilt das nicht. Ich habe andere Stärken. Ein Musikinstrument lerne ich im Nullkommanichts. Eine neue Programmiersprache – das dauert.
Ich will keinesfalls Leute vom Programmieren abschrecken. Und auch wenn es vielleicht so wirkte, empfinde ich mich ja keinesfalls als scheiternd. Denn meine eigentliche Leistung ist für mich total offensichtlich – War sie aber nicht für das Publikum: Ich habe durchgehalten! Ich habe nicht den Mut verloren und beiße mich eben dadurch. Ich finde das gerade weil es so schwer ist gar nicht mal so übel.

Und so wie es mir zuletzt mit C ging wäre ein Aufgeben verdammt naheliegend gewesen. Aber ich möchte weitermachen und mich lieber mit dem Lernprogramm auseinandersetzen als aufzuhören. Die Motivation ist ja – spätestens jetzt – wieder da. Nicht zuletzt, weil das Blog auch oder vor allem dazu dienen soll Andere zum Programmierenlernen zu ermutigen. Und jetzt freu ich mich wie ein junges Reh auf die Arbeit mit dem neuen C-Buch!
(Und das trotz vier Stunden Schlaf, Rückenschmerzen, Konzert heute Abend und Semesterendspurt ;)

About these ads
Getaggt mit
Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 105 Followern an

%d Bloggern gefällt das: