MakeCode-Plattformen hosten?

Es gibt eine umfangreiche Sammlung von Online-Plattformen von Microsoft, mit denen man programmieren lernen kann. Sie heißen “MakeCode” und basieren auf dem Open-Source-Projekt PXT.

Die Microsoft-Instanzen davon kann man hier ausprobieren:

Wäre das für Workshops bei uns interessant? Wenn ja, sollten wir überlegen, ob wir eine angepasste Version davon selber hosten, bei de rman sich dann mit LEOPARD-Account einloggen kann und seine Projekte in der LEOPARD-Cloud oder in EduGit speichern kann, und wo keine Microsoft-Werbung drin ist.

Bitte probiert das doch mal durch und sagt, ob das sinnvoll wäre!

Okay, nachdem ich glaube die Frage verstanden zu haben, habe ich immer noch gemischte Gefuehle. Wenn ich richtig verstehe, geht es um dieses javascript framework?

Ich kenne mich mit javascript nicht wirklich gut aus, kann man irgendwie sicherstellen, dass da kein Modul dabei ist das staendig mit Microsoft telefonieren will?

Ich bin persoenlich auch kein Freund von VSCode (ich verstehe den Monaco als VSCode-Webversion), aber ich muss auch zugeben das die einzelnen Module natuerlich schon cool sind.

Muesste man Lego und Minecraft aus der Liste nehmen? Vielleicht ist auch generell eine kleinere Auswahl an Editors sinnvoller?

Ueber Hardwareanforderungen konnte ich jetzt noch nichts finden, oder laufen die Runner irgendwo extern?

Ich finde das Konzept sieht sehr gut aus und wir sollten uns eine Instanz davon zulegen.

Die Möglichkeit zwischen verschiedenen Programmierarten (Scratchänliche Blöcke und Python bzw. JavaScript) zu wechseln ist interessant und lässt sich bestimmt gut für unsere Workshops verwenden.
Die verschiedenen Optionen sind sowohl gut für das Programmieren von Spielen als auch für Elektronik.

Kannst du ein paar Beispiele nennen, in welcher Art von Workshops du die Plattformen einsetzen würdest?

Bitte berücksichtige dabei, dass wir uns generell gehen symbolische Programmierung ausgesprochen haben.

Ich denke das wäre vor allem nützlich für den Beginn des Workshop und einen Einsteig ins Programmieren, da die Teilnehmer denke ich dadurch, dass sie sowohl die Bausteine als auch den Code sehen können, leichter verstehen lernen, wie die Programmiersprache funktioniert und somit dann einen einfacheren Einstieg ins Programmieren haben.

Das war ja auch schon so, als wir uns entschieden haben, keine symbolische Programmierung zu benutzen. Was hat sich seitdem geändert?

Ich weiß nicht mehr genau, warum wir damals die Entscheidung getroffen haben. Ich dachte eigentlich das hat damals an der technischen Umsetzung oder so gelegen.

Ich habe die Plattform bereits genutzt, um meinen Calliope Mini zu programmieren. Das hat soweit auch gut geklappt, nur die Programmierung in JavaScript oder Python ist etwas schwerer zu verstehen, weil zu den Befehlen keine Infos stehen.

Eine angepasste Version selber zu hosten, fände ich eine gute Idee, da es ein schöner Einstieg ist.

Die Plattform ist besonders dafür gut, um Leuten, die schon Scratch oder JavaScript können, den Einstieg in python zu erleichtern. Sonnst sehe ich aber ehrlich gesagt wenig Einsatzmöglichkeiten.

Desweiteren nutzt MakeCode Dinge, die es in Python “pur” bzw mit pygame so nicht gibt (Beispielsweise:
game.over(True/False, effects.whatever). Wenn man das als Einstieg benutzen würde, wären bestimmt viele verwundert, warum deren Code auf einmal nichtmehr funktioniert.

Desweiteren nutzt MakeCode Dinge, die es in Python “pur” bzw mit pygame so nicht gibt (Beispielsweise:
game.over(True/False, effects.whatever). Wenn man das als Einstieg benutzen würde, wären bestimmt viele verwundert, warum deren Code auf einmal nichtmehr funktioniert

Ist das nicht das ganz normale API von Arcade?

Das ist doch in unseren Pygame-Workshops genau so, dass wir ein Framework und dessen API benutzen?

Ist das nicht das ganz normale API von Arcade?

Da habe ich ehrlicherweise keine Ahnung, könnte natürlich sein.

Das ist doch in unseren Pygame-Workshops genau so, dass wir ein Framework und dessen API benutzen?

Dann müsste man halt dasselbe Framework für den ganzen Workshop benutzen. Kann man machen. Ich dachte halt, dass man das nur zum Einstieg benutzt und danach weglegt, aber so geht es natürlich auch.

Ich finde die ganze Geschichte sehr interessant. Das Modul micro:bit ist eigentlich genau das, wonach wir letztes Jahr gesucht haben um einen Elektronik-Workshop online anbieten zu können.

Ein paar Aspekte, die mir aufgefallen sind:

  • Die Skillmaps, die dort verwendet werden um in kleinen Lernprojekten die Programmiersprache bzw. die Platformen (z.B. micro:bit oder Arcade) näher zu bringen, passen aus meiner Sicht sehr gut zu den SkillFlux-Konzepten im Projekt Leopard. Der Abschluss einer Skillmap könnte dann eine Transition darstellen.

  • Das direkte Feedback finde ich ganz schick. Wenn man im Code-Anpassungen vornimmt, dann erscheinen diese direkt im Simulator. Erstelle ich ein Sprite, taucht dieser z.B. direkt auf.

  • Die Verknüpfung zu Github würden wir vermutlich durch eine Verknüpfung zu edugit ersetzen.

Aus meiner Sicht bietet sich eine solche Platform aber hauptsächlich für asynchrones Lernen an. Wir könnten Skillmaps erstellen, anhand derer dann Aspekte gelernt werden können.

Auch für synchrone Online-Workshops könnten wir eine solche Plattform verwenden. Da könnte man dann Problemen aus dem Weg gehen, dass die Teilnehmenden nicht die aktuellste Thonny- oder Python-Version installiert haben.

Bei synchronen Offline-Workshops finde ich aber unserer bisherigen Möglichkeiten ausreichend.