Mit Liebe von Stepik: Hyperskill-Lernplattform

Ich möchte mit Ihnen darüber sprechen, warum wir häufiger Sanitärinstallationen reparieren, als dass wir darüber Dissertationen schreiben, über unterschiedliche Ansätze für den Programmierunterricht und wie wir versuchen, einen davon in unserem neuen Produkt Hyperskill anzuwenden.

Wenn Sie keine langen Einführungen mögen, springen Sie direkt zum Absatz über das Programmieren. Aber es wird weniger Spaß machen.

Mit Liebe von Stepik: Hyperskill-Lernplattform

Abschweifung

Stellen wir uns eine gewisse junge Dame Mascha vor. Heute wollte Mascha etwas Obst waschen und in Ruhe einen Film schauen, aber Pech gehabt: Plötzlich stellte sie fest, dass die Küchenspüle verstopft war. Es ist noch nicht klar, was damit geschehen soll. Sie können dieses Problem auf unbestimmte Zeit verschieben, aber jetzt ist freie Zeit, also beschließt Mascha, sich sofort mit dem Problem zu befassen. Der gesunde Menschenverstand schlägt zwei Möglichkeiten vor: a) einen Klempner rufen und b) sich selbst darum kümmern. Die junge Dame entscheidet sich für die zweite Möglichkeit und beginnt, die Anleitung auf YouTube zu studieren. Dem Rat des Benutzers Vasya_the_plumber folgend, schaut Masha unter die Spüle und sieht ein sich schlängelndes Kunststoffrohr, das aus mehreren Teilen besteht. Das Mädchen schraubt vorsichtig ein Teil am Boden des Waschbeckens ab und findet nichts. Es stellt sich heraus, dass ein unteres Rohrstück mit einer unbekannten Substanz fest verstopft ist, und selbst eine auf dem Tisch gefundene Gabel kann die Verstopfung nicht beseitigen. Experten aus dem Internet geben enttäuschende Prognosen ab: Das Teil muss geändert werden. Auf der Karte findet Mascha den nächstgelegenen Laden, nimmt das unglückliche Stück Pfeife mit und kauft dasselbe, nur neu. Auf Anraten des Verkäufers greift Mascha zur Vorbeugung auch zu einem neuen Sieb. Die Quest ist abgeschlossen: Die Spüle funktioniert wieder wie sie soll und ihre Hauptfigur hat inzwischen Folgendes gelernt:

  • Sie können die Rohre unter der Spüle selbst abschrauben und festziehen;
  • Das nächste Sanitärgeschäft ist anderthalb Kilometer von Mashinas Wohnung entfernt.

Höchstwahrscheinlich bemerkte Mascha nicht einmal, wie viele neue Dinge sie gelernt und gelernt hatte, weil sie sich Sorgen um ihr eigenes Wohlbefinden in der Zukunft machte und gleichzeitig einen Film sah und ihren Apfel wusch. Wenn das nächste Mal ein ähnliches Problem auftritt, wird das Mädchen es um ein Vielfaches schneller lösen. Tatsächlich hat Mascha die Welt nicht nur in ihren gewohnten Zustand zurückversetzt; Sie studierte induktiv, also in besonderen Fällen, und praxisorientiert, das heißt, indem man Dinge tut, anstatt sie im Detail und im Voraus zu studieren.

Es hätte alles anders kommen können. Angenommen, Mascha sitzt abends auf einem Stuhl und merkt plötzlich, dass sie geistig und körperlich nicht auf eine Verstopfung im Waschbecken vorbereitet ist. Sie schreibt sich schnell an einer Klempnerakademie ein und studiert die Arten von Spülbecken, Rohren und möglichen Verbindungen, die Klassifizierung von Sanitärproblemen und mögliche Lösungen dafür. Mascha schläft nachts nicht und merkt sich Begriffe und Namen. Vielleicht schreibt sie sogar eine Doktorarbeit über theoretische Rohrwissenschaften, in der sie über Gummidichtungen spricht. Nachdem sie schließlich das Zertifikat erhalten hat, schaut sich Mascha stolz in der Küche um und ist sich sicher, dass jetzt selbst das kleinste Problem mit der Spüle mit einem Fingerschnippen gelöst ist. In diesem Szenario lernte das Mädchen deduktiv, vom Allgemeinen zum Spezifischen übergehend und stärker fokussiert die Theorie.

