Mit Liebe von Stepik: die Bildungsplattform Hyperskill

Ich möchte mit Ihnen darüber sprechen, warum wir öfter Sanitäranlagen reparieren, als darüber Dissertationen zu schreiben, über verschiedene Ansätze zum Programmierenlernen und darüber, wie wir einen davon in unserem neuen Produkt Hyperskill anwenden.

Wenn Ihnen lange Einleitungen nicht zusagen, springen Sie direkt zu dem Absatz über Programmierung. Aber so wird es weniger spaßig.

Mit Liebe von Stepik: die Bildungsplattform Hyperskill

Lyrische Abschweifung

Stellen wir uns ein Mädchen namens Masha vor. Heute wollte Masha sich Obst waschen und in Ruhe einen Film anschauen, aber leider stellte sie fest, dass das Waschbecken in der Küche verstopft ist. Was man damit machen soll – das ist noch unklar. Man könnte diese Frage auf unbestimmte Zeit verschieben, aber da jetzt Freizeit verfügbar ist, beschließt Masha, das Problem sofort zu lösen. Der gesunde Menschenverstand bietet zwei Optionen: a) einen Klempner rufen b) selbst damit umgehen. Das Mädchen wählt die zweite Option und beginnt, Anleitungen auf YouTube zu studieren. Auf den Rat des Nutzers Vasya_the_plumber schaut Masha unter das Waschbecken und sieht dort ein gewundenes Kunststoffrohr aus mehreren Teilen. Das Mädchen schraubt vorsichtig ein Teil am Fuß des Waschbeckens ab und findet nichts. Ein Stück Rohr etwas tiefer ist völlig mit einer unbekannten Substanz verstopft, und selbst die Gabel, die sie auf dem Tisch gefunden hat, schafft es nicht, die Verstopfung zu beseitigen. Die Experten aus dem Internet geben ernüchternde Prognosen: Das Teil muss ersetzt werden. Auf der Karte findet Masha das nächste Geschäft, nimmt das verfluchte Stück Rohr mit und kauft das gleiche, nur neu. Auf den Rat des Verkäufers nimmt Masha auch einen neuen Siebeinsatz zur Vorbeugung mit. Die Quest ist abgeschlossen: Das Waschbecken funktioniert wieder wie es soll, und die Protagonistin hat dabei Folgendes gelernt:

  • Die Rohre unter dem Waschbecken kann man selbst abschrauben und wieder anschrauben;
  • Das nächste Sanitärgeschäft ist anderthalb Kilometer von Mashas Wohnung entfernt.

Höchrscheinlich hat Masha nicht einmal bemerkt, wie viel sie Neues gelernt hat und was sie gelernt hat, weil sie sich um ihren zukünftigen Komfort sorgte, und gleichzeitig den Film schauen und einen gewaschenen Apfel genießen wollte. Das nächste Mal, wenn ein ähnliches Problem auftritt, wird das Mädchen es viel schneller lösen. Tatsächlich brachte Masha nicht nur die Dinge in ihren gewohnten Zustand zurück; sie lernte induktiv, das heißt aus Einzelfällen, und praxisorientiert, das heißt, Dinge zu tun, anstatt sie detailliert und im Voraus zu studieren.

Alles hätte anders laufen können. Angenommen, Masha sitzt abends im Sessel und erkennt plötzlich, dass sie moralisch und physisch nicht bereit ist für eine Verstopfung in der Spüle. Eilig meldet sie sich an einer Sanitärakademie an, lernt die verschiedenen Spülenarten, Rohre und mögliche Verbindungen, die Klassifizierung von Sanitärproblemen und die möglichen Lösungen dafür. Masha schläft nachts nicht, während sie Begriffe und Namen lernt. Möglicherweise schreibt sie sogar eine Dissertation über theoretisches Rohrleitungswesen, in der sie über Gummidichtungen nachdenkt. Schließlich, nachdem sie das Zertifikat erhalten hat, blickt Masha stolz auf ihre Küche in dem vollen Vertrauen, dass sich selbst das kleinste Problem mit der Spüle mit einem Fingerschnippen lösen lässt. In diesem Szenario hat das Mädchen gelernt deduktiv, indem sie vom Allgemeinen zum Spezifischen überging, und sie orientierte sich eher an Theorie..

