Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung & Design

Selbstversuch mit Codecademy: Wie es mir erging, nachdem ich einen Programmier-Kurs begann

    Selbstversuch mit Codecademy: Wie es mir erging, nachdem ich einen  Programmier-Kurs begann

(Grafik: Shutterstock)

Erste Schritte des Programmierens zu erlernen, ist heute so ein „einfach“ wie nie. Martin Weigert beschreibt in seiner Kolumne Weigerts World, wie es ihm ergangen ist, nachdem er bei Codecademy einen Python-Kurs begonnen hat.

Seit Jahren trage ich den Gedanken mit mir herum, dass ich Programmieren lernen sollte. Der die digitale Revolution begleitende Diskurs sowie das berühmte Motto „Software is Eating the World“ zeigen ihre Wirkung. In erster Linie geht es mir darum, ein besseres Verständnis für Software zu erlangen. Zudem möchte ich mir nicht in 20 Jahren den Vorwurf machen, die Gelegenheit verpasst zu haben, als sie sich anbot.

Obwohl ich gewöhnlich kein Mensch bin, der in ein neues Jahr mit guten Vorsätzen startet, beschloss ich zum Jahreswechsel 2015/2016, es endlich zu versuchen. Wenige Tage später begann ich mit dem Python-Anfängerkurs bei Codecademy. Die Wahl fiel auf Python, weil die Sprache sehr populär ist und vergleichsweise einfach zu erlernen sein soll. Von Codecademy hab ich viel Gutes gehört. Der kostenfreie, browserbasierte Dienst mit Sitz in New York gilt als gute Adresse für alle, die online ihre ersten Gehversuche im Programmieren machen wollen.

Der Erfolg nach 43 Prozent

Codecademy ermöglicht das Programmieren lernen im Browser. (Screenshot: Codecademy)
Codecademy ermöglicht das Programmieren lernen im Browser. (Screenshot: Codecademy)

Mittlerweile steht mein Kurs-Fortschrittsbalken bei 43 Prozent. Fünf in verschiedene Teilbereiche unterteilte Einheiten absolvierte ich bisher. Gemäß der von mir an meinem Kühlschrank befestigten Liste habe ich insgesamt 14 Mal eine Python-Session durchgeführt. Meist dauern sie zwischen 20 und 40 Minuten, wobei ich als Codecademy-Nutzer natürlich selbst entscheide, wieviele Lektionen ich auf einen Schlag erledige.

Wie lief es bisher? Bin ich noch immer motiviert oder stehe ich kurz vor dem Abbruch? Eignet sich Codecademy tatsächlich dazu, als kompletter Neuling erste Schritte des Programmierens zu lernen, oder ist das nur eim leeres Versprechen? Es folgen die Antworten.

  • Nach geschätzten sieben Stunden aktiver Auseinandersetzung mit dem Python-Kurs bin ich motivierter als zu Beginn. Das alleine rechne ich Codecademy hoch an. Der Dienst leistet erstklassige Arbeit darin, dem Nutzer frühzeitig kleine Erfolgsmomente zu präsentieren. Hier sehe ich eine Parallele zu der Fremdsprachen-App Duolingo, die eine ähnliche Philosophie verfolgt: Lernende verlieren am ehesten dann nicht die Lust, wenn sie schon nach kurzer Zeit den Eindruck bekommen, dass sie Fortschritte machen.
  • Codecademy beherrscht diesen Kniff so gut, dass ich mich während der Übungen phasenweise sogar gefragt habe, ob ich vielleicht ein verstecktes Programmier-Naturtalent sei. Mir ist die Vermessenheit eines solchen Gedankens bewusst und er verflog dann auch so schnell, wie er gekommen war.
  • Was mir an dem Kurs am meisten Freude bereitet, ist das Lösen eines scheinbar nicht lösbaren Problems. Das kennen sicher alle Software-Entwickler, ungeachtet ihres Senioritätslevels: Der geschriebene Code scheint völlig richtig zu sein, dennoch produziert das Programm eine Fehlermeldung. Man merkt, wie man immer frustrierter wird. Dann setzt man sich am nächsten Tag erneut an das Problem und urplötzlich hat man den goldenen Einfall. Die Erkenntnis, wie enorm sich eine Denk- und Programmier-Pause positiv auf das Ergebnis auswirken kann, ist so verblüffend wie lehrreich.
  • Ich nähere mich mittlerweile der „Halbzeit“ des Kurses an und merke, wie die Aufgaben nun immer herausfordernder werden. Die notwendigen Handgriffe sind nicht mehr so detailliert erläutert und mehrfach war ich gezwungen, eine Suchmaschine zu bemühen. Trotzdem versuche ich mir den Ehrgeiz zu erhalten, aus eigener Kraft die Lösung zu finden.
  • Ich habe den Eindruck, dass mir vorhandenes, rudimentäres Vorwissen zu Webtechnologien, HTML und WordPress beim Verständnis hilft. Wer ohne jede nennenswerte Web- und IT-Affinität einen Programmierkurs beginnt, hat es wahrscheinlich etwas schwerer.
  • Mit jeder Übungseinheit wächst meine Ehrfurcht vor professionellen Software-Entwicklern. Denn auch wenn die ersten Schritte recht harmlos wirken, entwickelt sich parallel eine ganz neue Ahnung von der schier unbeschreibbaren Komplexität der Software, die heute unser Leben bestimmt. Die Einsicht, dass all diese Software von Menschen erschaffen wurde, holt mich trotz aller euphorischer Erfolgsmomente auf den Boden der Tatsachen zurück.