Welcher Ansatz ist also der Beste? Im Falle eines Waschbeckens und einer Verstopfung – das erste und aus folgenden Gründen:

  1. Wenn nur ein funktionierendes Waschbecken wichtig ist, reicht es aus, nur zu wissen, was diesen bestimmten Bereich betrifft. Wenn Masha merkt, dass es ihr an Wissen mangelt, wird sie bestimmt einen Weg finden, mehr zu lernen.
  2. Enzyklopädisches Wissen kann in einer realen Situation möglicherweise nicht aktiviert werden, weil die Gewohnheit nicht entwickelt wurde. Um die Abfolge von Aktionen zu lernen, ist es sinnvoll, sie nicht zu lesen, sondern auszuführen.

Lassen wir die arme Mascha in Ruhe und gehen wir zum eigentlichen Lernprozess über.

Programmieren: lernen oder tun?

Wir sind es gewohnt zu denken, dass wir, um uns weiterzuentwickeln und ein Experte auf einem unbekannten Gebiet zu werden, zunächst eine Universität besuchen oder uns zumindest für Kurse einschreiben müssen. Wir hören regelmäßig zu, was sie uns sagen, und führen Aufgaben aus. Wenn wir das begehrte Diplom oder Zertifikat in den Händen halten, sind wir sofort verloren, weil wir immer noch nicht verstehen, warum wir so viele Informationen benötigen und wie wir diese konkret anwenden sollen. Das ist kein Problem, wenn Sie als Nächstes vorhaben, wissenschaftliche Arbeiten zu schreiben und damit zu Konferenzen zu reisen. Ansonsten lohnt es sich, nach Fähigkeiten zu streben, also bestimmte Dinge immer wieder zu tun, auszuprobieren und Fehler zu machen, um sich lange daran zu erinnern, was man am besten nicht tun sollte.

Einer der Bereiche, in denen eine „harte Hand“ oder ein „Diamantauge“ mit einer breiten Perspektive einhergehen, ist das Programmieren. Wenn Sie mit erfahrenen Entwicklern sprechen, werden Sie mutige Geschichten hören, in denen eine Person von klein auf Mathematik/Physik/Lehramt studiert hat, dann aber müde wurde und ins Backend wechselte. Es wird auch Programmierer ohne Hochschulbildung geben! Zunächst einmal wird bei einem Entwickler nicht ein Zertifikat oder Diplom geschätzt, sondern die Quantität und Qualität der geschriebenen Programme, Skripte und Websites.

„Aber warte!“, widersprechen Sie, „Klingt schön – nehmen Sie es und machen Sie es!“ Ich kann mir nicht einfach ein Programm schreiben, wenn ich noch nie programmiert habe! Für mich ist es wichtig zu verstehen, wo man schreibt und wie man grundsätzlich mit einem Compiler in einer Programmiersprache spricht. Es ist nicht so, als würde man die Telefonnummer eines Klempners bei Google finden.“

Auch hierin steckt eine bittere Wahrheit. Ein ungewohnter Aspekt führt zum nächsten, der wiederum zu einem dritten führt, und bald verwandelt sich dieser Prozess in eine Zaubershow, die immer wieder zusammengebundene Taschentücher hervorholt und sie nicht aus dem Zylinderhut herausbekommt. Ehrlich gesagt ist der Prozess unangenehm; schon beim fünften „Taschentuch“ scheint es, dass die Tiefe der Unwissenheit dem Marianengraben nahe kommt. Eine Alternative dazu sind die gleichen Vorlesungen über 5 Arten von Variablen, 10 Arten von Schleifen und 3 potenziell nützliche Bibliotheken. Leider.