Welcher der Ansätze passt also am besten? Im Falle der Spüle und der Verstopfung – der erste, und hier sind die Gründe dafür:

  1. Wenn nur die funktionierende Spüle wichtig ist, reicht es aus, zumindest das zu wissen, was genau diesen Bereich betrifft. Wenn Masha versteht, dass ihr Wissen nicht ausreicht, wird sie auf jeden Fall einen Weg finden, mehr darüber zu erfahren.
  2. Enzyklopädisches Wissen könnte in einer realen Situation nicht abrufbar sein, weil die Gewohnheit nicht eingeübt wurde. Um die Reihenfolge der Handlungen zu erlernen, ist es sinnvoll, sie nicht nur zu lesen, sondern sie tatsächlich auszuführen.

Lassen wir die arme Masha in Ruhe und kommen wir zum Lernprozess an sich.

Programmierung: lernen oder machen?

Wir sind gewohnt zu denken, dass man, um sich weiterzuentwickeln und Experte in einem unbekannten Bereich zu werden, zuerst an die Universität gehen oder sich zumindest für Kurse anmelden muss. Wir hören brav zu, was erzählt wird, und erledigen die Aufgaben. Wenn dann das ersehnte Diplom oder Zertifikat in den Händen liegt, sind wir sofort verloren, weil wir so oft nicht verstanden haben, wozu uns all diese Informationen dienen und wie wir sie konkret anwenden. Das stellt kein Problem dar, wenn die nächsten Planungen das Verfassen wissenschaftlicher Arbeiten und die Teilnahme an Konferenzen umfassen. Andernfalls sollte man auch auf praktische Fähigkeiten abzielen, das heißt, konkret Dinge zu machen, auszuprobieren und Fehler zu machen, um langfristig zu merken, wie man es besser nicht macht.

Ein Bereich, in dem "handfester Erfahrung" oder "Diamantblick" Hand in Hand gehen mit der Breite des Horizonts, ist die Programmierung. Wenn Sie mit erfahrenen Entwicklern sprechen, hören Sie mutige Geschichten, in denen eine Person von jeher Mathematik/F Physik/Lehre betreibt, aber dann müde wird und in den Backend wechselt. Es gibt auch Programmierer ohne Hochschulabschluss! In erster Linie schätzt man bei einem Entwickler nicht das Zertifikat, nicht das Diplom, sondern die Menge und die Qualität der geschriebenen Programme, Skripte und Websites.

"Aber warten Sie!", werden Sie einwenden, "Es klingt gut – mach es einfach! Ich kann mir nicht so einfach ein Programm schreiben, wenn ich vorher nicht programmiert habe! Es ist wichtig für mich zu verstehen, wo ich schreiben kann, wie ich grundsätzlich in der Programmiersprache mit dem Compiler sprechen kann. Das ist nicht so einfach wie die Telefonnummer eines Klempners bei Google zu finden."

Es gibt auch eine bittere Wahrheit darin. Ein unbekannter Aspekt zieht den nächsten nach sich, dieser wiederum den dritten, und bald verwandelt sich dieser Prozess in eine Zaubershow, in der der Magier weiterhin verbundene Taschentücher herausholt und sie einfach nicht aus dem Zylinder herausbekommt. Ich sage ehrlich, der Prozess ist unangenehm; beim 5. "Taschentuch" scheint die Tiefe der Unkenntnis der Marianengraben nahe zu sein. Die Alternative dazu sind dieselben Vorlesungen über 10 Arten von Variablen, 3 Arten von Schleifen und 150 potenziell nützlichen Bibliotheken. Traurig.

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

