Wie kann ich einem Kind helfen, motiviert das Programmieren zu lernen?

39

Wie könnte ich einem klugen, jugendlichen Kind helfen, Programmieren zu lernen? In der Schule hat er gute Leistungen erbracht, er hat zwei Klassen übersprungen und ist ein introvertierter stereotyper Nerd. Er ist sehr an Webentwicklung interessiert und hat die Grundlagen von HTML , CSS und JS beherrscht , von denen ich nichts weiß (ich bin kein Programmierer). Er baute eine persönliche Website aus seinem Wissen. Er hat dies aus dem Internet auf verschiedenen Tutorial-Sites und Stack Overflow gelernt.

Wie kann ich ihn ermutigen, diese Fähigkeiten zu entwickeln? Gibt es eine Möglichkeit, ihm beim Lernen zu helfen, da ich selbst keine Programmierkenntnisse habe? Ich glaube nicht, dass ich alles lernen kann, was er gelernt hat, da er so viel Zeit damit verbringt und sich so hingibt.

Ich denke, die größte Gefahr besteht darin, seine Motivation zu verlieren und aufzuhören. Das Debuggen kann manchmal frustrierend sein, und ich möchte nicht, dass er damit aufhört. In anderen Fächern könnte ich ihm dabei helfen, aber mit Programmierung kann ich nicht, da ich keine Domänenkenntnisse habe.

Was soll ich tun, um seine Motivation für das Programmieren zu erhalten, damit er bei Schwierigkeiten nicht entmutigt wird, da ich diese Schwierigkeiten nicht selbst überwinden kann?

(selbst kein Elternteil)

bjb568
quelle
41
Hmm, verbieten Sie es einfach, und sie werden sich immens für das Thema interessieren.
Per Alexandersson
Ein Freund von mir schrieb einen Blog-Beitrag ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html ) darüber, wie er seinen Kindern das Programmieren beibringt , das für Sie nützlich sein könnte.
Jeff
3
Ich habe das Programmieren schon sehr früh selbst gelernt. Mein Vater kaufte mir die Werkzeuge (heute können Sie eine kostenlose Version von Visual Studio bekommen) und Bücher. Er muss noch nicht wie ein Profi programmieren, nur um Spaß daran zu haben. Ich hatte Spaß daran, Spiele zu machen, angefangen mit einem textbasierten Abenteuer, dann einem 2D-Shooter-Spiel. Auch mit Visual Studio kann er die Komplexität dieser Website steigern, indem er sie dynamisch gestaltet.
the_lotus
Lerne mit ihm zu programmieren. Fun Aktivität für Sie zusammen zu tun. Auf diese Weise können Sie am Anfang die frustrierenden Teile für ihn erledigen.
Evorlor
9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) sagt die Person mit 4k SO Ruf und deren Top-Tags zufällig HTML, CSS und JS sein
Santa Claus

Antworten:

25

Zunächst einmal, um dem Kind beim Lernen zu helfen:

  1. Viele / die meisten Schulen haben Computerclubs. Fordern Sie das Kind auf, sich bei anderen Schülern zu erkundigen, oder fragen Sie die Schulfachleute selbst. Dies wird das Kind bei Gleichaltrigen unterbringen, was die größte Ermutigung ist, die Sie geben können.

  2. Sprechen Sie mit einem Computerlehrer in der Schule, falls vorhanden. Sie können zustimmen, dem Kind zu helfen oder Ratschläge zu geben.

  3. Machen Sie ähnlich wie bei # 1 / # 2 Werbung für einen Tutor, wenn Sie sich einen leisten können. Ein armer, aber brillanter CS College-Major mag es wirklich genießen, einen klugen Teenager zu unterrichten, viel mehr als weniger kluge Altersgenossen, die sie normalerweise unterrichten. Ich weiß, dass ich es getan habe. Die Herausforderung besteht (abgesehen von der Tatsache, dass Sie bezahlen müssen) darin, jemanden zu finden, der gut im Unterrichten ist. Vorherige Erfahrungen im Unterrichten oder im Nachhilfeunterricht sollten ebenso gefragt werden wie die Fähigkeit, mit jüngeren Kindern zu arbeiten.

  4. Online-Kurse (Coursera, etc ...) können großartig sein, insbesondere für einen umgedrehten Nerd ( ich sehe in den Spiegel )

  5. Um sie herauszufordern, verweisen Sie sie auf Rosetta Code und die Code Review Stackexchange- Sites.

Zweitens, wenn Sie der Meinung sind, dass sie die Motivation für die nächsten Schritte nutzen könnten:

  1. Wenn das Kind reif ist (wahrscheinlich), zeigen Sie ihm die durchschnittlichen Entgeltsätze für verschiedene Berufe und zeigen Sie ihm, dass Softwareingenieure im Vergleich zu den meisten Berufen weit oben stehen. Dadurch wird sichergestellt, dass er über das übliche Geek-Mobbing hinausschauen kann, dem er wahrscheinlich begegnet, und Gründe hat, sich an die Kodierung zu halten.

  2. Weisen Sie darauf hin, dass es so viele Kinder gibt (wie Sie aus persönlichen Berichten zu fast allen Antworten hier ersehen können). Er wird wahrscheinlich ermutigter sein, wenn er sich nicht wie ein Freak fühlt, selbst wenn er von Natur aus introvertiert ist.

user3143
quelle
3
Many/most schools have computer clubsIch bitte um Widerspruch.
Weihnachtsmann
Da muss ich @SantaClaus zustimmen. Besonders in Texas gibt es nicht so viele Programmiergruppen. Ich war äußerst unzufrieden, als ich herausfand, dass meine örtliche Highschool keinen Club hatte. Wir haben versucht, sie dazu zu überreden, und sie haben es wegen der Finanzierung abgelehnt. Dennoch haben sie über 20 Sportvereine. Dies gilt anscheinend für die meisten Schulen in Texas, außer für die in der Innenstadt.
Damien Bochkarev
12