Hyperskill: Wir haben gebaut, gebaut und schließlich gebaut

Wir haben lange über dieses Problem nachgedacht. Das Datum des letzten Beitrags auf unserem Blog sagt Bände darüber, wie lange wir schon darüber nachgedacht haben. Nach all den Debatten und Versuchen, den neuen Ansatz auf Stepik zu integrieren, landeten wir bei ... einer anderen Website. Möglicherweise haben Sie im Rahmen der JetBrains Academy bereits davon gehört. Wir haben es Hyperskill genannt, projektbasiertes Lernen integriert, eine Java-Wissensdatenbank damit verknüpft und die Unterstützung des EduTools-Teams in Anspruch genommen. Und nun weitere Details.

Mit Liebe von Stepik: Hyperskill-Lernplattform

Spezifisches Ziel. Wir bieten ein „Menü“ von Projekten an, d.h. Programme, die Sie mit unserer Hilfe schreiben können. Darunter sind Tic-Tac-Toe, persönlicher Assistent, Blockchain, Suchmaschine usw. Projekte bestehen aus 5-6 Phasen; Das Ergebnis jeder Stufe ist ein fertiges Programm. „Wozu brauchen wir dann die weiteren Etappen, wenn in der ersten schon alles geklappt hat?“ Danke für die Frage. Mit jedem Schritt wird das Programm funktionaler bzw. schneller. Zunächst dauert der Code 10 Zeilen, aber am Ende passen möglicherweise nicht einmal 500 hinein.

Ein bisschen Theorie. Es ist unmöglich, sich hinzusetzen und Hello World zu schreiben, ohne ein Wort über Programmierung zu wissen. Daher sehen Sie in jeder Phase des Projekts, welche theoretischen Grundlagen Sie beherrschen müssen und vor allem, wo Sie diese bekommen können. Die Grundlagen finden Sie auch auf Hyperskill im Bereich „Knowledge Map“. Wenn die Studierenden in der ersten Phase des Projekts keine Daten aus einer Datei lesen müssen, können sie möglicherweise nicht fortfahren. Sie werden es später selbst lernen, für die allgemeine Entwicklung, oder sie werden es auf der nächsten Stufe brauchen.

Mit Liebe von Stepik: Hyperskill-Lernplattform

Wissenskarte. Es zeigt Ihnen, welche Themen Sie bereits studiert haben und wie diese miteinander zusammenhängen. Öffne ein beliebiges süßes Oberteil. Sie können es überfliegen, wir empfehlen Ihnen jedoch, kleine Aufgaben zu erledigen, um sicherzustellen, dass die Informationen in Ihren Kopf passen. Zunächst führt die Plattform Tests durch und anschließend einige Programmieraufgaben. Wenn der Code kompiliert wird und die Tests besteht, vergleichen Sie ihn mit der Referenzlösung. Manchmal hilft dies dabei, eine optimalere Möglichkeit für die Implementierung zu finden. Oder stellen Sie sicher, dass Ihre Lösung bereits hervorragend ist.

Nichts Überflüssiges. Wir warten sowohl auf „grüne“ Benutzer als auch auf erfahrene Entwickler. Wenn Sie bereits Programme geschrieben haben, spielt das keine Rolle, wir zwingen Sie nicht, 2+2 zu addieren oder eine Zeile noch einmal umzudrehen. Um sofort das gewünschte Niveau zu erreichen, geben Sie bei der Anmeldung an, was Sie bereits kennen und wählen Sie ein schwierigeres Projekt. Haben Sie keine Angst, sich selbst zu überschätzen: Wenn etwas passiert, können Sie jederzeit zu einem vergessenen Thema in der Wissenslandkarte zurückkehren.

Mit Liebe von Stepik: Hyperskill-Lernplattform

