Ursprüngliche Frage
Ich bin gerade damit beschäftigt, meinem Bruder das Programmieren beizubringen. Er ist ein absoluter Anfänger, aber sehr klug. (Und er will eigentlich lernen). Ich habe festgestellt, dass einige unserer Sitzungen in kleinen Details festgefahren sind, und ich fühle mich nicht sehr gut organisiert. ( Aber die Antworten auf diesen Beitrag haben sehr geholfen. )
Was kann ich besser tun, um ihn effektiv zu unterrichten? Gibt es eine logische Reihenfolge, in der ich Konzept für Konzept durchlaufen kann? Gibt es Komplexitäten, die ich bis später vermeiden sollte?
Die Sprache, mit der wir arbeiten, ist Python , aber Ratschläge in jeder Sprache sind willkommen.
Wie man hilft
Wenn Sie gute haben, fügen Sie bitte Folgendes in Ihre Antwort ein:
- Anfängerübungen und Projektideen
- Ressourcen für den Unterricht von Anfängern
- Screencasts / Blogposts / kostenlose E-Books
- Drucken Sie Bücher, die gut für Anfänger sind
Bitte beschreiben Sie die Ressource mit einem Link dazu, damit ich einen Blick darauf werfen kann. Ich möchte, dass jeder weiß, dass ich definitiv einige dieser Ideen verwendet habe. Ihre Beiträge werden in diesem Beitrag zusammengefasst.
Online-Ressourcen für Anfänger:
- Eine sanfte Einführung in die Programmierung mit Python
- Wie man wie ein Informatiker denkt
- Alice: ein 3D-Programm für Anfänger
- Scratch (Ein System zur Entwicklung von Programmierkenntnissen)
- So entwerfen Sie Programme
- Struktur und Interpretation von Computerprogrammen
- Programmieren lernen
- Robert Reads Wie man ein Programmierer ist
- Microsoft XNA
- Laichen der nächsten Generation von Hackern
- COMP1917 Higher Computing- Vorträge von Richard Buckland (erfordert iTunes)
- Tauchen Sie ein in Python
- Python Wikibook
- Projekt Euler - Beispielprobleme (meist mathematisch)
- pygame - eine einfache Python-Bibliothek zum Erstellen von Spielen
- Erfinde deine eigenen Computerspiele mit Python
- Grundlagen der Programmierung für einen nächsten Schritt über die Grundlagen hinaus.
- Mit gutem Beispiel quietschen
- Snake Wrangling For Kids (Nicht nur für Kinder!)
Empfohlene Druckbücher für Anfänger
quelle
Antworten:
Ich musste mit mehreren Programmierern für Anfänger zusammenarbeiten (ich habe nie eine Codezeile geschrieben), und ich werde diesen Herbst einen Workshop nach der Schule mit Schülern machen. Dies ist das, was ich der Dokumentation am nächsten komme. Es ist noch in Arbeit, aber ich hoffe, es hilft.
1) FizzBuzz. Beginnen Sie mit Befehlszeilenprogrammen. Sie können sehr schnell einige lustige Spiele oder Tools schreiben und alle Sprachfunktionen sehr schnell erlernen, ohne zuerst die GUI-Tools erlernen zu müssen. Diese frühen Apps sollten so einfach sein, dass Sie keine echten Debugging-Tools verwenden müssen, damit sie funktionieren.
Wenn nichts anderes Dinge wie FizzBuzz sind gute Projekte. Ihre ersten Apps sollten sich nicht mit DBs, Dateisystemen, Konfigurationen usw. befassen müssen. Dies sind Konzepte, die die meisten Menschen nur verwirren, und wenn Sie nur die Syntax und die grundlegenden Framework-Funktionen lernen, brauchen Sie wirklich keine größere Komplexität.
Einige Projekte:
2) Einfaches Projekt Sobald sie die Sprachfunktionen gut verstanden haben, können Sie ein Projekt starten (einfache, unterhaltsame Spiele funktionieren gut.). Sie sollten versuchen, dass das erste Projekt innerhalb von 6-12 Stunden abgeschlossen werden kann. Nehmen Sie sich keine Zeit, um es früh zu entwerfen. Lassen Sie sie es entwerfen, auch wenn es scheiße ist. Wenn es auseinander fällt, sprechen Sie darüber, was passiert ist und warum es fehlgeschlagen ist, wählen Sie ein anderes Thema aus und beginnen Sie erneut.
Hier beginnen Sie mit der Einführung der Debugging-Funktionen Ihrer Tools. Selbst wenn Sie das Problem durch Lesen des Codes erkennen können, sollten Sie ihnen den Umgang mit den Tools beibringen und ihnen dann zeigen, wie Sie es sehen können. Dies dient dem doppelten Zweck, die Debugging-Tools zu lehren und Fehler ohne Tools zu identifizieren.
Sobald oder wenn das Projekt funktionsfähig ist, können Sie damit Refactoring-Tools einführen. Es ist gut, wenn Sie das Projekt dann mit einigen einfachen Funktionen erweitern können, die Sie nie geplant haben. Dies bedeutet normalerweise Refactoring und erhebliches Debugging, da nur sehr wenige Leute beim ersten Mal auch nur halbwegs anständigen Code schreiben.
Einige Projekte:
3) Reales Projekt Starten Sie ein reales Projekt, das einige Zeit dauern kann. Verwenden Sie die richtige Quellcodeverwaltung und legen Sie Wert darauf, einen Zeitplan zu erstellen. Führen Sie dieses Projekt wie ein echtes Projekt aus, wenn nichts anderes die gute Erfahrung ist, mit den Tools umzugehen.
Natürlich müssen Sie dies für jede Person anpassen. Das Wichtigste, was ich gefunden habe, ist, dass selbst die ersten einfachen Apps auf das angewendet werden, woran die Person interessiert ist.
Einige Projekte:
quelle
Sie könnten versuchen, Alice zu verwenden . Es ist ein 3D-Programm, das für die Verwendung in einführenden Programmierklassen entwickelt wurde.
Die zwei größten Hindernisse für neue Programmierer sind oft:
Alice verwendet eine Drag & Drop-Oberfläche zum Erstellen von Programmen, um die Möglichkeit von Syntaxfehlern zu vermeiden. Mit Alice können Sie 3D-Welten erstellen und (einfache) 3D-Zeichen und -Animationen mit Code steuern. Dies ist normalerweise viel interessanter als das Implementieren verknüpfter Listen.
Erfahrene Programmierer mögen Alice als Spielzeug betrachten und sich über das Ziehen und Ablegen von Codezeilen lustig machen, aber Untersuchungen zeigen, dass dieser Ansatz funktioniert.
Haftungsausschluss: Ich habe an Alice gearbeitet.
quelle
Ich empfehle Logo (auch bekannt als die Schildkröte), um die Grundkonzepte zu verstehen. Es bietet eine gute Sandbox mit sofortiger grafischer Rückmeldung, und Sie können Schleifen, Variablen, Funktionen, Bedingungen usw. demostrieren. Diese Seite bietet ein hervorragendes Tutorial.
Wechseln Sie nach dem Logo zu Python oder Ruby. Ich empfehle Python, da es auf ABC basiert, das zum Unterrichten des Programmierens erfunden wurde.
Wenn ich Programmieren unterrichte, muss ich EHaskins Vorschlag von einfachen Projekten und dann komplexen Projekten folgen. Der beste Weg zu lernen ist, mit einem bestimmten Ergebnis und einem messbaren Meilenstein zu beginnen. Es hält den Unterricht fokussiert, ermöglicht es dem Schüler, Fähigkeiten aufzubauen und dann auf diesen Fähigkeiten aufzubauen, und gibt dem Schüler etwas, das er Freunden zeigen kann. Unterschätzen Sie nicht die Macht, etwas für die eigene Arbeit zu zeigen.
Theoretisch können Sie bei Python bleiben, da Python fast alles kann. Es ist ein gutes Mittel, um objektorientierte Programmierung und (die meisten) Algorithmen zu lehren. Sie können Python im interaktiven Modus wie eine Befehlszeile ausführen, um ein Gefühl dafür zu bekommen, wie es funktioniert, oder ganze Skripte gleichzeitig ausführen. Sie können Ihre Skripte im laufenden Betrieb interpretieren oder in Binärdateien kompilieren. Es gibt Tausende von Modulen, um die Funktionalität zu erweitern. Sie können einen grafischen Taschenrechner wie den im Lieferumfang von Windows enthaltenen erstellen oder einen IRC-Client oder etwas anderes erstellen.
XKCD beschreibt Pythons Leistung etwas besser:
Sie können danach zu C # oder Java wechseln, obwohl sie nicht viel bieten, was Python noch nicht hat. Der Vorteil davon ist, dass sie eine C-Syntax verwenden, die viele (wage ich am meisten zu sagen?) Sprachen verwenden. Sie müssen sich noch nicht um die Speicherverwaltung kümmern, aber Sie können sich daran gewöhnen, dass der Sprachinterpreter ein bisschen mehr Freiheit und weniger Handgriff hat. Python erzwingt Leerzeichen und Einrückungen, was die meiste Zeit nett ist, aber nicht immer. Mit C # und Java können Sie Ihr eigenes Leerzeichen verwalten und dabei stark typisiert bleiben.
Von dort ist der Standard C oder C ++. Die Freiheit in diesen Sprachen ist fast existenziell. Sie sind jetzt für Ihre eigene Speicherverwaltung verantwortlich. Es gibt keine Speicherbereinigung, die Ihnen helfen könnte. Hier lernen Sie die wirklich fortgeschrittenen Algorithmen (wie Mergesort und Quicksort). Hier erfahren Sie, warum "Segmentierungsfehler" ein Schimpfwort ist. Hier laden Sie den Quellcode des Linux-Kernels herunter und blicken in den Abyss. Schreiben Sie zunächst einen Ringpuffer und einen Stapel für die Zeichenfolgenmanipulation. Dann arbeite dich hoch.
quelle
Ein guter Python-Kurs ist MITs Eine sanfte Einführung in die Programmierung mit Python . Es ist alles kostenlos online und Sie müssen kein MIT-Student sein, um es zu verstehen.
quelle
Python-Paket VPython - 3D-Programmierung für gewöhnliche Sterbliche ( Video-Tutorial ).
Codebeispiel:
VPython Bouncing Ball http://vpython.org/bounce.gif
quelle
Beginnen Sie mit Turtle-Grafiken in Python.
Ich würde die Turtle-Grafik verwenden, die standardmäßig mit Python geliefert wird. Es ist visuell, einfach und Sie können diese Umgebung verwenden, um viele Programmierkonzepte wie Iterations- und Prozeduraufrufe einzuführen, bevor Sie zu weit in die Syntax einsteigen. Betrachten Sie die folgende interaktive Sitzung in Python:
Beim Versuch, die letzten beiden Aufgaben zu erfüllen, werden sie viele fehlgeschlagene Versuche haben, aber die Fehler werden visuell interessant sein und sie werden schnell lernen, wenn sie versuchen herauszufinden, warum sie nicht das gezeichnet haben, was sie erwartet hatten.
quelle
Der Schlüssel ist, dass die betreffende Person ein Problem haben muss, das sie lösen möchte. Wenn Sie kein Programm haben, das Sie schreiben möchten (und etwas Vernünftiges und Definiertes, nicht "Ich möchte das nächste Beben schreiben!"), Können Sie das Programmieren nicht lernen, weil Sie nichts haben, was Sie motivieren könnte . Ich meine, Sie könnten ein Buch lesen und die Syntax und Semantik einer Sprache grob verstehen, aber bis Sie ein Programm haben, das Sie schreiben möchten, werden Sie nie die Brennnessel verstehen .
Wenn dieser Anstoß existiert, sind alles andere nur kleine Details.
quelle
Ich weiß nicht , ob jemand diese hier erwähnt hat, noch nicht, aber Sie können prüfen wollen , Zed Shaw ‚s Lernen Python the Hard Way
Hoffe das hilft
quelle
http://tryruby.hobix.com/"> Versuchen Sie Ruby (in Ihrem Browser)
quelle
So entwerfen Sie Programme
Struktur und Interpretation von Computerprogrammen . Videovorträge unter http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/
quelle
Dies ist ein fantastisches Buch, das meine kleinen Brüder gelernt haben:
http://pine.fm/LearnToProgram/
Das Wichtigste ist natürlich, SOFORT nach Abschluss des Buches mit einem echten, nützlichen Programm zu beginnen.
quelle
Wenn er interessiert ist, sind die kleinen Details nicht die guten Teile? Mit Python haben Sie die Benutzeroberfläche bereits abgeschnitten, sodass die Verwirrung beseitigt ist. Warum nicht ein Projekt, ein Spiel oder etwas auswählen und umsetzen? Das klassische Hi-Lo-Zahlen-Ratespiel kann einfach über die Befehlszeile in 20 bis 30 Codezeilen (je nach Sprache natürlich) implementiert werden und bietet Ihnen Variablen, Bedingungen, Schleifen und Benutzereingaben.
quelle
Ich würde ihn einfach Tonnen von Code schreiben lassen. Lassen Sie ihn alles einfahren, was Sie tun, und stehen Sie einfach zur Verfügung, um Fragen zu beantworten.
Ob Sie es glauben oder nicht, nach ein paar Monaten, in denen er tonnenweise beschissenen Code geschrieben hat, wird er auf die Idee kommen und bessere Programme schreiben. An diesem Punkt können Sie sich in Details (Speicher usw.) festsetzen und auch über allgemeine Entwurfsprinzipien sprechen.
Ich habe gehört, dass das, was die großen Künstler von den mittelmäßigen unterscheidet, ist, dass sie jedes Mal, wenn sie üben, etwas verbessern, egal wie klein es ist. Lassen Sie Ihren Bruder üben, und er wird sich jedes Mal verbessern, wenn er sich an die Tastatur setzt.
quelle
Beginnen Sie zunächst wie alle anderen: mit einem Hello World- Programm. Es ist einfach und vermittelt ihnen ein grundlegendes Gefühl für das Layout eines Programms. Denken Sie daran, wann Sie das erste Mal programmiert haben und wie schwierig einige der Konzepte waren - fangen Sie einfach an.
Fahren Sie nach Hello World mit dem Erstellen einiger grundlegender Variablen, der Arithmetik, und dann mit der booleschen Logik und den if / else-Anweisungen fort. Wenn Sie eines Ihrer alten Programmierlehrbücher haben, schauen Sie sich einige der frühen Beispiele an und lassen Sie ihn diese durchgehen. Versuchen Sie einfach nicht, zu viel auf einmal einzuführen, sonst wird es überwältigend und verwirrend.
quelle
Etwas, worauf Sie achten sollten, wenn Sie Ihrem Bruder das Programmieren beibringen, ist, dass er sich nicht zu stark auf Sie verlässt. Wenn ich anderen helfe, werden sie mich oft als Antwortbuch für all ihre Fragen betrachten und anstatt zu experimentieren, um eine Antwort zu finden, fragen sie mich einfach. Oft ist das Experimentieren der beste Lehrer, und jedes Mal, wenn Ihr Bruder eine Frage wie "Was passiert, wenn ich einer Zeichenfolge 2 hinzufüge?" Sie sollten ihm sagen, er soll es ausprobieren und selbst sehen. Ich habe auch festgestellt, dass es hilfreich ist, einen Beispielcode zu sehen, in dem wir jedes Segment einzeln betrachten und es Stück für Stück erklären können, wenn ich ein Konzept nicht an jemanden weitergeben kann. Nebenbei bemerkt, Programmierneulinge haben oft Probleme mit der Idee der objektorientierten Programmierung.
quelle
Ich habe früher Programmieren unterrichtet und dein Bruder hat einen Hauptvorteil gegenüber den meisten meiner Schüler, die er lernen möchte :)
Wenn Sie sich für C entscheiden, hat ein Freund eine Website mit Programmen, an die sich ältere Generationen als grundlegende Typ-Ins erinnern. Die komplexeren von ihnen verwenden Flüche, die ihre Verwendung als Lehrmittel etwas negieren, aber einige von ihnen sind winzige Kleinigkeiten, und Sie können viel lernen, ohne es zu lernen.
Persönlich denke ich, dass Python und Ruby großartige Muttersprachen wären.
BEARBEITEN: Die Liste der Programmieraufgaben für Anfänger, die über Nacht angezeigt wurden, ist möglicherweise genau das, wonach Sie suchen.
quelle
Es hängt wirklich vom Lernstil Ihres Bruders ab. Viele Menschen lernen schneller, indem sie sich die Hände schmutzig machen und sich darauf einlassen, die Konzepte und das Gesamtbild kristallisieren, während sie Fortschritte machen und ihr Wissen aufbauen.
Ich ziehe es vor, mit dem Gesamtbild zu beginnen und einen Drilldown in das Wesentliche durchzuführen. Das erste, was ich wissen wollte, war, wie alles zusammenpasst, dann all das objektorientierte Gobbledy-Buch, dann über Klassen und Instanzen und so weiter. Ich mag es, die zugrunde liegenden Konzepte und ein bisschen Theorie zu kennen, bevor ich die Syntax lerne. Ich hatte einen kleinen Vorteil, weil ich vor 20 Jahren einige Spiele in BASIC geschrieben habe, aber seitdem nicht mehr viel.
Vielleicht ist es nützlich, einen Produktionsprozess zu beschatten, indem Sie mit einem allgemeinen Leitbild, einem Plan und / oder einem Flussdiagramm beginnen und dann einen Pseudocode (der sich an die Syntax anlehnt, die Sie letztendlich verwenden werden) ausarbeiten, bevor Sie den Code tatsächlich schreiben.
Die goldene Regel hier ist, den Neigungsstil Ihres Schülers herauszufinden.
quelle
Wenn Ihr Bruder Zugang zu iTunes hat, kann er Videovorträge eines Einführungskurses in die Informatik herunterladen, den Richard Buckland an der Universität von New South Wales gehalten hat. Er ist ein engagierter Ausbilder und behandelt die Grundlagen des Rechnens und der C-Sprache. Wenn nichts anderes, sagen Sie Ihrem Bruder, er soll die Videos im Hintergrund spielen, und einige Konzepte könnten durch Osmose entstehen. :) :)
COMP1917 Higher Computing - 2008 Sitzung 1 http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444
Wenn der Link nicht funktioniert, ist hier ein Pfad:
Startseite -> iTunes U -> Engineering -> COMP1917 Higher Computing - 2008 Sitzung 1
quelle
Es gibt ein Wikibook, das ziemlich gut zum Erlernen von Python geeignet ist .
Ich weiß nicht, wie die Wikibooks für andere Sprachen sind, aber ich persönlich habe Python aus dem Wikibook gelernt, wie es im Februar 2007 war
ps - Wenn Sie mit Wikibooks nicht vertraut sind , handelt es sich im Grunde genommen um die Wikipedia-Version von Book Authoring. Es ist schwer zu beschreiben, aber wenn Sie sich einige der Bücher dort ansehen, werden Sie sehen, wie es funktioniert
quelle
Python-Programmierung für den absoluten Anfänger
Python-Programmierung für das absolute Anfänger-Cover http://safari.oreilly.com/images/1592000738/1592000738_xs.jpg
quelle
Ich denke, Python ist eine großartige Idee. Ich würde ihm ein paar grundlegende Aufgaben geben, die er selbst erledigen muss, und ihm sagen, dass alle Sackgassen, die er trifft, wahrscheinlich durch eine Reise zu Google gelöst werden können. Zumindest für mich war es immer besser, ein Problem alleine zu lösen, als wenn mir jemand die Lösung sagte.
Einige mögliche Projekte (in keiner bestimmten Reihenfolge):
Münzwurfsimulator. Lassen Sie den Benutzer eine gewünschte Anzahl von Versuchen für das Umwerfen der Münze eingeben. Führen Sie es aus und zeigen Sie die Ergebnisse zusammen mit dem Prozentsatz für Kopf oder Zahl an.
Erstellen Sie einen Temperaturkonverter mit einem Menü, das Benutzereingaben verwendet, um auszuwählen, welche Art von Konvertierung der Benutzer durchführen möchte. Nachdem Sie die Konvertierung ausgewählt und durchgeführt haben, sollte sie zum Hauptmenü zurückkehren.
Hier ist ein Beispiel für einen erweiterten Konverter mit derselben Idee: http://pastebin.org/6541
Erstellen Sie ein Programm, das eine numerische Eingabe verwendet und die Buchstabenklasse anzeigt, in die es übersetzt werden soll. Am Ende wird die Eingabe anhand von if- und elif-Anweisungen bewertet, um herauszufinden, wo sie passt.
Machen Sie ein einfaches Quiz, das mehrere Multiple-Choice-Fragen durchläuft, oder füllen Sie die leeren Fragen aus. Am Ende wird angezeigt, wie der Benutzer es getan hat. Er kann alle Fragen auswählen, die er will.
Nehmen Sie eine Eingabe von einer (vermutlich großen) Anzahl von Pennys und wandeln Sie sie in größere Stückelungen um. Zum Beispiel 149 Pennies = 1 Dollar, 1 Viertel, 2 Groschen und 4 Pennys.
Erstellen Sie einen einfachen Listenmanager. Sie können Listen hinzufügen / löschen und Einträge in diesen Listen hinzufügen / löschen. Hier ist ein Beispiel für einen Weihnachtslisten-Manager: http://pastebin.org/6543
Erstellen Sie ein Programm, das erstellt wird, und testen Sie dann, ob eingegebene Zahlen ein magisches Quadrat bilden (mit einem 2D-Array). Hier ist ein Beispielcode, der jedoch bei jedem Schritt das Quadrat ausdrucken sollte, um zu zeigen, wo sich der Benutzer in Bezug auf das Buliden des Quadrats befindet: http://pastebin.org/6544
Ich würde auch vorschlagen, ein paar Sachen mit xTurtle oder einem anderen Grafikmodul zu machen, um die Dinge durcheinander zu bringen und ihn davon abzuhalten, langweilig zu werden. Natürlich ist dies sehr viel Übungsprogrammierung und nicht das Scripting, für das viele Leute wirklich Python verwenden würden, aber die Beispiele, die ich gegeben habe, stammen ziemlich direkt aus der Zeit, als ich über Python gelernt habe, und es hat für mich großartig funktioniert. Viel Glück!
quelle
Mach es einfach Spaß!
Erstaunlicherweise ist Scala vielleicht die einfachste, wenn Sie Kojo ausprobieren
quelle
Wenn dein Bruder Rätsel mag, würde ich Python Challenge empfehlen . Ich würde es nicht als formales Lehrmittel in einem 1-zu-1-Tutorial verwenden, aber es ist etwas, was er tun kann, wenn Sie nicht zusammen sind, um sich selbst herauszufordern und Spaß zu haben.
quelle
Python-Herausforderung
quelle
Nachdem ich ein paar kostenlose E-Books durchgesehen hatte, fand ich, dass das beste Buch zum Erlernen des Programmierens Head First Programming war, das von O'Reily Press veröffentlicht wurde. Es verwendet Python als Sprache und bietet Ihnen Programme, an denen Sie von Anfang an arbeiten können. Sie sind alle interessanter als 'Hello World'. Es ist das Geld wert, das ich dafür ausgegeben habe, und da es schon eine Weile nicht mehr verfügbar ist, können Sie möglicherweise ein günstigeres gebrauchtes Exemplar bei Ebay oder Amazon finden.
quelle
Wenn Sie die Grundlagen des Programmierens vermitteln möchten, ohne sprachspezifisch zu sein, gibt es eine Anwendung namens Scratch , die im MIT erstellt wurde. Es soll Menschen dabei helfen, Programmierkenntnisse zu entwickeln. Wenn Benutzer Scratch-Projekte erstellen, lernen sie, Bedingungen, Schleifen usw. zu erstellen. Es gibt auch eine Community von Scratch-Projekten, aus denen Projekte heruntergeladen werden können. Auf diese Weise können Sie die Programme anderer Benutzer erkunden und sehen, wie sie erstellt wurden.
quelle
Ich denke, sobald er die Grundlagen (Variablen, Schleifen usw.) hat, sollten Sie versuchen, ihm zu helfen, etwas Bestimmtes zu finden, an dem er interessiert ist, und ihm dabei helfen, die Notwendigkeiten zu lernen, um dies zu erreichen. Ich weiß, dass ich viel eher geneigt und motiviert bin, etwas zu tun, wenn es mich interessiert. Stellen Sie außerdem sicher, dass er sich trotz einiger der schwierigeren Probleme abmüht. Nichts ist befriedigender als der Moment, in dem Sie es selbst herausfinden.
quelle
Ich lernte, wie man Probleme sprachunabhängig mit Flussdiagrammen und PDL (Program Design Language) löst . Nach ein paar Wochen lernte ich, die PDL, die ich geschrieben hatte, in eine Sprache umzuwandeln. Ich bin froh, dass ich so gelernt habe, weil ich den größten Teil meiner Jahre mit Programmieren verbracht habe, um Probleme zu lösen, ohne an eine Sprache gebunden zu sein. Welche Sprache ich verwende, war schon immer ein Implementierungsdetail und nicht Teil des Designs.
Das Problem zu lösen, indem man es in seine grundlegenden Schritte zerlegt, ist eine Schlüsselkompetenz. Ich denke, es ist eines der Dinge, die diejenigen, die programmieren können, von denen trennen, die es nicht können.
Was die Art und Weise angeht, wie Sie die Reihenfolge der Konzepte einer Sprache angehen, ist meiner Meinung nach der einfachste Weg, zu entscheiden, ob Sie ein Projekt im Auge haben und die Konzepte nach Bedarf angehen. Auf diese Weise können Sie sie anwenden, wenn sie für etwas benötigt werden, an dem Sie interessiert sind. Wenn Sie eine Sprache lernen, ist es gut, mehrere einfache Projekte im Auge zu haben und einige mit fortschreitender Komplexität. Wenn Sie sich für diese entscheiden, können Sie die benötigten Konzepte und deren Reihenfolge ermitteln.
quelle
Ich würde empfehlen, auch einige Screencasts anzusehen - sie werden im Allgemeinen im Kontext einer bestimmten Technologie erstellt, nicht einer Sprache. Wenn jedoch Python-Code angezeigt wird, reicht dies aus :). Der Punkt ist - sie werden von einigen guten Programmierern erstellt und beobachten, wie gut Programmierer programmieren, ist eine gute Sache. Sie und Ihr Bruder könnten auch Peer-Programmierung machen, das könnte eine noch bessere Idee sein. Vergiss nur nicht zu erklären, WARUM du etwas so und nicht so machst. Ich denke, der beste Weg, Programmieren zu lernen, sind gute Beispiele und ich versuche, nicht einmal die schlechten zu sehen.
quelle
Robert Read schrieb eine nützliche Anleitung, Wie man ein Programmierer ist , die einen weiten Bereich von Programmierproblemen abdeckt, die ein Anfänger hilfreich finden würde.
quelle