Ein paar Dinge, die Sie zur hervorragenden Antwort von user3143 hinzufügen sollten:

Werkzeuge. Werkzeuge sind kein Ersatz für Erfahrung oder Wissen, aber jeder Handwerker / jede Handwerkerin schätzt gute Werkzeuge und sie sind etwas, bei dem Sie als nicht programmierendes Elternteil helfen können. Einige der besten sind kostenlos, aber wenn das Kind ein IDE will, Bibliothek, Programm, etc. , die eine vernünftige Menge an Geld kostet stark halten es für immer. Ich finde beispielsweise, dass Photoshop für die Webentwicklung von unschätzbarem Wert ist (mein Job). Holen Sie dem Kind etwas Mobiltechnologie, für die es sich entwickeln soll. Es muss nicht teuer sein und Sie müssen es nicht an einen Datenplan anschließen, ein gebrauchtes 2 Jahre altes Telefon und Tablet reicht aus.

Ermutigen Sie das Kind, einen Beitrag zu Open Source zu leisten, und lernen Sie, wie Github funktioniert (falls dies noch nicht geschehen ist). Ermutigen Sie das Kind, zu versuchen, Schulnoten für persönliche Projekte zu erhalten (bester Grift aller Zeiten). Ermutigen Sie das Kind, Programme als Geschenk zu schreiben (ich erstelle gerade eine Website für meine 5-jährige Tochter). Sie lernen, wie Sie die Wünsche und Anforderungen anderer Menschen antizipieren und erfüllen können. Dies ist wichtig, wenn Sie möchten, dass das Kind eine Karriere im Programmieren anstrebt. Apropos welche ...

Ich gehe (möglicherweise zu Unrecht) davon aus, dass Sie mit der Hoffnung ermutigen, dass dies möglicherweise die Karriere des Kindes wird. Wenn das der Fall ist, muss ein professioneller Programmierer eine Reihe von Dingen wissen, die ein Hobbyist wohl nicht weiß. Wenn Sie zu diesem Zeitpunkt noch nicht (das Kind ist noch ziemlich jung) sind, machen Sie sich keine Sorgen über die folgende Liste von Pro-Voraussetzungen: Versionskontrolle im Quellcode, Teamwork, Umgang mit Kunden (egal ob Vorgesetzte oder Kunden), Dokumentation (Programme sind für andere Leute lesen und nur nebenbei, damit Computer laufen), und Work-Life-Balance (unsere Branche ist nicht die schlimmste, aber es ist ein Problem).

Last but not least ist RSI. Ihr Kind wird tippen. Viel. Ich habe einen Sommer in der Grundschule verbracht, um zu lernen, wie man das Colemak-Tastaturlayout berührt, und ich bin sehr froh, dass ich es getan habe. Ein Besuch lohnt sich.

Jared Smith
quelle
1
Ich werde beißen. Hobbiests brauchen ein SCM (Git is the best, IMO), wenn sie jemals gesund sein wollen.
Rückgängig
2
Deshalb habe ich wohl gesagt. Ich habe mich sicherlich ein paarmal bei persönlichen Projekten in eine Ecke gedrängt, indem ich dachte 'Ich werde mich nicht um die Quellcodeverwaltung bei diesem kleinen Wegwerfprogramm kümmern' :)
Jared Smith
11

Die anderen Antworten hier sind in Ordnung, aber ich mache mir Sorgen, dass es eine wichtige Tatsache gibt, die jeder übersieht:

ein introvertierter stereotyper Nerd

Ich bin selbst diese Art von Person und Sie können sich nicht vorstellen, wie schwer das Leben ist, wenn Sie schüchtern sind und buchstäblich Angst davor haben, mit anderen zu sprechen (dies scheint als soziale Angst zu bezeichnet zu werden). Wenn möglich, sollten Sie sich also vorher darum kümmern alles andere, wenn ich keine Angst hätte, würde er das Programmieren als "Zuflucht" vor dem wirklichen Leben benutzen (wie ich es für ein paar Jahre getan habe) und das würde ihm in Zukunft Probleme bereiten.


quelle
1
Dies ist ein sehr guter Punkt, den Sie berücksichtigen sollten. Die Suche nach einem Programmierclub oder einem außerschulischen Programm, das Programmierkenntnisse enthält (z. B. FIRST LEGO-Ligen), kann ihm helfen, sowohl seine offensichtlichen Interessen als auch seine Sozialisierungsfähigkeiten zu entwickeln.
Erwerben Sie den
2
Einverstanden. Ich habe wahrscheinlich mehr aus einem Jahr Theater in der High School herausgeholt als jeder andere Unterricht, der nicht mit Computern zu tun hat. Es brachte mir bei, wie man mit Lampenfieber umgeht, wie man in einer stressigen sozialen Situation improvisiert und mit allen Arten von "Soft Skills", die sich immer als nützlich erweisen. Und "Drama-Freaks" sind eine weitere Unterart von Freaks, so dass die Interaktion mit Klassenkameraden und die Beziehung zu ihnen für das Kind nicht so schwierig ist wie für einige der anderen außerirdischen Lebensformen, die die Gänge durchstreifen einer typischen High School. Sie sollten ihn auf jeden Fall ermutigen (aber nicht drängen ), Drama zu spielen.
Mason Wheeler
6

Als Programmierer und in gewissem Maße als "dieses Kind" würde ich sagen, dass Dinge wie (billige) eingebettete Hardware-Kits wie der Raspberry Pi oder Arduino der richtige Weg sind. Diese Kits sind normalerweise recht billig (der Pi kostet etwa 30 US-Dollar und wird von einem Telefonladegerät angetrieben).

