Einführung In Die Programmierung
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Programmieren lernen mit Perl: Ein systematischer Grundkurs, von JoachimZiegler, ISBN 354042685X, Erschienen im April 2002


Das Feedback hier rührt noch aus der Zeit vor dem Erscheinungsdatum her. Soweit mir bekannt ist, ist der JoachimZiegler jedoch weiterhin (und für eine wahrscheinliche 2. Auflage) an Rückmeldungen seiner Leser interessiert. -- HelmutLeitner

Klar, ich bin jederzeit an Feedback interessiert! -- JoachimZiegler


Ein Buch in Vorbereitung von JoachimZiegler. Eine Einführung ins prozedurale Programmieren anhand von Perl . (Das Buch bietet auch zudem gleichzeitig eine Einführung in Perl!) Der Autor sucht kompetentes Feedback und bietet eine Nennung in der Danksagung. [9. Nov 2001]

Der Draft enthält allerdings noch nicht das komplette Buch. Es fehlt noch das Kapitel 4 (ca. 60 Seiten mit den anspruchsvolleren Programmbeispielen) und die Auflösungen der Aufgaben:

Hier kurze Informationen zum Buch vom Autor:

Charakteristika: Das Buch ist kein "Lese"-buch, da die Resultate vieler Ausgabebefehle und Beispielprogramme nicht angeführt sind. Der Leser wird über weite Strecken des Buches am Computer arbeiten müssen, um die Beispiele zu verstehen.

Kontroversielles:


Meinungen / Rezensionen

Das Buch ist sehr sorgfältig didaktisch aufbereitet und kommt aus der Lehrpraxis. Man kann es - wie ff angemerkt hat - auch als erfahrener Programmierer mit Vergnügen und Gewinn lesen. Warum? Weil es in einem Streifzug viele allgemeine Grundlagen der Informatik auffrischt und teilweise auch so etwas wie einen Bildungsanspruch aufweist. Man erfährt z.B. was hinter Worten wie "abstrahieren" oder "Intelligenz" sprachlich genau steckt und ist herausgefordert, die teilweise eigenwilligen Folgerungen des Autors nachzuvollziehen oder zu hinterfragen.

Das Buch hat sehr viele Beispiele (ca. 100) und teilweise aufgelöste Aufgaben (ca. 200) (die aber im Download nicht enthalten sind). Das führt den Leser in kleinsten Schritten an das Programmieren heran. Da merkt man, dass das Buch von einem Praktiker mit viel Seminarerfahrung kommt. Die Beispiele sind sehr "down to the earth" mit Input, Verarbeitung, Output aufgebaut und führen allerdings nicht weit. Zusätzlich ist den Beispielen ein sehr "klassischer" Einführungsteil vorangestellt, wo von Bits und Bytes über Interpeter und Compiler bis zur Assembler und Instructionpointer, Floating Point Formate und Zahlensystem sehr viel Grundinformationen vermittelt werden. Dieser erste Teil ist vielleicht eine Spur trocken.

Das Kapitel 4 "Elemente anspruchsvoller Programme" war in meinem Download auch noch nicht enthalten, so dass ich noch nicht sehen konnte, wie weit die weiterführenden Beispiel gehen, ob Fragen der Problemstrukturierung und Modularisierung auch besprochen werden.

Es ist also vor allem ein Arbeitsbuch, das durchgearbeitet werden will. D. h. die Motivation für die intensive Beschäftigung muss der Leser selbst mitbringen, er kann sie aus keinen effektvollen Programmbeispielen gewinnen. Insgesamt IMHO ein empfehlenswertes Buch für Leser mit ausdauernder Mentalität, die auf eine fundierten Grundlegung im Selbststudium eingestellt sind. Vermutlich werden es Pädagogen auch als Kursunterlage schätzen.

-- Helmut Leitner


Tipps an den Autor

Anregung: Ich würde statt eines gezippten PDF (680 KB) den ungezippten PDF (816 KB) anbieten. Für den Benutzer ist es vermutlich bequemer z.B. 20 Sekunden länger auf den Download zu warten, als 1 Minute für das Entzippen zu verwenden. Just my $0.02. -- HelmutLeitner


Diskussion zum Thema Turing-Vollständigkeit

Ich habe erst ein bisschen herumgeschmökert, aber folgender Absatz scheint mir schwer verkraftbar (Seite 17, Einleitung):

Das wichtigste Kapitel ist sicherlich Kapitel 2, denn dort lernt der Leser alle sprachlichen Konstrukte kennen, die ihn zu einem "Turing-vollständigen" Programmierer machen, also einem Programmierer, der alles programmieren kann, was überhaupt programmierbar ist. Dieses Kapitel sollte ganz von vorne nach hinten gelesen werden.

Weder wird ein echter Programmieranfänger etwas mit "T-v P" anfangen können, noch wird ein erfahrenerer Programmierer mit dem Hype zu einem Kapitel einverstanden sein, das im wesentlichen bedingte Anweisungen, Schleifen und Arrays erklärt. Was meint ihr? -- hl

