Werbung
Programmierung ist schwer. Die einzigen Leute, die etwas anderes sagen, sind diejenigen, die jahrelange Programmiererfahrung haben. Es ist okay, überfordert zu sein! Da ist ein Menge zu lernen und Sie werden Dinge wahrscheinlich so schnell vergessen, wie Sie sie lernen. Vertrauen Sie mir: Das ist normal.
Aber nur weil es normal ist, heißt das nicht, dass es nicht frustrierend ist. Um ehrlich zu sein, Codieren lernen Programmieren lernen ohne StressVielleicht haben Sie sich für das Programmieren entschieden, sei es beruflich oder einfach nur als Hobby. Groß! Aber vielleicht fängst du an, dich überfordert zu fühlen. Nicht so toll. Hier ist Hilfe, um Ihre Reise zu erleichtern. Weiterlesen kann extrem stressig sein, wenn Sie nicht mit der richtigen Einstellung und Einstellung an die Sache herangehen.
Sie möchten diese neue Sprache oder Bibliothek oder dieses Framework so schnell wie möglich lernen, oder? Das ist verständlich. Glücklicherweise gibt es eine Handvoll Tipps, die Ihnen dabei helfen können, all diese umfangreichen Programmierinformationen, die immer wieder in ein Ohr fliegen und aus dem anderen heraus fliegen, besser zu behalten.
Keine Cram-Sessions mehr
Niemand will es hören, aber Pauken ist die schlechteste Art, Programmieren zu lernen. Wenn du so bist wie ich, war Pauken dein Modus Operandi alles in Schule und Universität. Nur so kannst du lernen.
Aber lerne aus meinen Fehlern: Je mehr du versuchst zu stopfen, desto weniger wirst du dir merken. Das gilt so ziemlich für jedes wissensbasierte Fach, aber insbesondere für das Programmieren.
Die Grundlage dieser Behauptung kommt aus einer Studie aus dem Jahr 2008 von der University of California, San Diego:
„Studenten schneiden besser ab, wenn sie ihre Lernsitzungen aufteilen, als wenn sie versuchen, alles in einer Sitzung in ihre Noggins zu stopfen.“
Wieso den? Höchstwahrscheinlich aufgrund der serieller Positionseffekt:
„Der Serienpositionseffekt ist die Tendenz einer Person, sich am besten an das erste und letzte Element einer Reihe und am schlechtesten an das mittlere Element zu erinnern.“
Mit anderen Worten: In jeder Lernsitzung ist es wahrscheinlicher, dass Sie die Informationen behalten, die Sie in der Nähe gelernt haben am Anfang und am Ende der Sitzung und vergisst eher die Informationen aus der Mitte des Sitzung.
Sie möchten die Anzahl der Anfänge und Enden maximieren. Deshalb ist es besser, mehrere kurze Sitzungen statt ein paar lange Sitzungen zu haben, wenn es darum geht, neues Material zu lernen und aufzunehmen.
Wenn Sie sich das nächste Mal hinsetzen, um Code zu lernen, nehmen Sie ein Thema nach dem anderen vor und machen Sie zwischen jedem Thema eine kurze Pause. (Achten Sie nur darauf, dass Ihre Pausen nicht in Aufschub geraten!)
Rezension, Rezension, Rezension
Ein weiterer Grund, warum Pauken im Gegensatz zur langfristigen Wissensspeicherung steht, liegt darin, dass das Gedächtnis mit der Zeit verblasst. Dies ist nicht immer wahr – ich bin sicher, wir alle haben ein paar Kindheitserinnerungen, die nie verschwinden werden – aber es scheint der allgemeine Fall für Erinnerungen zu sein, die nicht an Emotionen gebunden sind.
Es gibt einige Diskussionen darüber, ob das Gedächtnis selbst aufgrund der Zeit zerfällt (Zerfallstheorie) oder wird im Laufe der Zeit einfach verdrängt und durch neue Erinnerungen ersetzt (Interferenztheorie). Welcher Theorie Sie auch immer folgen, das Ergebnis ist, dass ältere Erinnerungen eher verblassen.
Hier kommt die Überprüfung ins Spiel.
Stellen Sie es sich vor, als würden Sie durch einen Wald voller Erinnerungen gehen. Jedes Mal, wenn Sie auf einen Speicher zugreifen möchten, müssen Sie Verfolgen Sie die Nervenbahn um es zu finden. Jedes Mal, wenn Sie dieser Erinnerung nachgehen, wird der Weg ein wenig mehr eingraviert – genau wie sich ein unbefestigter Weg auf natürliche Weise bildet, wenn Menschen immer wieder denselben Weg gehen. Wenn Sie aufhören, den Weg zu gehen, kann er verblassen und die Erinnerung endet irgendwo im Wald.
Abgesehen von der Pop-Psychologie ist hier die Erkenntnis: Wenn es ums Programmieren geht, reicht es nicht, ein Thema nur ein- oder zweimal zu lernen. Sie müssen es Dutzende oder sogar Hunderte Male wiederholen. Jede Rezension ätzt dieses Thema ein wenig tiefer in Ihr Gehirn.
Ich weiß, wie schwierig das sein kann, wenn Sie ein natürlicher Crammer sind, aber Sie werden überrascht sein, wie schnell Sie anfangen, Material zu behalten, wenn Sie sich bemühen, es regelmäßig zu überprüfen.
Verwenden Sie mehrere verschiedene Ressourcen
Der schwierigste Aspekt der Programmierung – zumindest für brandneue Programmierer – ist die schiere Breite an Details und Nuancen, die es zu verinnerlichen gilt. Bis diese Verinnerlichung stattfindet, werden Sie sich in einem ständigen Zustand des Kopfkratzens befinden.
Je nach Sprache müssen Sie sich Hunderte von Syntaxregeln (z. B. Schlüsselwörter, Semikolons, Leerzeichen) merken. Einige Sprachen sind strenger, andere weniger und wieder andere haben ihre eigenen einzigartigen Ansätze für die Syntax, die nirgendwo anders verwendet werden. All dies kann verwirrend sein, wenn Sie keine vorherige Programmiererfahrung haben.
Ganz zu schweigen von all den konzeptionellen Informationen, die über einzelne Sprachen hinausgehen. Themen wie objektorientierte Programmierung, Entity-Komponenten-Systeme und Beobachtermuster können Ihnen beim ersten Lernen wirklich den Kopf verdrehen.
Ich habe diese Illustration schon einmal geteilt, aber sie ist so aktuell, dass sie wiederholt werden muss:
„Angenommen, jemand zeigt Ihnen ein Foto einer Statue. Es könnte genug Bild für Sie liefern, um ein angemessenes Gefühl für die Statue zu bekommen, aber Sie würden nicht das ganze Bild erhalten. Ein herausgezoomtes Foto würde komplizierte Details verlieren, während ein gezoomtes Foto die Perspektive verlieren würde. Mit zusätzlichen Fotos, die aus anderen Blickwinkeln aufgenommen wurden, können Sie jedoch wirklich beginnen, die Fülle der Statue in Textur, Größe, Detail, von vorne nach hinten, von Seite zu Seite und oben nach unten."
Programmieren lernen kann überraschend willkürlich sein. Jeder mag Ressource A als den besten Weg zum Erlernen von Sprache X loben, aber vielleicht macht es für Sie keinen Sinn. Vielleicht hasst jeder Ressource B, aber wenn Sie einen Blick darauf werfen, macht es absolut Sinn! Was jemand anderen angeht, wird er vielleicht beim Studium der Ressourcen A und B ausscheiden, profitiert aber stark von Ressource C.
Deshalb ist es so wichtig, dass Sie bereit sind, alle Arten von Ressourcen zu verbrauchen. Jeder lernt anders. Wenn Sie Probleme mit einem bestimmten Thema haben, suchen Sie nach einer anderen Ressource. Vielleicht ist das für dich besser geeignet. Vielleicht nicht.
Auch wenn Sie glauben, bestimmte Themen zu verstehen, gibt es möglicherweise noch mehr darüber zu erfahren. Es ist auch möglich, dass die Erklärung einer anderen Person das Konzept für immer festigt. Man weiß nie, warum also nicht so viele Ressourcen wie möglich verbrauchen?
Beachten Sie, dass Spiele eine äußerst nützliche Ressource sein können! Schau dir diese an lustige und lehrreiche Programmierspiele Die 9 besten Programmierspiele zum Aufbau Ihrer ProgrammierfähigkeitenProgrammierspiele helfen Ihnen, durch praktische Übung und Erfahrung schneller zu lernen. Außerdem sind sie eine unterhaltsame Möglichkeit, Ihre Programmierfähigkeiten zu testen! Weiterlesen .
Lehren Sie Konzepte, während Sie sie lernen
Es gibt ein schönes Konzept in der Programmierung namens Gummiente debuggen Die seltsamsten Programmierprinzipien, von denen Sie noch nie gehört habenDie folgenden Prinzipien werden Ihnen beibringen, mit Ihrem Code weise umzugehen. Einige sind seltsam und viele sind humorvoll, aber sie sind alle gleichermaßen praktisch und wichtig. Pass auf! Weiterlesen , die die Technik beschreibt, einer leblosen Quietscheente den eigenen Code Zeile für Zeile zu erklären. Es wird verwendet, wenn ein bestimmtes Codesegment beschädigt ist, aber es gibt keinen offensichtlichen Grund dafür.
Seltsamerweise haben die meisten Programmierer ein "Heureka!" Moment in der Mitte der Codeerklärung, da sie plötzlich sehen, wo der Fehler in der Codierungslogik auftritt. Die Verbalisierung löst einen anderen Bereich des Gehirns aus und zwingt Sie, das Problem aus einem neuen Blickwinkel zu sehen.
Dieses Konzept kann auch verwendet werden, um Ihnen beim Erlernen neuer Materialien zu helfen. Vielleicht sind Sie auf dieses beliebte Zitat gestoßen, das oft Albert Einstein zugeschrieben wird:
„Wenn man es nicht einfach erklären kann, versteht man es nicht gut genug.“
Mit Ausnahme einiger Gebiete, die sich mit fortgeschrittenem theoretischem Wissen befassen, gilt dieses Sprichwort. Je besser Sie ein Thema verstehen, desto besser sind Sie in der Lage, es so zu erklären, dass auch jemand, der keine Kenntnisse zu diesem Thema hat, es verstehen kann.
Das Gegenteil davon ist auch wahr. Wenn Sie versuchen, ein Thema zu unterrichten, werden Sie auf bestimmte Konzepte stoßen, die Sie anscheinend nicht klar erklären können. Dies ist nicht nur eine großartige Möglichkeit, Schwachstellen in Ihrem Wissen zu diagnostizieren, sondern der eigentliche Prozess, die richtige Erklärung zu finden, kann dazu beitragen, das Konzept in Ihrem Kopf zu festigen.
Es wird Learning-by-Teaching genannt und ist im Grunde eine Variante des Rubber Duck-Debuggings.
Nun, ich sage nicht, dass du es tun solltest Genau genommen andere unterrichten; Versuchen Sie stattdessen, jedes neue Programmierthema, das Sie lernen, einer Gummiente (oder einem unsichtbaren Freund) beizubringen. Es mag sich zunächst albern anfühlen, aber Sie können es unglaublich fruchtbar finden, wenn es um die Gedächtnisleistung geht.
Bewusstes Üben macht den Meister
Der Begriff Talent ist völliger Quatsch. Niemand verlässt den Mutterleib als Weltklasse-Geiger, Wrestler oder Programmierer. Sicher, manche Leute neigen eher zu bestimmten Disziplinen, aber Talent ohne Erfahrung ist nutzlos Lassen Sie Ihre verborgenen Talente nicht sterben: 7 Wege, um sie wiederzufindenDie schlechte Nachricht ist, dass Sie hart arbeiten müssen, um Ihre verborgenen Talente zu verbessern. Die gute Nachricht ist, dass es mehr Möglichkeiten denn je gibt, seine Talente zum Strahlen zu bringen. Weiterlesen . Ebenso ist harte Arbeit immer wertvoller als Talent.
Davon abgesehen, Nicht alle Formen harter Arbeit sind gleich. Malcolm Gladwell hat die berüchtigte 10.000-Stunden-Regel geprägt, die besagt, dass man mindestens 10.000 Stunden in ein Fach investieren muss, um ein Meister darin zu werden. Obwohl das Gefühl wahr sein mag, interpretieren viele Leute falsch, was er zu sagen versuchte.
Lange Rede, kurzer Sinn, ein Engagement von 10.000 Stunden garantiert nicht wirklich die Beherrschung. Sie kennen das Sprichwort: „Übung macht nicht den Meister. Perfekte Übung macht den Meister.“ Damit es sinnvoll ist, Übung muss beabsichtigt sein Möchten Sie Experte für etwas werden? Versuchen Sie es mit bewusster PraxisEs ist allzu leicht, sich niedergeschlagen zu fühlen, wenn Sie mühsam versuchen, eine bestimmte Fähigkeit zu verbessern. Nutze die Kraft der "absichtlichen Übung", um dich über diese ärgerlichen Plateaus zu bringen. Weiterlesen . Meisterschaft kann nur durch 10.000 Stunden bewusster Übung erreicht werden.
Wie Sie üben, ist weitaus wichtiger als die Zeit, die Sie mit dem Üben verbringen.
Lesen ist passiv. Das Ansehen von YouTube-Lektionen ist passiv. Podcasts zu hören ist passiv. Als Programmier-Neuling könnten Sie versucht sein, von Tutorial zu Tutorial zu flattern und ein Thema nach dem anderen anzugehen, ohne dieses Wissen tatsächlich praktisch anzuwenden. Widerstehen Sie dieser Versuchung.
Es ist eine Sache, ein Beispiel vor Ihnen zu verstehen, aber eine andere, eine Lösung von Grund auf zu synthetisieren. Wenn Sie den Lernprozess beschleunigen möchten, müssen Sie bereit sein, aktiv statt passiv zu sein. Am Ende zählt nur aktives Üben.
Experimentieren Sie mit persönlichen Projekten
Für mich waren die Hausaufgaben der schlimmste Teil der Schule. Es schien nur ein ausgeklügelter Trick zu sein, um Spaß zu machen und die Schüler zu beschäftigen – was, um fair zu sein, manchmal wahr war. Aber jetzt, wo ich zurückblicke, macht die Bedeutung der Hausaufgaben endlich Sinn. Es zwang mich, neu erworbenes Wissen aktiv anzuwenden.
Wenn Sie eingeschrieben sind Programmierkurse und Kurse Die 11 besten Websites für kostenlose Online-ComputerprogrammierungskurseMit diesen kostenlosen Online-Programmierkursen können Sie ohne Informatikabschluss ein großartiger Programmierer werden. Weiterlesen , unterschätze nicht die Wirksamkeit von Hausaufgaben. Nimm es ernst und betrachte es immer als Chance, das Gelernte weiter im Langzeitgedächtnis zu festigen.
Aber oft reichen Hausaufgaben immer noch nicht aus. (Und wenn Sie selbst lernen, wie man ohne einen echten Lehrer programmiert, haben Sie wahrscheinlich zunächst keine Hausaufgaben.)
Was ist die Lösung? Erstellen Sie ein paar Wegwerf-Nebenprojekte!
Denken Sie an a ein paar Projektideen 5 Projektideen, die Ihnen helfen, schneller Programmieren zu lernenEs gibt einige Möglichkeiten, die Lernkurve für die Programmierung zu erleichtern. Machen Sie sich die Hände schmutzig und lernen Sie schneller mit Nebenprojekten, die Sie jederzeit starten können. Spielen Sie mit diesen fünf herum. Weiterlesen die Sie umsetzen möchten. Für absolute Neulinge könnten Sie eine Partie Tic-Tac-Toe oder Hangman in Betracht ziehen. Erfahrene Programmierer, die versuchen, ein neues Framework zu erlernen, versuchen, eine einfache mobile App oder ein Webspiel zu programmieren. Solange es Sie persönlich interessiert, machen Sie es!
Die Schönheit dieses Ansatzes ist zweifach.
Erstens ist es wahrscheinlicher, dass Sie Ihre Aufmerksamkeit auf sich ziehen. Studien haben gezeigt, dass Studierende besser lernen, wenn sie Themen nachgehen können, die sie interessieren. Genau das bietet ein persönliches Projekt. Sie haben ein Endziel, das Sie tatsächlich erreichen möchten, daher ist es wahrscheinlicher, dass Sie die Informationen behalten, die Sie dorthin führen.
Zweitens gibt es keinen Erfolgsdruck. Erfolg wäre schön, aber der Mangel an Formalität ermöglicht es Ihnen, experimentell und kreativ zu sein. Sie werden unweigerlich auf Probleme stoßen, aber es ist eher ein Spiel mit Lego als eine Hausaufgabe. Es macht mehr Spaß und ist nicht so stressig.
Entspannen Sie sich und setzen Sie ein Lesezeichen für alles
Die Wahrheit ist, dass sich kein Programmierer daran erinnert alles sie haben gelernt. Selbst nachdem Sie eine Weile mit einer bestimmten Bibliothek oder einem bestimmten Framework gearbeitet haben, ist es nicht ungewöhnlich, dass Sie sich nicht jede Funktion oder Variable auf den Kopf stellen können.
Tatsächlich kann der Versuch, sich alles auswendig zu lernen, zu einer enormen Zeit- und Arbeitsverschwendung werden. Referenzblätter gibt es nicht ohne Grund. Warum sollte man sich eine ganze Enzyklopädie merken, wenn man sie bei Bedarf einfach aufklappen kann?
Wann also auswendig lernen und wann nachschlagen?
Wenn es um konzeptionelles Material geht, verinnerlichen Sie es immer nach bestem Wissen und Gewissen. Damit meine ich, die Theorie zu verstehen, auch wenn Sie sie nicht in tatsächlichen Code umwandeln können (und die Theorie sollte Ihnen klar genug sein, damit Sie sie klar lehren können).
Für alles andere — wie bestimmte Funktionsnamen, Parameterlisten oder sogar Sprachschwierigkeiten — Ich würde mir keine Sorgen machen, mich ins Gedächtnis zu stecken. Zögern Sie nicht, auf ein Referenzblatt zu verweisen. Manchmal werden Sie so oft auf etwas verweisen, dass Sie es sich am Ende merken. Wenn das passiert, gut. Wenn nicht, ist das auch in Ordnung.
Persönlich habe ich Hunderte von Internet-Lesezeichen zu verschiedenen APIs, Anleitungen und Tutorials. Wenn ich eine Art Pfadfindungsalgorithmus implementieren muss, kann ich auf eine Anleitung verweisen, die mir hilft, ihn zu codieren, bevor ich ihn wieder vergesse. Es hilft, die zugrunde liegenden Konzepte zu verstehen, aber ich versuche, mich nicht über Implementierungsdetails zu ärgern.
Abschließende Gedanken
Ich werde es eine Million Mal wiederholen, wenn es sein muss: Programmieren ist schwer und es ist in Ordnung, wenn Sie damit kämpfen. Ich programmiere seit über einem Jahrzehnt als Hobby und finde mich immer noch eingeschüchtert, wenn ich neue Konzepte lernen muss.
Mach dich nicht fertig, wenn du dich nicht sofort an alles erinnern kannst. Die oben genannten Tipps werden sich hoffentlich als hilfreich erweisen, und selbst wenn dies nicht der Fall ist, können Sie sich immer auf Referenzen mit Lesezeichen als letzten Ausweg verlassen.
Fällt Ihnen das Programmieren schwer? Welche Tricks und Tipps kennen Sie, die für Programmieranfänger hilfreich sein könnten? Teile deine Weisheit mit uns in den Kommentaren unten!
Bildnachweis: Binärprogrammierer über Shutterstock, Speicherlöscher über Shutterstock, Verschleierter Code über Shutterstock, Gummiente über Shutterstock, Tastaturschreibkraft über Shutterstock, PHP-Quellcode über Shutterstock, Dateiordner über Shutterstock
Joel Lee hat einen B.S. in Informatik und über sechs Jahre professionelle Schreiberfahrung. Er ist der Chefredakteur von MakeUseOf.