Junge Programmierer haben kein Interesse daran, Programmierkonzepte wie das Schreiben von sicherem und qualitativ hochwertigem Code richtig zu verstehen. Bis es zur Gewohnheit wird, Dinge zum Laufen zu bringen. Ich vergleiche es mit der Chemie, da es weitaus weniger interessant ist, die komplizierten Details zu kennen, warum Mentos und Diet Coke einen großen Springbrunnen herstellen, als unordentlich im Garten mit Soda und Süßigkeiten zu experimentieren.

Junge Programmierer lernen viele schlechte Gewohnheiten aus Online-Kursen und Codebeispielen. Sie sind normalerweise schlecht konstruiert und gebaut, um nur unter optimalen Bedingungen zu arbeiten. Gute Programmierer bauen für all diese merkwürdigen kleinen "Randfälle", in denen die Dinge nicht ganz so sind, wie es erwartet wurde. Irgendwann werden sie all das schlechte Benehmen verlernen müssen und das „professionelle“ Umfeld zu meiden, bis sie dazu bereit sind, ist ein guter Weg, um zu verhindern, dass sich schlechte Gewohnheiten bilden.

Sie sind motiviert zu spielen und können genauso gut spielen, während sie noch ein Kind sind und es tun wollen.

Das Nehmen von Hardware / Leiterplatten und das tatsächliche Herstellen von etwas fördert kreative Fähigkeiten, die Kindern mit solchen Interessen häufig (stereotyp) fehlen. Als junger Programmierer gibt es viel mehr Befriedigung im "Ich habe DAS" und in einem Fehler im Code, der das Potenzial hat, tatsächlich etwas zu brechen. Wenn Sie fertig sind, können Sie eine Weile damit spielen.

Vor allem - für den Nicht-Programmierer ist es viel einfacher, etwas Physisches zu loben, dessen Zweck leicht zu verstehen ist. Dies wiederum führt zu höherem Lob und konstruktiveren Gesprächen als Code / Programme auf einem Bildschirm, die zu "Bug Hunts" werden oder eine Erklärung benötigen, die länger ist als die Demonstration.

James Snell
quelle
5

Ich war einmal in einer ähnlichen Position. Ich war ein Teenager, der unbedingt etwas über das Programmieren lernen wollte, und ich war begeistert, als ich sah, wie ein Computer Befehle ausführte, wie ich es befohlen hatte. Ich interessierte mich nicht für Webentwicklung, sondern anfangs für das Gegenteil: Hacking / Exploiting. Trotzdem glaube ich, dass meine Erfahrung mit dem Erlernen des Programmierens relevant sein wird.

Ich glaube, der Schlüssel, um Jugendlichen das Programmieren beizubringen, ist Ermutigung. Ich wünschte, ich hätte mehr davon gehabt. Meine Eltern sind weder technisch versiert noch jemand in meiner Familie, und aus diesem Grund erhielt ich keine große Ermutigung oder Unterstützung beim Erlernen / Verbessern meiner Programmierfähigkeiten. Sie haben den richtigen Schritt getan, indem Sie andere nach ihren Gedanken gefragt haben, und das zeigt, dass Sie seine Interessen unterstützen. Der beste Rat, den ich den Eltern / Erziehungsberechtigten / Mentor eines an der Programmierung interessierten Kindes geben kann, ist einfach: Lassen Sie sich nicht entmutigen oder überfordern. Ein Kind kann sich leicht entmutigt oder überfordert fühlen, wenn es an einem großen Problem arbeitet. Es ist Ihre Aufgabe, dafür zu sorgen, dass dies nicht passiert.

Wie Sie ihn ermutigen können, ist etwas komplizierter. Jedes Kind ist anders. Meine Eltern fingen an, mich zu unterstützen und zu ermutigen, als ich in meinen letzten Highschool-Jahren war. Ich fand die größte Ermutigung, als sie in mein Zimmer kamen, sich zu mir setzten, mich nach dem fragten, woran ich arbeitete, mir zuhörten, es ausführlich zu erklären, mir zuzuschauen, wie ich es für sie durchführte, und anscheinend interessiert waren. Heute glaube ich nicht mehr, dass meine Eltern viel Interesse an meinen Erklärungen oder Details hatten, aber zu der Zeit war ich davon überzeugt, dass sie dies taten, und es hat mir geholfen, mich mit meiner Arbeit zufrieden und vollendet zu fühlen. Nehmen Sie sich die Zeit, sich mit ihm zu setzen, sich anzusehen, was er gebaut hat, mit ihm zu diskutieren, Fragen zu stellen und begeistert zu sein. Es wird ihm das Gefühl geben, etwas Besonderes zu sein, und es wird positive Verstärkung bieten. Sie sind möglicherweise nicht in der Lage, ihm Hilfe anzubieten oder ihm zu zeigen, wie etwas zu tun ist.

Eine der besten Möglichkeiten, das Programmieren zu lernen, besteht darin, ein schwieriges Ziel zu finden und es zu einem Schwerpunkt der Entwicklung zu machen. In meinem Fall habe ich mich mit 16 auf ein bestimmtes Ziel konzentriert. Ich habe mich darauf konzentriert, ein Programm zu entwickeln, um ein damals sehr beliebtes Android / iPhone-Spiel auszunutzen. Ich habe mich auf dieses Ziel festgelegt und monatelang daran gearbeitet. Endlich konnte ich eine Anwendung dafür erstellen und mein Ziel wurde breiter. Nachdem ich dieses Ziel erreicht hatte, arbeitete ich daran, das Programm zu erweitern und weitere Funktionen hinzuzufügen. In den nächsten eineinhalb Jahren erstellte ich mehrere Programme, die dieses Ziel erfüllten und Funktionen enthielten, die ich nie für möglich gehalten hätte. Ich werde sagen, meine Motivation, weiter zu expandieren, war Geld. Ich habe ein Online-Geschäft gegründet, das die von mir geschriebene Spiel-Exploit-Software verkauft. Seine Motivation kann jedoch alles sein. Es muss nicht Geld sein oder verkaufen, was er schafft. Er kann einfach Motivation in der Zufriedenheit finden, ein Endziel zu erreichen. Es spielt keine Rolle, was ihn motiviert, was zählt, ist, dass er motiviert ist.


