PlomWiki: Zur Start-Seite Suche Letzte Änderungen (Feed) Letzte Kommentare (Feed) Flattern
Impressum Datenschutz-Erklärung

HalloWeltInAssembler

Ansicht Bearbeiten Anzeige-Titel setzen Versions-Geschichte Seiten-Passwort setzen AutoLink-Anzeige ein-/ausschalten

Vortrag von plomlompom / Christian Heller, fotografiona / Fiona Krakenbürger und erlehmann / Nils Dagsson Moskopp auf der SIGINT 2012. Programm-Link. Video-Aufzeichnung.

Titel: "Hallo Welt" in Assembler
Untertitel: Programmieren ist das neue Latein. Wie bringen wir es unter unsere Mitmenschen?

KurzZusammenfassung: Wir halten das Verstehen und Programmieren von Computern für eine lohnenswerte Kompetenz, die so vielen Menschen als möglich vermittelt werden sollte. Hierfür gibt es verschiedene Ansätze, die uns nicht alle zusagen; wir probieren mit "Fiona lernt programmieren" unseren eigenen, mit einigen Besonderheiten (wir fangen in unserer Drei-Leute-Lernzelle low-level mit Assembler an und arbeiten uns von dort bis Python hoch), vergleichen ihn mit anderen; und wollen dafür werben, sich in bedürfnismäßig stark individualisierbaren Hacker-und-(Noch)-nicht-Hacker-Kleingruppen zum gemeinsamen Ausbau der eigenen Fähigkeiten zusammenzufinden.

Abstract:

Code ist eine privilegierte Sprache, den Massen unbekannt. Das finden wir schlecht: Wir misstrauen der Trennung zwischen Zauberern und Muggels, also zwischen Nerds, die Computer verstehen und programmieren können und den bloßen Konsumenten, die nur noch auf einen Button klicken sollen; einen Button, der nur das macht, was die Programmierer vorentschieden haben.

Es gibt verschiedene Projekte und Ansätze zur Überwindung dieses Grabens – vom klassischen Informatikschulunterricht über einsteigerfreundlichen Programmiersprachen wie Python, bis zu zielgruppenspezifischen Kursen, bspw. “für Frauen”. Wir finden diese Ansätze mal mehr, mal weniger sinnvoll in ihren oft sehr allgemeinen Annahmen über Fähigkeiten, Verständnis, Interesse der Lernenden oder ihren Vereinfachungen komplexer Zusammenhänge.

Anfang des Jahres wurden wir getriggert durch die Website „Code Year“, die den Vorsatz bewirbt, in einem Jahr von null auf Programmieren zu lernen. Wir schauten uns die damit verbundene „Code Academy“ an, entschieden uns dann aber für einen eigenen Ansatz. Code Academy wirkte uns zu oberflächlich. Wir wollten uns ein grundsätzlicheres Verständnis des Computers und seiner Funktionsweise erarbeiten.

Zu diesem Zweck fanden wir uns in einer bewusst kleinen Lerngruppe zusammen – mit verteilten Vorkenntnissen von “Keine Ahnung” (Fiona) bis “Habe Informatik studiert” (erlehmann). Und statt wie sonst üblich auf einer vermeintlich einsteigerfreundlichen, abstrakten Ebene anzufangen (bei Code Academy z.B. mit JavaScript), haben wir das erste Drittel des Jahres der betont low-leveligen Assemblerprogrammierung gewidmet. Das klingt nach Schweiß und Tränen, und das war es auch - aber es lohnt sich! Fiona bspw. lernt so nicht nur, ein Pop-Up mit dem Inhalt „Hallo Welt“ auszulösen, sondern jeden einzelnen ASCII-Buchstaben Byte für Byte in den Linux-Kernel zu schaufeln. Und was ein "Byte" und ein "Kernel" überhaupt sind.

Teil des Vorhabens ist auch das begleitende Bloggen über einzelne Stunden und verwandte Themen wie bspw. der Geschichte der Hackerkultur auf , weitergehend das Hocharbeiten zu C und Python sowie Konzepten wie Versionsmanagement und objektorientierter Programmierung – all das aber eng entlang der individuellen Interessen der Lerngruppe: Fiona möchte vor allem Verstehen, erlehmann will kreativ sein und @plomlompom geht es um das „Wohlergehen der Menschheit“.

Wir finden viel Gutes an unserer Vorgehensweise und wollen sie vorstellen, als Vorgehensweise Anderen schmackhaft machen, sie mit alternativen Ansätzen (z.B. Code Academy) vergleichen, von unseren Problemen und Lösungsansätzen berichten und weitere Ideen sammeln. Wir glauben, dass selbst der BESTE der BESTEN der BESTEN Hacker noch einiges über seine Lieblingsthemen lernen kann, wenn er Muggels als Hackerschüler adoptiert. In dem Sinne: Lernen durch Lehren! Bildet Lernbanden! Program or be Programmed!

Kommentare

Keine Kommentare zu dieser Seite.

Schreibe deinen eigenen Kommentar

Dein Name:
Deine URL:

Captcha-Passwort benötigt! Schreibe "apfel":
PlomWiki-Engine lizensiert unter der AGPLv3. Quellcode verfügbar auf GitHub.