Wie wir in unserem Blogbeitrag letzten Monat besprochen haben, ist eines unserer wichtigsten Ziele für das kommende Jahr, die Tracks so umzustrukturieren, dass sie sowohl den Lernenden mehr Freude bereiten als auch das Mentoring erleichtern. Im letzten Jahr haben wir dabei dank des Projekts Track Anatomy unter der Leitung von Maud de Vries große Fortschritte gemacht, und daraus haben wir einige grundlegende Probleme mit der Struktur der Tracks erkannt, die unserer Meinung nach vorrangig angegangen werden müssen. In den letzten zwei Monaten hat das Führungsteam diskutiert, wie wir das angehen sollten und was geschehen muss, damit unsere Tracks den nötigen Zustand erreichen, um das idiomatische Lernen verschiedener Sprachen zeitnah zu ermöglichen.
Heute freue ich mich sehr, bekannt geben zu dürfen, dass wir gemeinsam mit James Evans und Gary Lupyan von der University of Chicago, gesponsert von der Sloan Foundation, ein Projekt starten, das es uns ermöglicht, mit richtigem Fokus und Energie die Tracks von Exercism von Grund auf neu zu denken und diese Änderungen in einer Reihe von Sprachen umzusetzen. Außerdem freue ich mich, bekannt geben zu dürfen, dass wir Erik Schierboom eingestellt haben, um das Projekt zu leiten.
Hintergrund
In den letzten zwei Jahren haben James und Gary untersucht, wie sich die Sprachen, die ein Programmierer verwendet, auf dessen Effizienz, Kreativität und Zusammenarbeit auswirken. Mit Unterstützung eines Zuschusses der Sloan Foundation haben sie festgestellt, dass ein entscheidender Teil dieser Forschung darin besteht zu verstehen, wie Programmierer verschiedene Sprachen lernen und wie das vorhandene Wissen das neue Lernen fördert oder behindert. Genau diese Frage haben wir uns bezüglich der Sprach-Tracks auf Exercism gestellt. Wie wirkt sich die bisherige Erfahrung eines Menschen auf die Pfade aus, die er in unseren Tracks braucht, und auf den Stil und die Inhalte des Mentorings, auf die er am besten anspricht?
James, Gary und die Sloan Foundation haben beschlossen, einen Teil ihrer Ressourcen zu investieren, damit Exercism Energie in die Neugestaltung unserer Tracks stecken kann, um sie stärker auf die Besonderheiten einer Sprache auszurichten und sie anhand der bisherigen Erfahrung der Lernenden persönlicher zu gestalten.
Das Projekt
In den kommenden Wochen und Monaten werden wir noch viel mehr darüber bloggen, aber ich möchte die Hauptziele umreißen, die wir mit diesem Projekt erreichen wollen, und wie sie sich auf Exercism auswirken.
Die Kerne der Tracks neu denken: Unsere Tracks sollen Programmiersprachen vermitteln, nicht das Programmieren an sich. Wir wollen das in unseren Tracks verankern und unsere Kernpfade neu denken, um sie gezielt darauf auszurichten, die Idiome zu vermitteln, die eine Sprache einzigartig machen. Wir wollen neue Übungen entwerfen und entwickeln, die jeweils gezielt auf ein einzelnes Idiom ausgerichtet sind. In Ruby könnten wir zum Beispiel eine Übung haben, die das Enumerieren statt Schleifen vermittelt, oder in JavaScript das Konzept der Prototypes oder des Bindings.
Eine umfassende automatische Analyse-Abdeckung der Kernübungen entwickeln: Wir möchten, dass Lernende den Kern eines Tracks schnell durchlaufen können. Beim Entwerfen von Übungen werden wir bewusst darauf achten, wie wir für die möglichen Lösungen eine automatische Analyse-Abdeckung von 95 % erreichen können. Das bedeutet, dass sich die Interaktionen der Mentoren auf die 5 % der Lernenden beschränken, die wirklich ihre Hilfe brauchen, oder auf interessantere und abwechslungsreichere Nebenübungen. Im Rahmen dessen wollen wir Tools entwickeln, mit denen unsere Mentoren zu den automatischen Analyzern beitragen können, ohne sich in die Codebasis einarbeiten zu müssen.
Maßgeschneidertes automatisches Mentoring und Mentoring-Hinweise auf Basis der bisherigen Erfahrung anbieten: Sobald wir die vorherigen Schritte abgeschlossen haben, wollen wir erkunden, wie wir das Feedback, das ein Lernender erhält, auf seine bisherige Erfahrung zuschneiden können, sei es bei den automatischen Antworten, die er bekommt, oder bei den Hinweisen, die wir den Mentoren geben. Das Feedback, das jemand beim Erlernen einer bestimmten Sprache braucht, hängt stark von seinem Vorwissen ab. Seine Ankerpunkte sind andere, und sein vorhandenes Wissen lässt sich womöglich schwerer verlernen. Wenn wir also die bisherige Erfahrung eines Menschen berücksichtigen, können wir den Lernenden eine persönlichere und nützlichere Erfahrung bieten.
Programmieren im Browser ermöglichen: Parallel zum Neudenken der Kern-Tracks werden wir eine unserer am häufigsten gewünschten Funktionen hinzufügen: die Möglichkeit, Übungen im Browser zu lösen. Das wird die Nutzung der Kommandozeile nicht ersetzen, die wir für eine unglaublich wertvolle Art zu lernen halten, sondern den Menschen die Möglichkeit geben, Sprachen schnell auszuprobieren und zu erkunden, ohne die Sprache und ihre Tools installieren zu müssen.
Die Finanzierung
Die Finanzierung, die wir über James und Gary von der Sloan Foundation erhalten, wird es Jeremy, Nicole, Charles und Karlo ermöglichen, in den nächsten 12 Monaten den größten Teil ihrer Zeit in die Produktarbeit, die Entwicklungsarbeit und die Architektur zu stecken, die für die genannten Ziele nötig sind.
Sie wird es uns außerdem ermöglichen, Erik einzustellen, der die „Lehrplan"-Seite des Projekts leitet. Erik ist seit 2016 ein bedeutender Mitwirkender bei Exercism: Er pflegt die C#-, F#- und Scala-Tracks, baut Analyzer, entwirft Übungen, trägt zu project-specifications bei und ist als Mentor tätig. Er begeistert sich außerdem für Programmiersprachen und hat einen beträchtlichen Teil der Tracks auf Exercism abgeschlossen. Und vor allem wird er in der Exercism-Community allgemein geschätzt und respektiert, weshalb er genau der Richtige ist, um uns dabei zu helfen, zu verstehen, wie wir Tracks und Systeme entwerfen können, in denen die Unterschiede und Gemeinsamkeiten von 50 verschiedenen Programmiersprachen zur Geltung kommen.
Mitmachen
Wir werden ein eigenes Team zusammenstellen, das bei diesem Projekt hilft. Dieses Team wird dafür verantwortlich sein, die Idiome über alle Tracks hinweg zu definieren, neue Kernübungen zu entwerfen, uns beim Entwurf von Frameworks und Standards für Analyzer zu helfen und durchzudenken, wie vorhandenes Wissen das Lernen beeinflusst.
Wenn du ein erfahrener Mentor und Maintainer bist und mitmachen möchtest, würden wir uns freuen, von dir zu hören. Schreib mir bitte auf Slack.
Fazit
Wir freuen uns sehr auf diese nächste Phase. Wir sind überzeugt, dass sie Exercism große Schritte nach vorn bringen und unseren Lernenden wie unseren Mentoren besser dienen wird. Wir sind James, Gary und der Sloan Foundation für ihre Unterstützung sehr dankbar.