Hier sind einige der besten Ressourcen, die ich zum Erlernen des Programmierens gefunden habe:

  1. YouTube: Das scheint ein schlechter Vorschlag zu sein, aber lassen Sie mich das erklären. Suchen Sie nach dem Tutorial "[Welche Sprache er auch lernen möchte]" und wählen Sie eine Wiedergabeliste aus. Es gibt viele großartige Tutorials für viele Sprachen auf YouTube, von Anfängern bis zu Fortgeschrittenen.
  2. Khan Academy: Ich habe das erst vor einem Jahr gefunden, aber Khan Academy hat einen kostenlosen Programmierkurs. Ich habe den Kurs überflogen und es scheint ein sehr guter Kurs für Anfänger zu sein. Es deckt die Grundkonzepte ab und ist sehr verständlich. Es könnte eine gute Ressource für ihn sein.
  3. "TeachMeComputer": TeachMeComputer ist der YouTube-Name eines Mannes, der großartige Tutorials für Visual Basic .NET und PHP erstellt hat. Er hat alle organisiert und zusätzliche Inhalte auf www.HowToStartProgramming.com bereitgestellt . Aufgrund des Interesses des Kindes an Webentwicklung könnte dies ein wertvoller Vorteil für das Erlernen von PHP sein. Ich glaube, VB.NET ist eine großartige Programmiersprache für Anfänger, so dass eine Reihe von Tutorials auch für ihn sehr nützlich sein könnte.

Edit : Ich entschuldige mich für die Annahme, dass Sie die Eltern waren. Ich habe die letzte Zeile Ihres Beitrags nicht bemerkt, die besagt, dass Sie es nicht sind. Trotzdem glaube ich, dass meine Antwort immer noch hilfreich sein könnte.

Spencer D
quelle
4

Nachdem ich die Softwareentwicklung auf die gleiche Weise selbst erlernt habe (obwohl in den frühen 90er Jahren viel weniger nützliches Material online verfügbar war und ich Bücher als primäre Informationsquelle gefunden / gekauft habe), kann ich sagen, dass das Wichtigste das ist kinderbedürfnisse scheint er schon zu haben: motivation zum lernen.

Die anderen Antworten hier enthalten gute Vorschläge, darunter Elemente wie die Zusammenarbeit mit Gleichgesinnten, das Erlernen von Kenntnissen mit Werkzeugen und das Erlernen des effizienten Schreibens (ansonsten ist die Eingabe von Informationen in den Computer in der Regel von entscheidender Bedeutung) so mühsam, dass man sich kaum mit der Idee auseinandersetzen kann, große Probleme mit Code zu lösen).

Ich möchte auch hinzufügen: Ermutigen Sie diesen jungen Menschen, ein Ziel / Projekt seiner / ihrer Wahl auszuwählen und es bis zum Abschluss beizubehalten. Dies kann mehrere Versuche erfordern, und die ersten können unvollständig, zu ehrgeizig, irgendwann langweilig usw. sein. Aber lernen, dies zu überwinden und tatsächlich etwas von Qualität zu produzieren, das jemand nutzt (könnte ein Open-Source-Projekt sein) oder etwas, das in der Schule oder von Freunden verwendet wird usw.) - das ist ein wichtiger Punkt und ein wichtiger Schritt.

Ich habe viel über das Programmieren im gleichen Alter (10-12 Jahre) gelernt, aber als ich dreizehn Jahre alt war, bot mir jemand tatsächlich Geld an, um etwas für sie zu programmieren, und es gab eine damit verbundene Frist. Das war eine andere Erfahrung. Es war zwar mit etwas Stress verbunden, aber es machte mich auch verantwortlich. Ich hatte eine Menge unvollständiger Projekte und kluger Ideen, aber es dauerte nicht lange, bis mich jemand in die Disziplin des Bereitstellens der von mir geschriebenen Software eingewiesen hat (und dafür gesorgt hat, dass sie anständig genug und funktionsfähig ist, kein übermäßig fehlerhafter Haufen Mist) Ich bin der Meinung, dass ich "ein echter Entwickler geworden bin".

Das sind meine zwei Cent.

bgp
quelle
3

Beginnen Sie mit Scratch: http://scratch.mit.edu/

"Scratch ist ein kostenloses Desktop- und Online-Multimedia-Authoring-Tool, das von Schülern, Wissenschaftlern, Lehrern und Eltern verwendet werden kann, um auf einfache Weise Spiele zu erstellen und einen Sprung in die fortgeschrittenere Welt der Computerprogrammierung zu schaffen, oder das sogar für eine Reihe von Bildungszwecken verwendet werden kann und unterhaltungskonstruktivistische Zwecke von mathematischen und naturwissenschaftlichen Projekten, einschließlich Simulationen und Visualisierungen von Experimenten, Aufzeichnung von Vorträgen mit animierten Präsentationen bis hin zu sozialwissenschaftlichen animierten Geschichten und interaktiver Kunst und Musik. " WP