Nach dem Überfliegen des Kapitels finde ich die Grundidee auch gar nicht so schlecht, allerdings ein wenig überbetont. Mich stört vor allem, dass leicht der Eindruck entstehen kann, es wäre genau diese Auswahl an Programmiermitteln, die zur Turingvollständigkeit führen würde, obwohl sie in dieser Hinsicht natürlich völlig willkürlich ist. -- IljaPreuß

Es sind aber nicht genau diese Sprachmittel, die es ermöglichen, eine Turing-Maschine in Perl zu simulieren, sondern es ist eben nur eine Möglichkeit. Das sieht man alleine schon daran, dass sich Schleifen immer auch als Rekursion ausdrücken lassen. Und das außer acht lassen von goto ist aus der Sicht der Turing-Vollständigkeit schließlich auch ziemlich willkürlich! -- ip

Wäre es sicher nicht, wollte ich auch in keinster Weise implizieren. Was würde das auch an der von mir angebrachten Kritik ändern?

Das alles habe ich durchaus begriffen. Ich sehe allerdings nicht, was dies mit meinem Kritikpunkt zu tun hat.

Leider nicht.

Ich bin sicher, dass wir diesen Punkt in einem sachbezogenen persönlichen face-to-face Meeting "ausräumen" könnten; vielleicht ist das Internet wirklich nicht das geeignete Medium dafür... ;-)

(1) Findest Du es wirklich so abwegig, dass ein Programmieranfänger aus "mit A, B und C kannst Du eine TM programmieren" den (falschen) Umkehrschluss zieht "um eine TM zu programmieren, braucht man A, B und C"? (2) Spricht etwas dagegen, durch explizites erwähnen, dass es eben noch alternative Möglichkeiten gibt, dieses zu verhindern?

Ja, sieht wohl genau so aus... :-)

Ich habe allerdings auch den Eindruck, dass meine Kritik sehr viel "kräftiger" bei Dir angekommen, als ich sie eigentlich gemeint hatte. Heute würde ich das dann auch deutlich milder formulieren wollen.
Wie können wir am besten die Aufräumaktion, die Helmut ja bereits vorbildlich begonnen hat, zu Ende bringen? -- ip

Ich möchte darauf hinweisen, dass ich (selbstverständlich) keinerlei Urteil über das Buch als ganzes abgegeben, sondern lediglich meine Kritik am angesprochenen Abschnitt geäußert habe. Ich sehe darin nichts verwerfliches, zumal ich erwähnt habe, dass dieser Eindruck nach einem "Überfliegen" entstanden ist. So kann sich jeder selber ein Urteil darüber bilden, wie relevant diese Aussage ist.

Und ich würde sagen, dass ich mich genug mit dem Kapitel beschäftigt habe, um diesen Kritikpunkt anbringen zu können. Vielleicht haben wir ja auch einfach unterschiedliche Definitionen von "überflogen" und "richtig gelesen"...

Nein, und das habe ich auch nie gesagt. Ich meine aber immer noch, dass für einen Anfänger das Kapitel leicht so fehlinterpretiert werden kann. -- ip


Hallo liebe Leute, ich bin der Autor und möchte etwas Klärendes zu Eurem Streitgespräch beitragen: Ungefähr am Ende der ersten bzw. Anfang der zweiten Woche meiner Programmierkurse haben die Teilnehmer ifs, whiles und Arrays "geschafft" und sind dann schon ziemlich erschöpft. Als kleine Aufmunterung und weitere Motivation erzähle ich ihnen dann mit einem Augenzwinkern, dass ihre (noch ca. 9 Monate dauernde) Ausbildung eigentlich jetzt schon abgeschlossen ist, weil sie ja nun das Handwerkszeug haben, um alles zu programmieren, was programmierbar ist. (In diesem Zusammenhang plaudere ich ein bisschen über Turing-Maschinen.) Das freut sie dann sehr, weil sie das Gefühl haben, dass sich ihre Mühe lohnt. Der Abschnitt ist also nur als "Bonbon" zu verstehen, er ist ja auch mit einem Stern als nicht unbedingt wichtig [bzw. notwendig] gekennzeichnet. -- Joachim Ziegler

Das ist vermutlich eine Frage der Qualität des Augenzwinkerns. Ich hätte doch Angst, vom einen oder anderen Teilnehmer missverstanden zu werden. Ich habe oft genug erlebt, dass Leute aus umfangreicheren Ausbildungen kommen (z. B. 3/4 Informatiker) und trotzdem vor kleinen realen Programmieraufgaben kapitulieren müssen, wobei sie aber vorher der Meinung sind, das ganz locker schaffen zu können.

Aber eine anderer Frage: Ich habe das Buch aus der Sicht eines Lesers betrachtet. Vielleicht ist das unrealistisch. Ist das Buch vorwiegend als Seminarunterlage oder für das Selbststudium konzipiert (bzw. welche Zielgruppenvorstellung liegt dem Buch zugrunde)? -- hl

Vorwiegend zum Selbststudium, aber natürlich auch als Seminarunterlage. --jz


Siehe auch WasIstProgrammieren und TuringMaschine
KategorieBuch KategorieProgrammierung KategoriePerl
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 2. September 2003 14:06 (diff))
Suchbegriff: gesucht wird
im Titel
im Text