Werkzeuge. Es ist toll, kleine Codestücke in einem speziellen Fenster auf der Site zu schreiben, aber echtes Programmieren beginnt mit der Arbeit in der Entwicklungsumgebung (Iintegriert Development EUmfeld). Erfahrene Programmierer wissen nicht nur, wie man Code schreibt, sondern auch, wie man eine grafische Oberfläche entwirft, verschiedene Dateien zu einem Projekt zusammenfügt, zusätzliche Entwicklungstools verwendet und die IDE kümmert sich um einige dieser Prozesse. Warum erlernen Sie diese Fähigkeiten nicht, während Sie Programmieren lernen? Hier kommt JetBrains zur Rettung und eine spezielle Version von IntelliJ IDEA Community Educational mit einem vorinstallierten EduTools-Plugin. In einer solchen IDE können Sie Schulungen absolvieren, gelöste Probleme überprüfen und sich Projekttipps ansehen, wenn Sie etwas vergessen haben. Machen Sie sich keine Sorgen, wenn Sie zum ersten Mal das Wort „Plugin“ oder „IDE“ hören: Wir erklären Ihnen, was es ist und wie Sie es mit minimalem Aufwand auf Ihrem Computer oder Laptop installieren können. Verstehen Sie die Theorie, gehen Sie dann zur IDE und schließen Sie dort die nächste Phase des Projekts ab.

Fristen. Sie sind nicht da! Wer sind wir, Ihnen auf den Kopf zu klopfen und Ihnen zu sagen, in welchem ​​Tempo Sie ein Programm schreiben sollen? Wenn Ihnen das Schreiben von Code Spaß macht und Sie ihn fertigstellen möchten, stellen Sie ihn heute oder morgen fertig. Machen Sie Entwicklung zu Ihrem eigenen Vergnügen.

Fehler. Jeder gibt sie zu, Sie auch in einer Phase des Projekts, und dann wird diese Phase die automatischen Tests nicht bestehen. Nun, Sie müssen selbst herausfinden, was schief gelaufen ist. Wir könnten Ihnen sagen, wo der Fehler liegt, aber würden Sie dadurch lernen, wie man Code sorgfältig schreibt? Lesen Sie Tipps von IDEA oder ein theoretisches Thema zu Bugs, und wenn das Programm endlich funktioniert, wird der Dopaminschub höchstwahrscheinlich nicht lange auf sich warten lassen.

Ein klares Ergebnis. Sie haben also den ersten Entwurf fertiggestellt, was kommt als Nächstes? Genießen Sie die Früchte Ihrer Arbeit! Spielen Sie Tic-Tac-Toe mit Ihren Freunden und prahlen Sie gleichzeitig mit Ihrem Erfolg. Laden Sie das Projekt auf GitHub hoch, um es einem zukünftigen Arbeitgeber zu zeigen, schreiben Sie selbst eine Beschreibung und geben Sie dort das Wissen an, das Sie angewendet haben. 4-5 komplexe Projekte, und jetzt ist ein bescheidenes Portfolio für einen beginnenden Entwickler fertig.

Chance für Wachstum. Nehmen wir an, Sie schauen sich Hyperskill an und sehen dort kein wichtiges Thema oder nützliches Projekt. Lassen Sie es uns wissen! Wenn Ihr Hintergrund umfassender und umfangreicher ist als die Wissenskarte, dann schreiben Sie uns über das Formular Beitragen. Unser Team teilt unsere eigenen Tipps und Tricks mit Ihnen und hilft Ihnen gerne dabei, Ihr Wissen in nützliche Inhalte umzuwandeln, die für Benutzer unterschiedlichen Alters und Niveaus verständlich sind. Vielleicht zahlen wir sogar, aber das ist nicht sicher.

Willkommen zurück: hi.hyperskill.org Kommen Sie vorbei, schauen Sie, probieren Sie es aus, machen Sie Vorschläge, loben Sie und kritisieren Sie. Wir lernen auch, Sie zu unterrichten.

Source: habr.com

Kommentar hinzufügen