james.garriss
quelle
5
Ew. Ich war gezwungen, Scratch in einem "Computerkenntnis" -Kurs in der 6. Klasse einzusetzen, und es war schrecklich. warum zwingen Sie mich die Maus zu verwenden , so viel lassen Sie mich tyyyyype
Doorknob
1
Wenn Sie durch die Arbeit mit Scratch nur gelernt haben, dass Sie die Maus nicht mögen, haben Sie den Punkt verfehlt. Es ist ein hervorragendes Werkzeug zum Erlernen grundlegender Programmierkonzepte. Und es macht viel Spaß, damit zu experimentieren. Meine beiden Kinder haben es geliebt und sie haben echtes Programmieren gelernt. Der Schlüssel ist nicht, ob es eine Maus verwendet oder nicht; der Schlüssel ist, dass es eine unterhaltsame Art ist, anzufangen, was sie zum weiteren Lernen bringen könnte.
james.garriss
5
Scratch ist ein ziemlich guter Ausgangspunkt für die Einführung in die Grundlagen der Programmierlogik, kann aber für einen Teenager, der bereits angefangen hat, etwas jung sein. Es ist auch eine gute Möglichkeit, sie an visuelle Programmiersprachen zu gewöhnen, die im Berufsleben eingesetzt werden können (z. B. LabVIEW).
Erwerben Sie den
3

Die Leute haben bereits einige großartige Vorschläge hinzugefügt. Das Einzige, was ich hinzufügen kann, wäre, etwas zu finden, das er bereits gerne macht, das ihm einen Wettbewerbsvorteil verschafft. Wenn er beispielsweise Videospiele mag und weiß, wie man codiert, kann er sein System oder seine Software modifizieren (ja) Ich weiß, dass dies zu Betrug führen kann, um ihm einen Vorteil zu verschaffen. Vielleicht ist dies eine Möglichkeit, ihn dazu zu bringen, den Code zu umgehen und das Verhalten einer Anwendung so zu ändern, dass es seinen Bedürfnissen entspricht. Es könnten alberne Dinge sein, an denen er zu hacken beginnt; Aber mit der Zeit würden seine Fähigkeiten natürlich wachsen, ohne zur Pflicht zu werden. Wenn Menschen Spaß an dem haben, was sie tun, lernen sie schneller und entwickeln sich weiter.

Aaron
quelle
3

Vergessen Sie niemals, dass es zwei Ziele gibt, die manchmal in Konflikt geraten können.

  • Viel Spaß beim Programmieren
  • Werden Sie ein großartiger Softwareentwickler

Behalten Sie diese beiden im Hinterkopf, denn wenn Sie Entscheidungen treffen, ohne sich dessen bewusst zu sein, welche der beiden Prioritäten Sie setzen, erhalten Sie möglicherweise nicht das richtige Gleichgewicht. Immer das Gleiche vor dem Anderen zu priorisieren, wird nicht gut.

Jemand, der sich selbst beibringt, wie man ohne Anleitung erfahrener Programmierer programmiert, kann sich selbst einige schlechte Gewohnheiten beibringen, die er später verlernen muss.

Wenn es eine Option für Sie ist, einen Tutor für das Kind zu finden, kann dies sehr hilfreich sein.

Ermutigen Sie das Kind, sich an Open-Source-Projekten zu beteiligen, da dies mehrere Vorteile bieten kann:

  • Sie lernen, mit anderen Menschen an einem Projekt zusammenzuarbeiten, was entscheidend ist, wenn Sie hoffen, eines Tages einen Lebensunterhalt mit Programmieren zu verdienen.
  • Erfahrene Personen, die an dem Projekt teilnehmen, können eine Anleitung geben.
  • Wenn Sie es schaffen, etwas Nettes zum Projekt beizutragen, bedeutet dies, dass Sie einen Lebenslauf schreiben müssen, wenn Sie eines Tages eine Karriere als Entwickler anstreben.

Es gibt viele Open-Source-Projekte, daher ist es sehr wahrscheinlich, dass es eines gibt, das das Kind interessieren würde.

Auch wenn Sie keine technischen Fähigkeiten haben, können Sie das Kind in diesem Prozess führen. Um sich an einem solchen Projekt zu beteiligen, sind unter anderem gute Fähigkeiten der Mitarbeiter erforderlich, bei denen Sie möglicherweise eine Anleitung geben könnten.

Einige Online-Communities können sich als etwas feindlich gegenüber Neulingen herausstellen. Einige Ratschläge, die in den meisten Fällen relevant sind, sind:

  • Sei zuerst nur ein bisschen bescheiden. Neuankömmlinge werden gelegentlich (manchmal aus guten Gründen) als arrogante Personen mit höherem Selbstwertgefühl als gerechtfertigt angesehen.
  • Zeigen Sie, dass Sie lernbereit sind.
  • Zeigen Sie, dass Sie wertvolle Beiträge leisten können.

In vielen Open-Source-Projekten werden Entwicklungen auf offenen Mailinglisten diskutiert. Sie müssen sich also entscheiden, ob Sie auf diese achten, um zu sehen, wie das Kind in der Community zurechtkommt.

Kasperd
quelle
2

Ich bin zurzeit in einem jungen Alter und programmiere seit mehreren Jahren.

Ich wurde zum ersten Mal in C eingeführt, als ich ungefähr acht Jahre alt war, obwohl ich die Sprache nicht sehr berührt habe. Ich konzentriere mich mehr auf Webentwicklung und -design, obwohl ich Grundkenntnisse in Java für die Bukkit-API habe und bald auf Objective C oder Swift erweitern werde.

Nach meiner derzeitigen Erfahrung ist es am besten, über sich selbst zu lernen. Ich finde es in jungen Jahren schwieriger, von anderen Menschen zu lernen, sondern nur durch Ausprobieren. Ich weiß, dass viele Schulen Computerclubs und ähnliches anbieten, zu denen ich aufgefordert, aber abgelehnt wurde, obwohl ich nicht der Meinung bin, dass diese für mich ausreichen. In jüngeren Jahren verallgemeinern die Menschen, dass wir Kinder nicht in der Lage sind, das zu tun, was sie erwarten. Ich weiß, dass ich mich mit verschiedenen Programmier- und Skriptsprachen besser auskenne, wobei viele Erwachsene meinen Kenntnisstand in diesem Bereich voraussetzen.

Als ich mit dem Programmieren anfing, sah ich mir viele Online-Tutorials an, obwohl mir nur visuelle Tutorials helfen würden. Lesen und interaktive Ressourcen würden mir überhaupt nicht helfen, obwohl mich auch Videos einschränkten.

Ich würde Code aus Videos kopieren und untersuchen, wie es funktioniert. Ich würde bestimmte Funktionen erforschen und mit der Sprache experimentieren, bis ich über mittlere Kenntnisse verfügte.

Ich fühle mich wie ein Kind und bin auf das beschränkt, was ich erreichen kann. Theoretisch könnte ich als ‚Nerd 'oder ähnliches eingestuft werden, weil ich über ein so erweitertes Spektrum an Kenntnissen für das Rechnen und Programmieren verfüge, obwohl dies für mich keine große Hilfe darstellt. Ich kann mich nicht voll auf das Rechnen und Programmieren für Hindernisse wie Schule, Familie und Freunde konzentrieren. Als Erwachsener glaube ich, dass ich mein Wissen schneller erweitern und mehr lernen könnte, obwohl es pro Person anders ist.

Wie auch immer, wenn Sie meinen überfüllten Text nicht lesen möchten, empfehle ich nur, das Kind selbst lernen zu lassen. Er ist höchstwahrscheinlich in der gleichen Position wie ich und fühlt sich eingeschränkt. Wenn Sie ihn verlassen, wird er mit Sicherheit Ressourcen finden, die ihm helfen, anstatt Ressourcen zu erhalten, die ihm nicht helfen.

Ich entschuldige mich für etwaige grammatikalische Fehler, da ich selbst noch ein Kind bin und nicht in der Lage bin, detailliert oder strukturiert zu schreiben, wie es ein Erwachsener mit mehr Erfahrung und Kenntnissen kann.

Ich hoffe jedoch, dass meine Informationen helfen, obwohl es sich um ziemlich erweiterte Informationen handelt.

Bearbeiten: Ich würde nicht empfehlen, Tools wie Scratch oder Auto-Vervollständigung oder automatisch generierte Code-Tools zu verwenden, da diese den Zweck der Programmierung zunichte machen würden. Scratch besteht eher aus gesundem Menschenverstand als aus Programmieren - so sollte man Programmieren nicht sehen.

Profil
quelle
2
+1 zu deiner Bearbeitung. Dies ist meine größte Beschwerde gegen die Verwendung einiger IDEs beim Lernen. Wenn die IDE den größten Teil Ihres Codes für Sie schreibt, was lernen Sie dann? Ich bin vorsichtig, wenn ich Visual Basic .NET aufgrund dieses Problems empfehle. Visual Studios für VB.NET schreibt häufig einen Großteil des Schlüsselcodes automatisch und schlägt vor, was für den Rest zu schreiben ist. Dies ist in Ordnung, wenn der Benutzer erfährt, was der automatisch generierte / vervollständigte Code tatsächlich tut, aber wenn der Benutzer dieses Wissen nicht selbst sucht, wird er es nicht richtig lernen. Also +1 auf Ihre Empfehlung gegen diese Art von Dingen.
Spencer D
1
Vielen Dank, dass Sie mir zugestimmt haben. Da ich Kenntnisse in verschiedenen Sprachen habe, verwende ich IDEs, die automatisch vervollständigt werden. Dies ist nur für das Zeitmanagement gedacht, und obwohl ich dies erfahreneren Entwicklern empfehlen würde, müssen die Leute noch lernen, wie man programmiert. Es ist wie zu wissen, wie man eine Sprache spricht, ohne zu wissen, wie man sie so schreibt.
Profil
Gute Analogie dafür. Wenn ich darf, würde ich sagen, dass es so ist, als ob Sie ein paar Wörter in einer Fremdsprache kennen und dann Google Translate verwenden, um den Rest dessen, was Sie sagen möchten, zu übersetzen. Ja, es kommt auf den Punkt und es funktioniert, aber Sie haben es nicht selbst geschrieben und somit nicht gelernt, was jedes einzelne Wort bedeutet. Sobald Sie jedoch die Sprachen und den Code verstanden haben, kann die Verwendung der automatischen Vervollständigung und des automatisch generierten Codes in der Regel viel Zeit sparen.
Spencer D
Heh ja Stimme dem vollkommen zu.
Profil
2

Ich möchte einen Punkt zu den hier gegebenen Antworten hinzufügen. Wenn Sie dies unter Beibehaltung ihres Interesses tun können, versuchen Sie, das Studium der Funktionsweise der Sprachen (Computertheorie, Sprachparadigmen usw.) zu fördern, möglicherweise durch das Lesen von Lehrbüchern und nicht nur von Sprachsyntax und Dokumentation. Versuch und Irrtum ist großartig, um zu lernen, was funktioniert, aber das Warum zu verstehenHinter dem, was in der Programmierung funktioniert oder nicht, steht die Entscheidung, Softwareentwickler zu werden, und nicht jemand, der nur daran interessiert ist, die Aufgabe zu erledigen, ohne Rücksicht darauf, wie gut der Code geschrieben ist. Nur meine zwei Cent als Softwareentwickler, der den Unterschied zwischen dem "es funktioniert, also muss es perfekt sein" -Mentalität und die Idee, sauberen Code zu schreiben, der gut funktioniert, skalierbar, anpassbar usw. Das Studium der Theorie kann wirklich helfen diese.

