#Scratch #Programmieren #Linux #Fedieltern #Caliope
@klappspatack Minetest/Luanti ist ziemlich einfach, aber es hat auch den Nachteil, dass man nicht bequem programmiert. Die REPL ist umstaendlich, d.h. wie Du das Ergebnis von ner Zeile Code siehst.
Ich wuerde mal auf Steam nach "The Farmer was Replaced" gucken: da lernt man spielerisch Python.
@jens @klappspatack YIp, farmer was replaced is ein _superbes_ spiel um die ersten python basics zu lernen..
Python wäre so oder so auch der nächste vorschlag als praktisch nutzbare sprache zum lernen. (Später z.b. mittels MicroPython dann auch microcontroller programmieren usw.. ;))
@klappspatack Tatsächlich habe ich zufällig letztlich so eine Art Anleitung geschrieben :)
Ist aber leider nicht wirklich anfängerfreundlich, setzt Programmierkenntnisse in Lua voraus. Trotzdem mal hier der Link:
https://docs.luanti.org/for-creators/guides/your-first-mob/
Man kann die Sache noch weiter vereinfachen, wenn man eine "Mob API" wie https://content.luanti.org/packages/TenPlus1/mobs/ verwendet. Das sieht dann bspw. so aus: https://codeberg.org/tenplus1/mobs_animal/src/branch/master/penguin.lua
Aber fangen wir mal von vorne an.
Your first mob# This guide walks you through creating a simple mob. It covers basics of using entities, the go-to tool for any in-world objects that need to be more “dynamic” than a node, i.e. moving. This guide assumes that you have a minimal mod mymod set up, and want to edit mymod/init.lua to register a mob, the “bloblet”. When you’re done, you will have a simple mob that attacks players. It will look something like this:
@klappspatack Wenn sie sich für Luanti-Modding interessiert, sollte sie die Programmiersprache Lua lernen. Dafür gibt es das Buch "Programming in Lua" (PIL, https://www.lua.org/pil/). Luanti verwendet Version 5.1 von Lua.
Lua ist eine sehr schöne Programmiersprache und meiner Meinung nach geeigneter als Python, hat allerdings auch ein wesentlich kleineres Ökosystem, also kann es etwas schwieriger sein, gute Bücher zu finden.
@klappspatack Vielleicht macht auch LÖVE2D (https://love2d.org/), ein Framework für 2D-Spieleentwicklung mit Lua, Sinn. Dafür gibt's auch ein schönes, anfängerfreundliches Buch, das einen nett in Lua einführt: https://www.sheepolution.com/learn/book/contents.
Für Luanti gibt's rubenwardy's modding book (https://rubenwardy.com/minetest_modding_book/en/index.html) das eine gute Einführung in die Luanti API bietet. Lua bringt es einem aber nicht bei. Zusammen mit PIL und dem Lua 5.1 reference manual könnte es aber gut funktionieren.
@klappspatack Wenn es um Programmierlogik geht wie bei Scratch, dann würde ich mit einer vollwertigen Programmiersprache anfangen. Ob man eher mit technisch komplexen Sprachen, die vorerst einfacher in der Benutzung sind, anfängt (z. B. Python, JavaScript) oder lieber mit einer technisch einfachen Sprache wie C (nicht C++ oder C#), ist Geschmackssache. Ich würde C empfehlen, weil man da am ehesten noch versteht, was der Computer mit seinen Nullen und Einsen im Hintergrund anstellt. Interessante Programmierrätsel gibt’s außerdem unter https://code.golf.
Wenn sich K1 für die Gestaltung von Webseiten interessiert, dann HTML und CSS, aber das ist dann keine Programmierung mehr im eigentlichen Sinne, sondern das sind Struktur- und Gestaltungssprachen. Darauf aufbauend kommt dann JavaScript, PHP und auch immer mehr Python.
@klappspatack
Python ist n allround-Talent. insbesondere, wenn man nicht vor hat, in die Tiefe eines Teilbereiches zu gehen, ist man m.E. damit erst mal gut dran.
(Und in bisschen Linux-shell schadet auch nicht, um Rasperry, Server Etc. bedienen zu können).
@hollma
@klappspatack Ich finde die Kurse von openHPI gut. Dieser hier wäre z.B. evtl. geeignet:

Du bist Schüler:in zwischen 12 und 18 Jahren? Du hast bisher noch keine Programmierkenntnisse oder möchtest gerne Python lernen, eine einfache, aber sehr mächtige Programmiersprache, die auch in Industrie und Forschung stark verbreitet ist? Dann bist du hier genau richtig! Python zeichnet sich insbesondere durch eine gute Lesbarkeit und die hohe Verfügbarkeit bestehender Bibliotheken aus. In diesem vierwöchigen kostenlosen Einsteigerkurs lernst du spielerisch und mit gehörigem Spaßfaktor die Grundlagen der Programmierung in Python kennen. Neues Wissen vertiefen wir mit praktischen Beispielen und helfen so, den beiden Schlangen Simon und Stella ihre Probleme zu lösen. Die beiden Schlangen stehen symbolisch für die Programmiersprache Python, dessen Logo zwei Python-Schlangen bilden. Gleichwohl sich der Kurs vor allem an Schüler:innen richtet, ist die Teilnahme für alle offen.
@klappspatack wenn sie Lust hat auch direkt in Hardware einzusteigen, ist vllt der Calliope was für euch. Die Website richtet sich zwar an Schulen, mE sind die Materialen aber zum (gemeinsamen) Selbststudium geeignet.
Psychologisch hat es den großen Vorteil, dass man mit dem Programmieren gleich einen super sichtbaren Effekt hat.
@klappspatack Hast du ja auch geschrieben 😮💨Ich sollte keine Posts vorm ersten Kaffee schreiben...
Dann wäre der logische Schritt, nun eine Programmiersprache zu lernen, die man mit dem Caliope nutzen kann. Also JavaScript/TypeScript oder Python.
@klappspatack ich bin Mentorin bei einem Coderdojo und wir machen oft Python als nächsten Schritt nach Scratch oder Calliope.
python.org ist die erste Anlaufstelle, da gibt's auch jede Menge Links zu Lernmaterialien. Die Community ist super. Ansonsten guck Mal bei "jugend hackt" . Die haben Workshop-Materialen für Python.
Wenn es um Spiele gehen soll, wäre TIC-80 eine gute Wahl. Da muss das Kind aber schon halbwegs programmieren können.
Meld dich wenn du noch Fragen hast.
@klappspatack Nach in der Schule “Pascal abtippen” habe ich von meinem Papa den #KernighanAndRitchi “Programmieren in C” bekommen.
C schadet sicher auch heutzutage immer noch nicht. In dem Buch wird die Sprache erklärt, und was sie tatsächlich in der Maschine anrichtet. Am Ende der Kapitel sind kleine Aufgaben und deren Lösungen.
Es gibt #KopfBisFuss / #HeadFirst Bücher. Fand ich für C# und Patterns super.
Die meisten gängigen Sprachen sind übrigens “C-ähnlich” immer noch…. #Python ist da schon eher etwas anders
@klappspatack wir hatten damals am technischen Gymnasium u.A. C und Assembler auf Atmel Mikrocontrollern. Das schöne an den kleinen (attiny2313 etc.) ist, dass der Befehlssatz überschaubar ist. Zum Grundverszändnis wie so ein Computer funktioniert ist das wirklich top. Inzwischen gibt es da ja viel mächtigere Chips, Circuitpython, Arduino & co, aber egal wie mächtig der Computer ist im Grunde sind die Prinzipien immer die selben.
Dediziert Lehrmaterial/Links habe ich dazu aber leider keine.
Was sind denn so Dinge die aktuell umgesetzt werden und wo könnte die Reise grob hin gehen / wo besteht der Wunsch nach "mehr"? Viele Unterlagen sind in Englisch, wäre das ein Problem?
Edit: Lego Mindstorms hat ein Kollege für seinen Nachwuchs im Einsatz, bis auf Elektronik davon reparieren hatte ich selbst aber noch keinen Kontakt damit
Als wir in der Schule mit Java angefangen haben, hatten wir BlueJ genutzt.
Das ist eine Recht simple Umgebung die versucht Objektorientierung zu visualisieren, ohne dabei gleich in Komplexität zu explodieren.
@klappspatack
Ich habe dieses Buch hier im Auge, das ich aber noch nicht ausgegeben habe.
Das könnte was sein.
https://www.rheinwerk-verlag.de/spiele-programmieren-mit-godot/
Und "Let's code Lua" aus dem gleichen Verlag.
Ansonsten vllt einfach anfangen, mit Typst Vorlagen für Referate und Schulkram zu basteln, und mal die Matheaufgaben mit Scratch oder Python lösen.
Für den Calliope gibt es noch tolle Hardware-Erweiterungen, zB Motoren und Sensoren, zB https://cardboard.lofirobot.com/sleepybot-hungrybot
Und für Lego: pybricks. Das ermöglicht dann auch den Wechsel von Blocksprache zu Text und bietet mit den Motoren sehr viele praktische Herausforderungen.
@klappspatack ich kann wärmstens The Nature of Code empfehlen (sofern English ok ist). Die Übungen machen Spaß und sind nicht trocken, da es in den Bereich creative coding reingeht mit visuellen Ergebnissen statt nur Text. Es gibt auch viel Begleitmaterial und tutorial videos und ist CC-lizensiert, wenn man also nicht das gedruckte Exemplar will, gibts alle Kapitel auch online.
https://natureofcode.com/introduction
Allerdings werden ein paar Grundlagen vorausgesetzt, bei deinen ich nicht weiß ob die mit Scratch vermittelt werden (Schleifen, Variablen usw.)