Wir haben lange über dieses Problem nachgedacht. Wie lange wir nachgedacht haben, sagt das Datum des letzten Posts in unserem Blog vielsagend aus. Nach all den Diskussionen und dem Versuch, einen neuen Ansatz auf Stepik zu integrieren, haben wir... eine andere Website erhalten. Möglicherweise haben Sie bereits davon als Teil der JetBrains Academy gehört. Wir haben es Hyperskill genannt, projektbasiertes Lernen integriert, eine Wissensdatenbank für Java hinzugefügt und Unterstützung vom EduTools-Team erhalten. Und jetzt mehr im Detail.

Mit Liebe von Stepik: die Bildungsplattform Hyperskill

Ein konkretes Ziel. Wir bieten ein "Menü" aus Projekten (projects) an, d.h. Programmen, die Sie mit unserer Hilfe schreiben können. Dazu gehören unter anderem Tic Tac Toe, ein persönlicher Assistent, Blockchain, Suchmaschine usw. Die Projekte bestehen aus 5-6 Phasen (stages); das Ergebnis jeder Phase ist ein fertiges Programm. "Warum dann die restlichen Phasen, wenn ich in der ersten bereits alles geschafft habe?" Danke für die Frage. Mit jedem Schritt wird das Programm funktionaler oder schneller. Zu Beginn umfasst der Code 10 Zeilen, am Ende könnte es sogar 500 überschreiten.

Ein wenig Theorie. Es ist unmöglich, sich hinzusetzen und, ohne auch nur ein Wort über Programmierung zu wissen, selbst ein "Hello World" zu schreiben. Daher sehen Sie auf jedem Projektabschnitt, welche theoretischen Grundlagen Sie erlernen müssen und vor allem, wo Sie diese finden können. Die Grundlagen sind auch auf Hyperskill im Abschnitt "Wissenskarte" (Knowledge Map) angeordnet. Für die erste Phase des Projekts müssen die Schüler keine Daten aus einer Datei lesen, auch wenn sie es nicht können. Sie lernen es später selbst, zur allgemeinen Weiterbildung, oder es wird in der nächsten Phase benötigt.

Mit Liebe von Stepik: die Bildungsplattform Hyperskill

Wissenskarte. Darauf ist zu sehen, welche Themen Sie bereits gelernt haben und wie sie miteinander verbunden sind. Öffnen Sie ein beliebiges ansprechendes Thema. Sie können es flüchtig überfliegen, aber wir empfehlen, auch einige kleine Aufgaben zu lösen, um sicherzustellen, dass die Informationen im Kopf hängen geblieben sind. Zu Beginn wird Ihnen die Plattform Tests anbieten, gefolgt von ein paar Programmieraufgaben. Wenn der Code kompiliert und die Tests besteht, vergleichen Sie ihn mit dem Musterlösung (reference solution), manchmal hilft das, einen optimaleren Umsetzungsweg zu erfahren. Oder um sich zu vergewissern, dass Ihre Lösung ohnehin großartig ist.

Nichts Überflüssiges. Wir erwarten sowohl "grüne" Benutzer als auch erfahrene Entwickler. Wenn Sie bereits Programme geschrieben haben, ist das kein Problem, wir werden Sie nicht wieder 2+2 addieren oder eine Zeile umdrehen lassen. Um sofort auf das richtige Niveau zu gelangen, geben Sie bei der Registrierung an, womit Sie sich bereits auskennen, und wählen Sie ein komplizierteres Projekt aus. Scheuen Sie sich nicht, sich selbst zu überschätzen: Wenn nötig, können Sie jederzeit zu einem vergessenen Thema in der Wissenskarte zurückkehren.

Mit Liebe von Stepik: die Bildungsplattform Hyperskill