jwest
quelle
1

Das Kind weiß bereits, wie man lernt und hat gezeigt, dass es will. Viele der anderen Antworten konzentrieren sich darauf, die Materialien des Kindes zu zeigen, was nicht hilfreich ist, da das Kind überall im Web selbst Fragen zu Materialien stellen kann. Das Schieben von Materialien und Erwartungen an das Kind kann sogar entmutigend sein und jegliches Interesse an dem Thema töten.

Ich denke, es gibt nur zwei Dinge, auf die man achten muss: Verlust des Interesses aufgrund fehlender Herausforderungen oder Überforderung durch Herausforderungen.

Zeigen Sie Interesse an dem, was er getan hat, damit er stolz auf seine Fortschritte ist (oder stellen Sie zumindest fest, dass Fortschritte erzielt wurden, wenn sich die Dinge nur langsam entwickeln). Und wenn es an einer Herausforderung mangelt, erwähnen Sie einige Dinge, die er tun könnte (z. B. die Arbeit an einem Mod für ein Spiel, das er mag, den Kauf eines Raspberry PI usw.), aber üben Sie keine Arbeit auf ihn aus - lassen Sie ihn derjenige sein, der es tut entscheidet, ob er sie machen will.

Peter
quelle
1

Er braucht persönliche Projekte, um sich dafür zu interessieren. Open Source ist großartig. Ein Spiel zu machen ist großartig - aber definitiv die höchste Aufgabe, die es zu erfüllen gilt.

Das Beenden von Dingen, die entweder für ihn oder für jemanden anderen eine eindeutige Verwendung haben, ist die flexibelste und zuverlässigste Lösung. Ich empfehle Spiele, weil ich Spiele liebe. Aber auch hier liebe ich Spiele, und Spiele erfordern die unterschiedlichsten Fähigkeiten, um sie zu vervollständigen.

Aber wenn er ein Nerd ist, wird er auch Spiele lieben. Spiele sind auch rentabel. Ahaha.

user1775944
quelle
1

Ich denke, die meisten Vorschläge hier führen in die falsche Richtung.

In Anbetracht der Tatsache, dass er anscheinend in der Lage ist, die relevanten Kenntnisse oder Fähigkeiten für ein Projekt selbst zu erwerben, würde ich die beiden folgenden empfehlen:

Schlagen Sie ihm vor, seinen Kommilitonen eine außerschulische Unterrichtsstunde oder ein paar Vorträge über Programmieren zu geben. Der beste Weg zu lernen ist, trotzdem zu unterrichten. Dies kann auch seine sozialen Fähigkeiten verbessern.

Gib ihm ein paar "echte" Projekte. Bitten Sie ihn, eine Website für die Schulklasse oder ein Web-Applet für ein Mathematik- oder Physikprojekt zu programmieren. Oder eine kleine Datenbanksache oder ein Wiki. Auf diese Weise wird er eine tatsächliche Relevanz in seinen Fähigkeiten erkennen. Er wird verstehen, dass er der Experte ist und dass andere ihn brauchen. Und er wird früh lernen, sich zu vermarkten.

Mattie
quelle
1

Herzlichen Glückwunsch an diesen jungen Menschen, der bereits mit 14 Jahren eine unglaublich marktfähige Fähigkeit besitzt! Wie cool ist das Kind. (Ich bin ein Programmierer, also verzeihen Sie mir, während er aussieht).

  1. First of Call ermutigen dies ist eine große Fähigkeit zu haben!

    Ein Einsteigerprogrammierer kann je nach Region zwischen 30.000 und 50.000 USD pro Jahr anfangen. Fortgeschrittene Programmierer (normalerweise als Ingenieure bezeichnet) können sechs Ziffern leicht machen.

  2. Alle Ressourcen, die er lernen, Spaß haben und sich weiter verbessern muss, sind kostenlos online, ich poste einige Links unten.
  3. Auch wenn das Programmieren Spaß macht, belasten Tastaturen und Schreibtische den Körper schwer. Der junge Padawan hat sehr früh angefangen, er muss einige körperliche Aktivitäten in Betracht ziehen, um sicherzustellen, dass er mit 16 keinen Karpeltunnel bekommt.

    Ich empfehle dringend Yoga, und in seiner einfachsten Form mache ich einfach eine YouTube-Suche und mache jeden Tag 15 Minuten Strecken, die nicht in der Schule oder einer anderen Aktivität sind.

    Er mag denken, ich mache Witze (besonders als 14-Jähriger), aber die Branche ist sehr ... schwer ... hauptsächlich, weil ein Programmierer in einer Position sitzt und tippt. Bauen Sie jetzt gute Gewohnheiten auf.

Link Liebe:

Es gibt VIELE weitere Ressourcen, aber sobald er sich diese ansieht, wird er in der Lage sein, mehr von Links usw. zu finden.

Gemeinschaft
quelle
3
w3fools.com
bjb568
0

Wenn er HTML CSS und JS ohne Aufforderung beherrscht, hat er bereits ein Händchen dafür. Wenn er seine Fähigkeiten schärfen möchte, warum sollte er ihn nicht auf CodeEval verweisen ? Wenn er diese Herausforderungen meistert, bekommt er ein Gefühl für die Sprache, die er aufnimmt, und wenn er mehrere Sprachen aufnimmt, ist es umso einfacher, die nächste Sprache zu lernen, je mehr Sie wissen ).

Wenn es sich um einen umfangreichen Lesetyp handelt, können Sie einige der erforderlichen Lesungen aus einer CS101-Klasse an der nächstgelegenen Universität abrufen. Wenn er bereits programmieren kann, werden diese nicht über den Kopf gehen und ihn vielleicht sogar interessieren.

Sidney
quelle
Entschuldigung, -1. Als professioneller Entwickler gibt es nichts Schlimmeres als jemanden, der das Golfen für eine positive Sache hält. und als jemand, der Programmieren unterrichtet hat, ist Golfen weit jenseits dessen, was Anfänger kennen sollten.
user3143
@ user3143 Punkt, Golf-Link entfernt. CodeEval (zumindest die Anfängerherausforderung) ist eine großartige Möglichkeit, um Tricks zu lernen und grundlegende Algorithmen durchzuarbeiten.
Sidney,
0

Alle obigen Vorschläge sind nützlich, aber wenn Sie sich in einem der unten aufgelisteten Bereiche befinden, können Sie dort zum Coderdojo gehen. Wenn dies nicht der Fall ist und Sie einige gleichgesinnte Kinder und Eltern finden können, sollten Sie in Erwägung ziehen, eine in Ihrer eigenen Umgebung zu gründen. Details finden Sie unter https://zen.coderdojo.com/dojo

Ich leite einen in meiner Gegend von Sallins, Naas (in Co Kildare, Irland) und seit zwei Jahren haben wir jede Woche mehr als 50 Kinder von 6 bis 17 Jahren, die alle an verschiedenen Sprachen und Tools von Scratch arbeiten und MineCraft, Python und PyGame, Java, Blender, Unity, Eclipse usw.

Ich hoffe, Sie schaffen es, sich mit einer Gruppe zusammenzuschließen, da dies die Erfahrung wirklich erweitert, um die Aufregung unserer ständigen Lernerfahrungen zu teilen und jedes neue Projekt zu präsentieren :-) JK

JoeK
quelle
0

Ich begann in der High School mit dem Buch Game Programming for Teens zu programmieren . Es unterrichtet die Programmiersprache BlitzMax . Ich denke, dies ist eine gute Programmiersprache für Anfänger, da sie eine englische Syntax und einen einfachen Befehlssatz zum Zeichnen auf dem Bildschirm hat. Viele andere Sprachen wie Java haben eine riesige API, die für professionelle Programmierer von Vorteil ist, für Anfänger jedoch überwältigend sein kann. Sobald Sie eine Programmiersprache gelernt haben, ist es viel einfacher, eine andere zu lernen, sodass er zu einer anderen Sprache wie Java oder C # wechseln kann, wenn er bereit ist.

Charles
quelle
0

Ich kann nicht sagen, dass ich alle Antworten gelesen habe, aber die ersten haben mich sehr betrübt. VIRTUELL KEINER der modernen Computergrößen (think Gates, Jobs usw.) hat sich bei einem derart hohen Abstraktionsgrad (dh webbasierten Technologien) die Zähne geschnitten . Sie sind alle runtergekommen und haben die Hardware verschmutzt. Die Go-to-Gurus in jedem Team sind fast immer diejenigen, die die tiefsten Kenntnisse auf niedrigem Niveau haben.

Wenn Sie möchten, dass er REAL-Computing lernt und sich darüber aufregt, besorgen Sie ihm das notwendige Spielzeug (Multimeter von guter Qualität und ein CRO (ein schönes gebrauchtes 50-MHz-Tektronix-Gerät ist gut geeignet), ein geschicktes Entwicklungsboard (Raspberry PI, Intel Edison usw.), und überlegen Sie sich einige coole Projekte, die er durchführen kann: Schließen Sie möglicherweise einen Bewegungssensor an, und senden Sie ihm per E-Mail ein Foto seines Schlafzimmers, wenn eine Bewegung erkannt wird deine Kumpels.

Sobald er den Bug hat und die Werkzeuge hat, werden sich seine Fähigkeiten auf natürliche Weise entwickeln. Das Wichtigste ist, ihm Herausforderungen zu stellen, die seinem Können entsprechen. Zunächst muss er ein wenig in der Hand gehalten werden, aber sobald er die Grundkenntnisse der Hardware-E / A, der Programmarchitektur und die erforderlichen Informationen zur Lösung des nächsten Problems erlangt hat, kann er nicht mehr davon abgehalten werden.

zigenz
quelle
Sparkfun ist ein guter Ort, um mit solchen Sachen anzufangen. Viele vorgerollte Robotikprojekte. Ich habe darüber nachgedacht, Robotics / Embedded-Produkte selbst zu empfehlen.
Tyler
0

Aus meiner EIGENEN Erfahrung kann ich sagen, dass Sie es einfach so lernen lassen müssen, wie ich es getan habe. Ich habe angefangen zu sehen, was andere Leute getan haben, Wikis gelesen, Tutorials angeschaut und versucht, ihre Mechanik zu verstehen. Dann habe ich angefangen, es selbst und hier zu versuchen ich bin. Ich habe auch einige Sachen von Codeacademy.com gelernt. Es war meine Grundlage für HTML, CSS, Javascript, PHP und Ruby. Am wichtigsten ist, dass Sie ihm einen Computer, Internet, viel Zeit und Verständnis geben, und natürlich braucht er Inspiration (wie sein eigenes Projekt oder etwas, das ihm wichtig ist) und sagt ihm NIEMALS, wie es geht, wenn er es sagt KENNTNISSE, wie es geht, da er alles selbst herausfinden muss, um es zu lernen, kann er auch kostenlose Sub-Domain und Hosting unter http://api.hostinger.co.uk/redir/3586817 erhalten(<- ich benutze dieses) und er benötigt keine speziellen Werkzeuge zum Codieren, da es einfacher zu erlernen ist, wenn Sie es im einfachen Datei-Editor tun. Aber eigentlich wissen Sie, tun Sie nichts, wonach er nicht fragt

Deimantas
quelle