Weiter geht's mit den zweiten 50 Prozent

Etwa 50 Prozent fehlen noch – die wohl länger dauern als die ersten 50 Prozent. (Screenshot: Codecademy)
Etwa 50 Prozent fehlen noch – die wohl länger dauern als die ersten 50 Prozent. (Screenshot: Codecademy)

Ich habe mir fest vorgenommen, den Kurs komplett abzuschließen. Allerdings ist schon absehbar, dass die zweiten 50 Prozent weitaus mehr Zeit in Anspruch nehmen werden. Ich hoffe innerlich, dass die Aufgaben nicht so kompliziert werden, dass am Ende doch meine Motivation leidet.

Allen, die ebenfalls erste Programmiererfahrung sammeln wollen, ohne eine konkrete Sprache vor Augen zu haben, kann ich den Python-Kurs nur empfehlen. Ich halte ihn für eine ausgezeichnete Maßnahme, um die verbreitete selbstkritische Annahme aus dem Weg zu räumen, dass man einfach nicht der Typ oder die Typin fürs Programmieren sei. Damit das klappt, muss man allerdings eines mitbringen: den Wille zu wachsen.

Finde einen Job, den du liebst

11 Reaktionen
Marc
Marc

Python rockt :) Die Sprache zu lernen lohnt. Es ist eben nicht nur eine Skriptsprache. Es gibt einen ganzen Kosmos an professionellen und etablierten Standard-Erweiterungen rund um Python.

Das sind zum Beispiel: Schnittstellen/Erweiterungen zu TKinter und QT. Mit diesen ist auch als Anfänger einfach GUIs zu erstellen. Mit PyIntstaller (http://www.pyinstaller.org/) lassen sich relativ einfach ausführbare Programme für unterschiedliche Betriebssysteme erstellen und mit cython (https://github.com/cython/cython) gibt es ein python-to-C Compiler. Die Erweiterung numpy macht zudem Anwendungen, die auf der Tabellenkalkulation aus Redmond beruhen, Konkurrenz.

Python-Programme gibt es in vielen Bereichen: Realtime-Anwendungen, Hochverfügbarkeitsanwendungen und Scientific Computing.

Eine kleine Übersicht: https://www.python.org/about/success/

Antworten
grep

Hallo Hans,

Hacker / Cracker nutzen Python (u. a.); Python 'zwingt' den Programmierer aufgrund seiner simplifizierten Syntax zu (vordefinierten) strukturierten 'Einrückungen' (Formatierungen) des Quellcodes - wodurch dieser gut lesbar / nachvollziehbar ist / bleibt.

Auch deshalb ist Python 'relativ' einfach zu erlernen ... !

Zeitkritische Anwendungen werden (z. B.) in C geschrieben, denn C-Code muss nicht erst zur Laufzeit interpretiert und in Maschinencode konvertiert werden - besagter Code muss zuvor vom Programmierer entsprechend kompiliert werden.

Python ist aber eine sog. Skriptsprache, Programme müssen nicht vom Programmierer zuvor kompiliert werden, sie werden vom Interpreter zur Laufzeit in Maschinencode konvertiert !

Ein Fehler im Code ist somit schnell ausfindig zu machen im - Gegensatz zu Sprachen wie C.

Sofern man nicht gerade grafisch aufwendige und zeitkritische PC-Spiele resp. Anwendungen entwickeln möchte welche nahezu in Echtzeit reagieren sollen sind Sie mit Python gut beraten.

Einfache, grafische Spiele lassen sich aber überdies auch sehr gut mit PyGame entwickeln.

(Web-)Browserspiele z. B. wiederum mit JavaScript ...; jede Sprache hat seine Vorzüge.
Lua ist beispielsweise eine sog. Glue-Language - quasi der Klebstoff der zwei Programme welche in unterschiedlichen Sprachen geschrieben worden sind miteinander kompatibel zu einem Programm verbinden kann.

Ciao, Sascha.

Antworten
Hans

Wenn ich es richtig verstehe, dann ist Python so eine Art Propädeutik zu den "richtigen" Programmiersprachen. Ich habe zwar Kenntnisse in HTML, CSS und Wordpress aber damit komme ich in Javascript nicht weit. Ich werde auch mal den Kurs bei Codeacademy ausprobieren und sehen, ob mich das irgendwie weiterbringt.

Antworten
Martin Weigert

@ Sascha und Yves
Danke für die Tipps, dann weiß ich wo ich schauen kann wenn ich mit Codecademy durch bin (falls ich es bis zu diesem Punkt schaffe :))