Werkzeuge. Es ist großartig, kleine Codeabschnitte in ein spezielles Fenster auf der Website zu schreiben, aber richtiges Programmieren beginnt mit der Arbeit in einer Entwicklungsumgebung (Integrated Development EErfahrene Programmierer wissen nicht nur, wie man Code schreibt, sondern auch, wie man grafische Benutzeroberflächen erstellt, verschiedene Dateien zu einem Projekt zusammenführt, zusätzliche Entwicklungstools verwendet, und einen Teil dieser Prozesse übernimmt die IDE. Warum nicht auch diese Fähigkeiten erlernen, während Sie Programmierung meistern? Hier kommt JetBrains mit der speziellen Version von IntelliJ IDEA Community Educational mit dem vorinstallierten Plugin EduTools ins Spiel. In dieser IDE können Sie Schulungskurse absolvieren, gelöste Aufgaben überprüfen und auf Tipps zum Projekt zugreifen, falls Sie etwas vergessen haben. Machen Sie sich keine Sorgen, wenn Sie das Wort „Plugin“ oder „IDE“ zum ersten Mal hören: Wir werden Ihnen erklären, was das ist und wie Sie es mit minimalen Schwierigkeiten auf Ihrem Computer oder Laptop installieren können. Beschäftigen Sie sich mit der Theorie und gehen Sie dann zur IDE über, um die nächste Phase des Projekts direkt dort abzuschließen.

Fristen. Die gibt es nicht! Wer sind wir, um Ihnen vorzuschreiben, in welchem Tempo Sie ein Programm schreiben sollen? Wenn es Ihnen Spaß macht, Code zu schreiben und Sie ihn bis zum Ende fertigstellen möchten, können Sie das heute oder morgen tun. Entwickeln Sie zum Vergnügen.

Fehler. Jeder macht sie, machen Sie sie auf einer der Projektphasen und dann wird diese Phase die automatischen Tests nicht bestehen. Na gut, dann müssen Sie selbst herausfinden, was schiefgelaufen ist. Wir könnten Ihnen sagen, wo der Fehler liegt, aber wird Sie das wirklich lehren, aufmerksam Code zu schreiben? Lesen Sie die Hinweise von der IDE oder das theoretische Thema über Bugs, und wenn das Programm schließlich funktioniert, wird der Dopaminrausch wahrscheinlich nicht lange auf sich warten lassen.

Sichtbares Ergebnis. Also, Sie haben Ihr erstes Projekt beendet, was jetzt? Nutzen Sie die Früchte Ihrer Arbeit! Spielen Sie mit Freunden Tic Tac Toe und prahlen Sie gleichzeitig mit Ihren Erfolgen. Laden Sie das Projekt auf GitHub hoch, um es potenziellen Arbeitgebern zu zeigen, verfassen Sie eine Beschreibung selbst und geben Sie das Wissen an, das Sie angewendet haben. 4-5 komplexe Projekte und voilà, ein bescheidenes Portfolio für einen angehenden Entwickler ist bereit.

Wachstumschance. Nehmen wir an, Sie schauen sich Hyperskill an und sehen dort ein wichtiges Thema oder ein nützliches Projekt nicht. Lassen Sie es uns wissen! Wenn Ihr Hintergrund breiter und reicher ist als die Wissenskarten, schreiben Sie uns über das Formular. Beitragen. Unser Team wird mit Ihnen eigene Tipps und Tricks teilen, sodass wir Ihnen helfen, Ihr Wissen in nützlichen, für Nutzer unterschiedlichen Alters und Niveaus verständlichen Inhalt umzuwandeln. Vielleicht zahlen wir sogar, aber das ist ungewiss.

Willkommen: hi.hyperskill.org Kommen Sie vorbei, schauen Sie sich um, probieren Sie es aus, schlagen Sie vor, loben Sie und kritisieren Sie. Auch wir lernen, wie wir Sie unterrichten können.

Quelle: habr.com

60GB SSD 8Gb DDR4