Die besagte Textpassage war verwirrend, sehe ich nun auch. Hab's geändert.

Antworten
grep

Hallo Jones,

scheinbar wird's so gemeint gewesen sein - trotzdem mich verwirrt(e) es.

Egal.

Ciao, Sascha.

Antworten
grep

Hallo Ruke,

diese Textpassage las ich auch und wunder(t)e mich ebenso wie Sie, machte allerdings nicht darauf aufmerksam um zu vermeiden ggf. wieder wegen nix (von irgendwem) angefeindet zu werden.

Naja, es muss sich wohl um einen Tippfehler handeln - so wortgewandt ist bestimmt kein 12-jähriger.

Ciao, Sascha.

Antworten
Ruke
Ruke

"Zudem möchte ich nicht in 20 Jahren meinem 32-jährigen Ich den Vorwurf machen, die Gelegenheit verpasst zu haben, als sie sich anbot."

Du bist 12?

Antworten
Jones
Jones

In 20 Jahren seinem 32 jährigen Ich den Vorwurf machen... Sprich er ist jetzt 32 und in 20 Jahren 52, bedeutet also das er sich mich 52 nicht ärgern möchte bzw. seinem 32 Jährigem Ich nicht den Vorwurf machen möchte dies nicht getan zu haben.

Antworten
Rene
Rene

So wird es bestimmt gemeint gewesen sein. Interpretationsspielraum ist dennoch gegeben.

Vorschlag:

Zudem möchte ich nicht in 20 Jahren meinem heutigen 32-jährigen Ich den Vorwurf machen, die Gelegenheit verpasst zu haben, als sie sich anbot.

Yves
Yves

Ich denke die jeweilige Motivation und der Erfolg hängt auch immer stark von der eigenen Person oder dem inneren Schweinehund ab. Ich persönlich habe mir angwöhnt, bereits seit Jahren, jede Woche immer zumindest 2-4 Stunden oder gar mehr, an Trainings reinzuziehen. Auch wenn ich eher in Richtung HTML, CSS, Wordpress, Javascript, PHP, Adobe (querbet alle Programme) tendiere.

Bisher kenne ich Codeacademy nur durchs antesten, kann aber aus Erfahrung behaupten, dass die anderen Dienstleister wie z.B. video2brain, lynda.com und teamtreehouse auch alle sehr gut sind aber auch jeder so seine Vor- und Nachteile hat und sein eigenes Konzept verfolgt.

Am längsten bin ich bereits bei lynda.com abonniert und sehr zufrieden, da mich die englischen Videos nicht stören und die Vielfalt groß ist. Für Wordpress und Auszeichnungssprachen ist teamtreehouse durch Mischung aus Videos, Codechallenges und Quizfragen sehr angenehm. video2brain hat tolle Programm-Trainings die immer etwas qualitativer und praxisorientierter sind als bei den Anderen (hier speziell die deutschen Videos).

Danke für den Beitrag! Codeacademy kommt auch auf meine Liste, zumal die anderen Anbieter kostenpflichtig sind und 2-3 Abo's doch monatlich ins Geld schlagen!

Antworten
grep

Hallo Martin Weigert,

in Bezug auf 'interaktiv' (in Python) programmieren lernen schauen Sie sich bitte einmal DIE (Online-)Ressource https://www.python.org an !

Außerdem empfehle ich ihnen zusätzlich ein entsprechendes (Fach-)Buch z. B. aus dem Rheinwerk Verlag (ehemals Galileo Press).

Mit dem Lernen von Programmiersprachen verhält es sich ähnlich wie mit dem Erlernen einer 'natürlichen' Sprache - aller Anfang ist leicht ... !

Zeit, Ausdauer und Motivation sind sehr wichtig ... !
Abstrakte Logiken versteht nicht jeder gleichermaßen gut.

Ciao, Sascha.

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen