Medienbildung und Informatik

Fol­gen­de Auf­ga­ben haben Pro­gram­mier­an­fän­ger von mir nach ca. vier Ein­hei­ten Python bekom­men. Das Bei­spiel zeigt – fin­de ich – ganz gut, dass Medi­en­kom­pe­tenz und Infor­ma­tik sich sehr gut ergän­zen kön­nen, teil­wei­se viel­leicht sogar ein­an­der bedin­gen. Das Pro­blem der Pass­wort­län­ge und dem Pass­wort­auf­bau wird hier bewusst nicht ange­spro­chen, weil das pro­gram­mier­tech­nisch etwas anspruchs­vol­ler ist. Das kommt dann in der Folgestunde.
Wei­ter­hin ist natür­lich auch das sha-2-Ver­schlüs­se­lungs­ver­fah­ren moder­ne­ren Ent­wick­lun­gen wie z.B. pbkdf2 weit unter­le­gen, aber auch pro­gram­mier­tech­nisch wesent­lich beherrsch­ba­rer. sha512 ist schon ganz ok, auch wenn heu­ti­ge Gra­fik­kar­ten ca. 200 Mil­lio­nen Schlüs­sel pro Sekun­de berechnen.

Kryptografie

Immer wie­der hörst du davon, dass bei gro­ßen Anbie­tern Daten­bank­in­hal­te gestoh­len wer­den. In dem Arti­kel steht aller­dings nichts davon, dass Pass­wör­ter gestoh­len wer­den, son­dern Has­h­es. Heu­te wirst du ler­nen, dass du jetzt schon ganz ein­fach viel bes­ser sein kannst als Lin­kedIn und das mit nur ganz weni­gen Code­zei­len in Python.

Um alles mög­lichst gut zu ver­ste­hen, musst du auf jeden Fall die bei­den oben ver­link­ten Arti­kel lesen oder wenigs­tens überfliegen.

Aufgabe 1:

Nimm eines dei­ner Pass­wör­ter und las­se fol­gen­des Pro­gramm lau­fen (z.B. auf https://try.jupyter.org ).

1
2
3
4
5
6
7
# wir weisen Python an, Kryptografiefunktionen zu laden
import hashlib
# wir fragen nach einem Passwort
crypted_phrase = input()
# Und geben den Hash des Passworts als MD5-Hash aus
print("Hash is:")
print(hashlib.md5(crypted_phrase.encode('utf-8')).hexdigest())

Nimm jetzt den Hash und kopie­re ihn auf die­se Sei­te. Nach Ein­ga­be der Sicher­heits­ab­fra­ge (reCap­t­cha) kannst du schau­en, ob der Hash dei­nes Pass­worts bereits bekannt ist (Wenn du das Ver­fah­ren mit dem Pass­wort „12345678“ durch­führst, wirst du sehen, dass das „geknackt“ wird.

Wie­der­ho­le das Ver­fah­ren mit einem dei­ner Pass­wör­ter und fol­gen­dem Pro­gramm (mit „12345678“ klappt es! – auch mit dei­nem Passwort?):

1
2
3
4
5
6
7
# wir weisen Python an, Kryptografiefunktionen zu laden
import hashlib
# wir fragen nach einem Passwort
crypted_phrase = input()
# Und geben den Hash des Passworts als MD5-Hash aus
print("Hash is:")
print(hashlib.sha512(crypted_phrase.encode('utf-8')).hexdigest())

Wenn dein Pass­wort auch im zwei­ten Fall „geknackt“ wur­de, hast du ein Pro­blem, wenn du Opfer eines Daten­bank­dieb­stahls wirst. Auch dein Anbie­ter wird nur Has­h­es in einer Daten­bank speichern.

Infor­mie­re dich jetzt über den Unter­schied zwi­schen dem md5- und dem sha512-Ver­schlüs­se­lungs­ver­fah­ren. Python kann fol­gen­de Ver­fah­ren „von Natur aus“: md5, sha1, sha224, sha256, sha384, sha512.

Aufgabe 2:

Das Pro­blem ist schon lan­ge gelöst – mit nur weni­gen Code­zei­len mehr. Infor­mie­re dich über den Begriff „Salt“ in Ver­bin­dung mit Hashes.

1
2
3
4
5
6
import hashlib
# Statt "somestring" kannst bzw. solltest du möglichst wirres Zeug hier reinschreiben
salt = "somestring"
crypted_phrase = input()
salted_password = crypted_phrase + salt
print(hashlib.md5(salted_password.encode('utf-8')).hexdigest())

Wenn du jetzt ver­suchst, den Hash cra­cken zu las­sen, klappt das nicht mehr, weil ein soge­nann­test „salt“ (Salz) zum Pass­wort hin­zu­ge­fügt wird. Bei unse­rem Pro­gramm ver­wen­det jedes Pass­wort jedoch den glei­chen Salt.

Auch dafür gibt es eine Lösung:

1
2
3
4
5
6
import hashlib, uuid
# Python schreibt nun für dich wirres Zeug hier hinein
salt = uuid.uuid4().hex
crypted_phrase = input()
salted_password = crypted_phrase + salt
print(hashlib.md5(salted_password.encode('utf-8')).hexdigest())

Hät­ten Lin­kedIn und ande­re die Benut­zer­pass­wör­ter mit einem siche­ren Algo­rith­mus (z.B. sha512) gehasht und mit einem Salt ver­se­hen, wäre der Dieb­stahl der Daten­ban­ken nicht so ein gro­ßes Pro­blem, da es sehr lan­ge dau­ern wür­de, die Pass­wör­ter aus den Has­h­es zu errechnen.

In der Pra­xis spei­chert man die Salts im Klar­text zusam­men mit den Has­h­es, meist durch ein Trenn­zei­chen abge­setzt. Du kannst ja ein­mal über­le­gen, war­um das kein Pro­blem darstellt.

Aufgabe 3:

Schrei­be fol­gen­de Programme

  1. Es wird zwei­mal ein Pass­wort abge­fragt und dazu ein Hash berech­net. Stim­men bei­de Has­h­es (und damit die Pass­wör­ter) über­ein, soll das Pro­gramm die Aus­ga­be „Access granted!“ machen, ansons­ten „Access denied!“ ausgeben.
  2. Ein Pro­gramm fragt nach einem „Masterpasswort“ (pass­word) und einem Domain­na­men (salt). Es berech­net dar­aus einen Hash, den man als Pass­wort für die betref­fen­de Web­sei­te benut­zen kann – wenn man immer das rich­ti­ge Mas­ter­pass­wort und den glei­chen Domain­na­men ein­gibt – qua­si ein ganz ein­fa­cher Passwortmanager!

10 Pflichtfach Informatik \n 20 goto 10

Ich hal­te ein „Pflicht­fach Infor­ma­tik“ für unver­zicht­bar. Auf Twit­ter wird Lud­ger Hum­bert nicht müde, immer wie­der und wie­der danach zu rufen, wobei die Pene­tranz, mit er er die­se For­de­rung vor­trägt, weit über die von z.B. Jean-Pol Mar­tin impli­zit als not­wen­dig erach­te­te hinausgeht.

Die­se Dau­er­schlei­fe führt im Wesent­li­chen zu drei Reaktionsmustern:

  1. Man erträgt sie nicht mehr und blockt oder mutet.
  2. Man erwi­dert, dass man ja auch nicht ein Auto ver­ste­hen müs­se, um es zu bedienen.
  3. Man erwi­dert, dass man ja auch nicht ein Auto ver­ste­hen müs­se, um es zu bedie­nen und blockt oder mutet dann.

Eigent­lich fin­det damit eine Aus­ein­an­der­set­zung auf zwei Ebe­nen statt: Eine emo­tio­na­le und eine ratio­na­le. Wenn ich in der Bera­tung etwas nicht will, ver­su­che ich genau auf zwei Ebe­nen Ableh­nung zu erzeu­gen: Emo­tio­nal und ratio­nal, wobei die ers­te Ebe­ne wesent­lich wich­ti­ger ist.

Ohne Blu­men­fil­ter: Die Art und Wei­se, wie die­se For­de­rung vor­ge­tra­gen wird, sorgt m.E. eigent­lich erst dafür, dass man ihr kei­ne oder allen­falls nega­tiv besetz­te Beach­tung schenkt.

Die ratio­na­le Ebe­ne der Auto­ana­lo­gie ist für mich aller­dings eine nur vor­der­grün­dig ratio­na­le, die wie­der­um viel mit dem jeweils zugrun­de lie­gen­den Kom­pe­tenz­be­griff zu tun hat. Ver­meint­lich als Syn­the­se schleicht sich zusätz­lich der Begriff der Medi­en­kom­pe­tenz in die Debat­te, wobei ich den­ke, dass es kei­ne wie auch immer gear­te­te Medi­en­kom­pe­tenz ohne infor­ma­ti­sche Bil­dung geben kann. Aber langsam.

Medienkompetenz ist sexy, denn:
  1. Medi­en­kom­pe­tenz ist vor­der­grün­dig ohne tech­ni­sches Wis­sen vermittelbar.
  2. Medi­en­kom­pe­tenz lässt sich am ehes­ten in bestehen­de Fächer inte­grie­ren – das ist admi­nis­tra­tiv sehr sexy, weil es rea­lis­ti­scher erscheint, als ein wei­te­res Fach zu schaf­fen, was ggf. zu Las­ten ande­rer Fächer geht.
  3. Medi­en­kom­pe­tenz fällt digi­tal affi­nen Men­schen qua­si im Vor­bei­ge­hen zu oder wird oft­mals intrinsisch moti­viert erwor­ben, weil es z.B. Vor­tei­le für den eige­nen Unter­richt bie­tet oder geeig­ne­te, sich selbst bestä­ti­gen­de Fil­ter­bub­bles dafür gibt.

Der Medi­en­päd­ago­ge sagt:

Wenn du XY schon nutzt, dann emp­feh­le ich die und die Pro­fi­l­ein­stel­lun­gen, damit bestimm­te Infor­ma­tio­nen nicht sofort Drit­ten zugäng­lich werden.“

Informatik ist so gar nicht sexy, denn:
  1. Sie hat etwas mit algo­rith­mi­schen Den­ken zu tun, wovon „Pro­gram­mie­rung“ nur ein win­zi­ger Bruch­teil ist. Algo­rith­mi­sches Den­ken zwingt sehr viel an Struk­tu­ren auf. Das ist oft wenig lust­be­setzt, wenn man es nicht kennt. Auch Qua­li­täts­ma­nage­ment­zy­klen sind im Prin­zip algo­rith­misch: Eva­lua­ti­on => Ziel­set­zung => Pla­nung => Umset­zung von Maß­nah­men => Eva­lu­la­ti­on … (Ok. Manch­mal ist das ja auch zum Kotzen)
  2. Es haf­tet die­ser Dis­zi­plin immer noch ein Mythos von lang­haa­ri­gen, weiß­häu­ti­gen, piz­za- und ener­gy­drinks­ver­schlin­gen­den Sub­jek­ten an, die sich ansons­ten in Ser­ver­schrän­ken von Bits und Bytes ernäh­ren. Dabei wird ger­ne ver­ges­sen, dass z.B. Social­me­dia nicht ein Pro­dukt von Phi­lo­so­phen und Päd­ago­gen ist und dass gro­ße Soft­ware­pro­jek­te von Teams und sozia­len Umgangs­re­geln geprägt sind, von denen wir auf Social­me­dia oft­mals nur träumen.
  3. Sie bedroht Pfrün­de. Wel­cher enga­gier­te Päd­ago­ge möch­te von sei­nem Fach etwas abge­ben? Und dann noch für ein Fach mit so zwei­fel­haf­tem Nut­zen? Denn: Auto­fah­ren kann man ja auch so (auch so eine Dauerschleife).

Der Infor­ma­ti­ker sagt:

Wenn du XY nutzt, soll­test du fol­gen­de Anga­ben nicht machen und dir dar­über im Kla­ren sein, dass es kei­ne Lösch­funk­ti­on gibt (obwohl sie so heißt), son­dern nur die Mög­lich­keit, die Sicht­bar­keit von Infor­ma­tio­nen tem­po­rär einzuschränken.“

Das Autoargument

… könn­te auch lau­ten: Ich muss nichts über Che­mie wis­sen, um Kos­me­tik zu benut­zen. Oder: Ich brau­che kein Wis­sen über Erkun­de, um eine Rei­se zu unter­neh­men. Trotz­dem „leis­ten“ wir uns bei­de Fächer, obwohl oder gera­de weil die­se bei­den Aus­sa­gen stimmen.

Wir leis­ten uns die­se Fächer, weil wir anneh­men (ja, es ist eine Annah­me), dass die­se umfas­sen­de Kon­zep­te ver­mit­teln, die uns in unse­rer Welt­erfah­rung und Berufs­fin­dung nütz­lich sind.

Bezo­gen auf Infor­ma­tik: Was erle­ben wir denn gera­de und beschrei­ben es ja auch wie­der und wie­der in der Fil­ter­bub­ble? Rich­tig: Den enor­men Ein­fluss der Digi­ta­li­sie­rung auf Wirt­schaft und Gesell­schaft. Genau wie die Ato­me und Mole­kü­le Grund­kon­zep­te beim Auf­bau von Mate­rie beschrei­ben, beschreibt Infor­ma­tik eben Grund­zü­ge digi­ta­ler Struk­tu­ren. Wenn wir Grund­zü­ge nicht ver­mit­teln wol­len, so müs­sen wir kon­se­quen­ter­wei­se alle Fächer abschaffen.

Das Auto­ar­gu­ment beschreibt kein Grund­kon­zept. Es beschreibt einen win­zi­gen Teil von Mobi­li­tät, der zudem immer unwich­ti­ger wer­den wird. Daher kann man es m.E. gegen die For­de­rung nach einem Pflicht­fach Infor­ma­tik nicht in Stel­lung bringen.

Eben­so wenig wie ich heu­te weiß, wie der Zitro­ne­säu­re­zy­klus genau abläuft, weiß ich durch Infor­ma­tik spä­ter nicht, wie ein Rech­ner funk­tio­niert, aber ich habe Grund­zü­ge der Daten­ver­ar­bei­tung ken­nen­ge­lernt, die sich genau wie der Zitro­nen­säu­re­zy­klus nicht groß­ar­tig ändern.

Das Emotionale am Autoargument

Es ist uns Anwen­dern eigent­lich klar, dass wir sehr wenig wis­sen. Wei­ter­hin ist uns klar, dass die­ses Unwis­sen Kon­se­quen­zen haben wird. Ansons­ten wür­den wir von z.B. der Poli­tik nicht so vehe­ment for­dern, dass sie z.B. bestimm­te Din­ge regu­lie­ren soll, z.B. Ama­zon oder Face­book. Und es ist uns noch etwas klar: Wäh­rend wir das Ler­nen lan­ge Zeit auf jün­ge­re Genera­tio­nen abschie­ben konn­ten, klappt das mit mit dem Ler­nen hin­sicht­lich des Digi­ta­len eher nicht so gut, da die­se Ver­än­de­rung uns alle betrifft und uns daher auch alle for­dert – vor allem auch auf dem Gebiet ethi­scher Grund­sät­ze, die es für Digi­ta­li­en neu zu schrei­ben und zu defi­nie­ren gilt. Das ist schwie­rig, wenn ich nur ahnen kann, was gene­rell mög­lich ist. Dann kommt da z.B. sowas wie Vec­to­ring heraus.

Das ist zusätz­lich sehr unan­ge­nehm und gar nicht bequem. Das sol­len doch bes­ser die lang­haa­ri­gen, weiß­häu­ti­gen, piz­za- und ener­gy­drinks­ver­schlin­gen­den Sub­jek­te machen. Wir wol­len anwen­den und benut­zen. Dum­mer­wei­se bestim­men damit die lang­haa­ri­gen, weiß­häu­ti­gen, piz­za- und ener­gy­drinks­ver­schlin­gen­den Sub­jek­te bzw. ihre Fir­men grund­le­gen­de Struk­tu­ren auf Basis markt­wirt­schaft­li­cher Kon­zep­te. Ich fin­de die­se Vor­stel­lung irgend­wie blöd.

Kom­pe­tenz­ge­sei­er als Ausweg?

Die Ver­mitt­lung von Medi­en­kom­pe­tenz ist im Extrem­fall nichts wei­ter als die Wei­ter­ga­be auto­di­dak­tisch erwor­be­ner Anwen­d­er­kennt­nis­se bzw. gemach­ter Erfah­run­gen inner­halb von Social­me­dia. Sie ist ohne Zwei­fel wich­tig und soll­te Teil in jedem Fach sein. Sie lässt sich aber auf Basis von Wis­sen über infor­ma­ti­sche Grund­kon­zep­te m.E. viel fun­dier­ter und trag­fä­hi­ger ver­mit­teln. Die fik­ti­ve Aus­sa­ge des ste­reo­ty­pen Infor­ma­ti­kers oben eröff­net erwei­ter­te Hand­lungs- und Bewer­tungs­mus­ter gegen­über der ste­reo­ty­pen medi­en­päd­ago­gi­schen Posi­ti­on (wobei bei­des natür­lich nur Bei­spie­le zur Ver­an­schau­li­chung sind).

Der Kom­pe­tenz­seie­rer wür­de jetzt ein­wen­den, dass infor­ma­ti­sches Wis­sen ja auch ver­al­te und damit eher Kom­pe­ten­zen zum selbst­stän­di­gen Erschlie­ßen des infor­ma­ti­schen Wis­sens ver­mit­telt wer­den soll­ten. Damit macht er einer­seits den Dua­lis­mus zwi­schen Kom­pe­tenz und Wis­sen auf, den er den Kom­pe­tenz­kri­ti­kern ger­ne vor­wirft. Und er öff­net ande­rer­seits Sys­te­men (z.B. Lob­by­is­ten) Tor und Tür, den den Bereich der Infor­ma­tik dann eben auf ihre Wei­se beset­zen, denn Men­schen in Aus­bil­dung ahnen ja schon ein wenig, dass es in die­sem Bereich Ent­wick­lungs­mög­lich­kei­ten im spä­te­ren Leben gibt.

Das Argu­ment mit dem „schnell ver­al­te­ten­den Wis­sen“ fin­de ich dar­über hin­aus auch eini­ger­ma­ßen merk­wür­dig. Genau wie mathe­ma­ti­sche oder che­mi­sche Kon­zep­te eini­ger­ma­ßen kon­stant ver­läss­lich sind und den Kom­pe­tenz- und Wis­sens­er­werb in bei­den Dis­zi­pli­nen sowohl struk­tu­rie­ren und letzt­end­lich dadurch auch erleich­tern, gibt es auch in der Infor­ma­tik all­ge­mein­gül­ti­ge Struk­tu­ren wie etwa die Zer­le­gung eines Pro­blems und Teil­schrit­te. In den Geis­tes­wis­sen­schaf­ten sind die­se Struk­tu­ren natur­ge­mäß weni­ger eng bzw. for­mal bestimmt aus­ge­prägt, aber den­noch vorhanden.

Fazit

Medi­en­kom­pe­tenz ist erst­mal bes­ser als nichts und viel­leicht auch der zunächst prag­ma­ti­sche­re und beque­me­re Weg. Wenn wir jedoch in einer zuneh­mend digi­ta­li­sier­ten Welt leben, wird ein Grund­la­gen­fach wie Infor­ma­tik für mich jedoch unver­zicht­bar, auch wenn die For­de­rung danach viel­leicht unrea­lis­tisch und unbe­quem erscheint. Und nein: Infor­ma­tik heißt nicht „pro­gram­mie­ren ler­nen“. Es heißt viel mehr.

Bastard Operator from Hell (BOFH)

Als Admi­nis­tra­tor schwelgt man hin und wie­der in All­machts­fan­ta­sien. Wenn man sei­ne User soweit erzo­gen hat, dass sie die vage Mög­lich­keit ver­wer­fen, der Admi­nis­tra­tor sei fehl­bar und statt­des­sen de Feh­ler bei sich selbst suchen, hat man eini­ges erreicht. Man ist Zau­be­rer, geni­al und die User wun­dern sich, wie ein ein­zel­ner Mensch so viel hin­be­kom­men kann. Aber es ist kei­ne Zau­be­rei – es ist infor­ma­ti­sche Grund­bil­dung, bzw. basiert darauf.

Die­se Situa­ti­on ist eine ihrer Struk­tur nach auto­ri­tä­re und basiert auf Wis­sens- und Kom­pe­tenz­un­ter­schie­den. Die­se Struk­tur ist sehr, sehr gefähr­lich und nicht umsonst hat auch an Schu­len der Gesetz­ge­ber Instan­zen erson­nen, die die Arbeit von Admi­nis­tra­to­ren kon­trol­lie­ren soll­ten – z.B. Daten­schutz­be­auf­trag­te oder Schul­lei­tun­gen. Wahr­schein­li­cher scheint mir, das vie­le Admi­nis­tra­to­ren an Schu­len im Prin­zip Sta­ke­hol­der in ideel­len Macht­po­si­tio­nen sind, deren Ein­fluss in den nächs­ten Jah­ren expan­die­ren wird. Auch das ist ein Pro­blem. Vor allem auch für die Schul­ent­wick­lung, für die ich ohne IT-gestütz­te Ver­fah­ren kei­nen Frei­raum sehe.

Ich arbei­te daher in mei­nem Land­kreis mit an einem Pro­jekt, die­ses Pro­blem zu ent­schär­fen durch Struk­tu­ren, die nicht auf dem Prin­zip der ideel­len Macht basie­ren. Ich arbei­te im Prin­zip mit dar­an, mich selbst in der Funk­ti­on eines Admi­nis­tra­tor abzuschaffen.

Wenn ich sehr böse wäre, könn­te ich viel­leicht ver­sucht sein, fol­gen­de Din­ge zu tun (in jeder Geschich­te sind Feh­ler eingebaut).

Akt 1:

Das Ende der Som­mer­fe­ri­en naht. Ich habe kei­nen Bock auf Unter­richt. Mal über­le­gen. Ach, da gibt es ja die Schul­buch­aus­lei­he, die mitt­ler­wei­le kom­plett IT-gestützt arbei­tet. Ohne Bücher kein Unter­richt. Kli­ckedikli­ckedik­lack – ein­fach mal ein MyS­QL-State­ment, wel­ches die Daten­bank von der Kon­so­le aus zer­fetzt. Hihi.

Der Anruf dau­ert nicht lan­ge: „Wir kön­nen über­haupt kei­ne Daten mehr abru­fen und ver­wal­ten! – Die SuS brau­chen ihre Bücher, drin­gend“ Ich so: „Oh. Da hat wohl die Fest­plat­te einen ihrer Schreib­feh­ler gemacht, die sta­tis­tisch ja immer auf­tre­ten. Da reicht ja schon ein Meson aus dem Welt­all.“ Sie so: „Aha, UND JETZT?“ Ich: „Oach, ich rufe mal den Chef an, damit der mich für zwei Tage frei­stellt, damit ich das wie­der fli­cken kann, das ist ja schon inte­gral für die Schule.“

Zwei Tage spä­ter habe ich den neu­en Egoshoo­ter durch und spie­le dann inner­halb von fünf Minu­ten eine der Siche­run­gen ein. Natür­lich wird mir für mei­nen Ein­satz auf der nächs­ten Dienst­ver­samm­lung über­schwäng­lich gedankt. Man, ich sah aber auch echt gerä­dert nach den zwei durch­ge­zock­ten Näch­ten aus.

Akt 2:

Boah, was geht mir der Koor­di­na­tor da auf den Sack mit sei­ner Pene­tranz, was das Aus­fül­len die­ser idio­ti­schen Kurs­hef­te angeht. Na, dann wol­len wir mal sei­ne Pen­si­on etwas kür­zen. Sein häus­li­ches WLAN strahlt in kla­rer Win­ter­nacht recht weit in die Natur. Mal schnell einen klei­ne Raspi mit Akku vor sei­nem Haus in die Bota­nik gewor­fen und den WLAN-Schlüs­sel bru­tefor­cen. Lang­wei­lig. Dau­ert nicht mal zwei Tage. Jetzt noch die MAC-Adres­se sei­nes Rech­ners abfi­schen, ein wenig MAC-Spoo­fing und schon habe ich sei­ne IP, unter der ich dann mal ein­schlä­gi­ges Mate­ri­al auf den Schul­ser­ver in sei­nen Account lade – das mit dem Pass­wort war nicht wei­ter schwie­rig, weil er den Datei- und Mail­aus­tausch über unver­schlüs­sel­te Ver­bin­dun­gen abwickelt.

Mit betre­te­ner Mie­ne klop­fe ich zwei Tage spä­ter beim Chef. Das Moni­to­ring hät­te rou­ti­ne­mä­ßig die Datei­grö­ßen über­prüft und sei dabei auf eine HD-Datei gesto­ßen, die … Dau­er­te kei­ne Woche, dann saß der Kna­be beim Dienst­herrn. Sprach sich natür­lich auch im Ort her­um. Hat sich dann irgend­wann ver­set­zen las­sen. Die Ehe hat es wohl überlebt.

Akt 3:

Die haben da so ein Bezahl­ter­mi­nal gelie­fert und in der Men­sa auf­ge­stellt. War erst nicht in mei­nem Netz, bis dann raus­kam, dass eini­ge SuS das Ding zum Sur­fen nutz­ten. Jetzt steht das Ding in mei­nem VLAN und mein Chip zum Bezah­len des Mit­tag­essens ist ja chro­nisch leer. Mal ein wenig Wire­shark lau­fen las­sen – hm, eine ver­schlüs­sel­te Ver­bin­dung. Oach, ich knal­le dem Gerät ein­fach den Root­key mei­ner eige­nen CA rein und kann so die Kom­mu­ni­ka­ti­on mit Man-in-the-midd­le auf­bre­chen. Was an eini­gen Schwei­zer Schu­len zum Fil­tern des Inter­net­ver­kehrs für SuS genutzt wird, kann ja nicht so böse sein. So. Der Mar­vin lädt gera­de sei­nen Chip auf. Dank der dil­le­tan­ti­schen Umset­zung des Ses­si­onma­nage­ments kann ich das Geld etwas umlei­ten. Jetzt aber schnell abmamp­fen, bevor Mar­vins Eltern mer­ken, dass der Bank­ein­zug nicht zur Auf­la­dung des Chips führte. 

Die Geschich­ten machen aber klar, was ein gewief­ter Auto­di­dakt im Prin­zip tun könn­te. Die Opfer sind dem ohne infor­ma­ti­sches Grund­wis­sen wehr­los aus­ge­setzt. Beson­ders bit­ter fin­de ich die zwei­te Geschich­te. Ein Anwalt müss­te ver­su­chen, die „Bewei­se“ zu ent­kräf­ten und es steht die Aus­sa­ge einer „kom­pe­ten­ten Per­son“ und es ste­hen Log­da­tei­en dage­gen – zudem müss­te man erst auf die Idee kom­men, wie die­ser Angriff funk­tio­niert (es ist übri­gens wahr­schein­lich viel leich­ter, das über das Han­dy des Opfers zu machen). Außer­dem hät­te unser Admi­nis­tra­tor wahr­schein­lich sogar auch Zeit, sei­ne Taten noch wei­ter zu verschleiern.

Ich bin der Mei­nung, dass wir infor­ma­ti­sche Grund­bil­dung flä­chen­de­ckend benötigen.

Ich muss doch auch nicht ver­ste­hen, wie der Motor eines Autos funk­tio­niert, um von A nach B zu kommen!“

Das Argu­ment hal­te ich für falsch. Auto­fah­ren betrifft einen Teil­be­reich der Mobi­li­tät – das Digi­ta­le bestimmt mitt­ler­wei­le extrem vie­le Lebensbereich.

Die Stun­den­plä­ne sind doch jetzt schon total voll. Wel­ches Fach soll denn dafür entfallen?“

Kei­nes. Um es mit Gun­ter Dueck zu sagen: „Dafür muss nichts wei­chen, das müs­sen wir jetzt eben auch noch machen!“, weil 

  • Wis­sen und Kom­pe­ten­zen in die­sem Bereich Stand­ort­fak­to­ren für jede Regi­on in Deutsch­land sein werden.
  • Wis­sen und Kom­pe­ten­zen in die­sem Bereich wich­tig für die Teil­ha­be an demo­kra­ti­schen Pro­zes­sen sein wer­den – war­um leh­nen Infor­ma­ti­ker z.B. elek­tro­ni­sche Wah­len vehe­ment oft ab?
  • Infor­mel­le Selbst­be­stim­mung als Grund­recht ohne Wis­sen und Kom­pe­ten­zen in die­sem Bereich ein Witz ist.

Ich fin­de, das reicht auch schon an Begründung.

Noch ein Sei­ten­hieb: Medi­en­kom­pe­tenz erscheint offen­bar eini­gen Play­ern als Ersatz oder Mög­lich­keit, erst­mal „rea­lis­tisch“ zu begin­nen. Ich hal­te Kom­pe­ten­zen ohne soli­de Wis­sens­grund­la­ge für weit­ge­hend sinn­be­freit – Gesprä­che mit Aus­bil­dungs­be­trie­ben und Ver­wal­tun­gen bestär­ken mich in die­ser Annahme.

Kompetenzorientierte Prüfung mit Arduino?

Ich hat­te Anfang des Jah­res mein Kon­zept vor­ge­stellt, SuS Infor­ma­tik zu ver­mit­teln. Das war sehr eigen­wil­lig, ein Ver­such und über­haupt sehr viel Lern­an­lass für mich im letz­ten Jahr. Die SuS haben im zwei­ten Halb­jahr an Pro­jek­ten gear­bei­tet und – so die Hoff­nung – ihre Pro­gram­mier­kennt­nis­se ver­tieft. Kon­kret wird an fol­gen­den Pro­jek­ten gearbeitet:

  • didak­ti­sche Auf­be­rei­tung eines kom­ple­xen Ardui­no­codes für Anfänger
  • ein auto­no­mes Roboterfahrzeug
  • zwei Light­cu­bes, einer mit Musiksteuerung
  • ein Quiz­du­ell­clo­ne auf einem 2x40 Matrix ASCII-Display
  • ein Mor­se­zei­chen­de­ko­der

… und natür­lich wird neben­bei in einem Wiki doku­men­tiert und Code zwischengeparkt.

Eine Klau­sur ver­lang­te nun die Fach­schaft (die aus zwei Lehr­kräf­ten besteht). Ich hät­te bestimmt auch auf eine Ersatz­leis­tung aus­wei­chen kön­nen, aber ich woll­te Schwarz auf Weiß sehen, was die SuS jetzt kön­nen und was sich im Ver­gleich zum Anfang des Jah­res geän­dert hat. Des­we­gen gab es doch eine Klau­sur, aber eine ganz andere.

Infor­ma­tik­klau­sur Nr. 2

Mate­ri­al:

  1. Ein Ardui­no­board (Art egal)
  2. drei Leds (ggf. ver­schie­de­ne Farben)
  3. drei Vor­wi­der­stän­de für die Leds (220–330 Ohm)
  4. zwei Tas­ter
  5. zwei Wider­stän­de für die Tas­ter (1kOhm oder 10kOhm)
  6. ein Steck­brett
  7. Kabel­ver­bin­der

Vor­be­mer­kun­gen:
Wenn du Tas­ter an den Ardui­no anschlie­ßen und ihren Zustand aus­le­sen möch­test, musst du einen zusätz­li­chen Wider­stand ver­wen­den, um defi­nier­te Pegel zu bekom­men. Die­ser Wider­stand soll­te einen Wert zwi­schen 1kOhm und 10kOhm haben.

Hier eine Beispielschaltung

<Bild von Tasterschaltung>

Auf­ga­be:
Du sollst ein Spiel pro­gram­mie­ren. In die­sem Spiel gibt es drei Leds (links, rechts, Erfolg) und zwei Tas­ter (links, rechts).

Dabei gilt:
Led rechts: Pin03
Led Erfolg: Pin04
Led links: Pin05
Tas­ter rechts: Pin06
Tas­ter links: Pin07

Spiel­ab­lauf ist folgender:

  1. Zufäl­lig leuch­tet ent­we­der die rech­te oder die lin­ke Led auf.
  2. Der Spie­ler muss nun mög­lichst schnell eine ent­spre­chen­de Tas­te (links oder rechts) drücken
  3. Hat er das inner­halb einer bestimm­ten Zeit­span­ne geschafft, leuch­tet die Led „Erfolg“ auf, ansons­ten blin­ken alle Leds kurz auf
  4. Die Zeit­span­ne wird im Lau­fe des Spiel immer kürzer

Für jede rea­li­sier­te Stu­fe 1–4 gibt es bereits Punkte!

Tipp:
Suche mit Goog­le nach „Arduino Zufall“, um her­aus­zu­be­kom­men, wie du zufäl­li­ge Wer­te erhältst.

Abga­be:
Du erstellst mit Libre­Of­fice eine Datei, die dei­nen aus­führ­lich kom­men­tier­ten Code enthält.
Du erläu­terst dei­nen Code.
Du beschreibst zusätz­lich, wel­che Schwie­rig­kei­ten du wäh­rend der Pro­gram­mie­rung hat­test, ins­be­son­de­re dann, wenn dir etwas nicht gelun­gen ist.

Die Datei spei­cherst du unter:

<pfad­an­ga­be>

Der Datei­na­me muss dei­nen Namen ent­hal­ten, z.B. „karl_mustermann_klausur.ods“.

Du darfst:

  • Im Inter­net recherchieren
  • Dir selbst­stän­dig Mate­ri­al holen / organisieren
  • Dei­nen Code an einer Schal­tung ausprobieren

Du darfst nicht:

  • mit dei­nen Kurs­kol­le­gin­nen und Kol­le­gen sprechen

viel Erfolg!

 

Die Zeit war für die­se Auf­ga­be mit 90 Minu­ten sehr knapp bemes­sen, aber es gibt sogar voll­stän­di­ge und funk­tio­nie­ren­de Lösun­gen, min­des­tens aber immer kon­kre­te Ansät­ze und was mich beson­ders freut: Die meis­ten Schal­tun­gen sind kor­rekt und sau­ber auf­ge­baut. Das Prü­fungs­for­mat ist im BBS-Kon­text erst­mal über­haupt nicht unge­wöhn­lich, bei uns an der Schu­le jedoch schon ein Novum. Mit Goog­le ist die­se Auf­ga­be nur sehr ein­ge­schränkt lösbbar, gera­de auch in der gege­be­nen Zeit, man braucht dafür also mei­ner Ansicht nach auch gar nicht mal so wenig Wis­sen. Ich hat­te erst ein wenig Angst vor der Bewer­tung, aber schluss­end­lich gibt es für Code­qua­li­tät schon genug Kri­te­ri­en und auch für die Beschrei­bun­gen. Span­nend fin­de ich, dass man rela­tiv genau sehen kann, wie jemand denkt, weil der Code im Prin­zip ja ein for­ma­li­sier­ter Plot des Den­kens ist – ohne die­ses Over­head-Geschwur­bel in geis­tes­wis­sen­schaft­li­chen Fächern (ich darf das als Deutsch­leh­rer sagen).

Mein Pro­blem mit dem erfolg­ten Unter­richt ist ein ande­res: Ich kom­me mir so unver­ant­wort­lich vor, weil ich ja nie klas­sisch unter­rich­tet, son­dern ganz viel 1:1 bera­ten, gelenkt, unter­stützt habe und auch oft fach­lich die Segel strei­chen muss­te (ich kann jetzt aber einen ein­stu­fi­gen Ver­stär­ker ste­cken). Die „Vor­be­rei­tung“ des Unter­richt besteht bei die­ser Unter­richts­form eher dar­in, ganz viel selbst ler­nen zu müs­sen, weil es um sehr indi­vi­du­el­le Pro­ble­me geht. Nach jeder Stun­de bin ich fix und foxi, weil ich immer gedank­lich hin- und hers­wit­chen und auch Anfra­gen prio­ri­sie­ren muss.

 

Informatik mit Arduino

leonardo

Ich habe in die­sem Jahr einen Infor­ma­tik­kurs in der Klas­se 10 über­nom­men. Den besucht man als Schü­le­rin oder Schü­ler zusätz­lich zu einem recht vol­len Stun­den­plan in Klas­se 10, um die Opti­on auf eine Teil­nah­me an einem Infor­ma­tik­kurs in Klas­se 11 zu bekom­men. Man darf dann im Abitur zwei Kur­se Natur­wis­sen­schaft durch Infor­ma­tik erset­zen. Ich bin kein gelern­ter Infor­ma­tik­leh­rer – ich bin ein­fach nur ein grö­ßen­wahn­sin­ni­ger Freak und wahr­schein­lich schlägt die Infor­ma­tik­di­dak­tik über mei­ne Ansät­ze die Hän­de in der Luft zusam­men.  Egal – ent­we­der man ist kon­ven­tio­nell oder man lebt.

Stu­fe 1:

Wir haben Pro­ble­me in Ein­zel­pro­ble­me zer­legt – z.B. soll­ten 20 Zah­len von 20 Per­so­nen abge­fragt und addiert wer­den. Unse­re Stra­te­gien haben wir auf­ge­schrie­ben. Dabei spielteh fol­gen­de Fra­gen eine Rolle:

  • Wie mer­ken wir uns die gan­zen Zahlen?
  • Wenn wir sie uns auf­schrei­ben: Wir machen wir das genau? Neben­ein­an­der? Untereinander?
  • Addie­ren wir bei jeder Abfra­ge oder fra­gen wir alle Zah­len ab und addie­ren dann?
  • […]

Stu­fe 2:

Wir haben mit dem Fluss­dia­gramm ein Ver­fah­ren ken­nen gelernt, dass Auf­ge­schrie­be­ne zu visua­li­sie­ren und die­se Visua­li­sie­rung für wei­te­re Pro­ble­me durch­ge­spielt, die z.B. Fall­un­ter­schei­dun­gen enthielten.

Stu­fe 3:

Mit Scratch haben wir unser Pro­blem aus Stu­fe 1 ganz kon­kret gelöst und zwar durch Pass&Fail. Für Scratch muss man heu­te im Prin­zip nicht ein­mal ein Pro­gramm instal­lie­ren – das läuft auch kom­plett im Brow­ser – wenn man beim MIT einen Account anlegt. Wer moch­te, konn­te sich auch schon am klas­si­schen Rate­spiel „rate eine Zahl zwi­schen 1 und 100“ ver­su­chen oder sich eines der vie­len ver­öf­fent­lich­ten Pro­jek­te zu Scratch vor­neh­men. Die Lösungs­an­sät­ze haben wir uns vor­ge­stellt und teil­wei­se diskutiert.

Stu­fe 4:

Anhand eines Aus­drucks eines „Scratch­pro­gram­mes“ galt es, ein Fluss­dia­gramm zu zeich­nen und einen fie­sen, von mir natür­lich absicht­lich ein­ge­bau­ten Feh­ler zu fin­den. Dazu gab es noch eini­ge Erwei­te­rungs- und Optimierungsaufgaben.

Stu­fe 5:

In einem Doku­wi­ki­sys­tem haben die Schü­le­rin­nen und Schü­ler Sei­ten zu Pro­gram­mier­spra­chen erstellt. Ich habe eine kla­re Struk­tur vor­ge­ge­ben: Eine kur­ze Beschrei­bung zur Spra­che, ein „Hel­lo World!“- , ein „if ‑then – else“- und ein „while“-Codebeispiel. Doku­wi­ki kann das abso­lut pri­ma, weil es einen leis­tungs­fä­hi­gen Syn­tax­high­ligh­ter für fast alles hat. Es braucht kei­ne Daten­bank, ist ajax­ba­siert – ein­fach und umkom­pli­ziert. Unnö­tig zu erwäh­nen, dass dabei die Kon­fron­ta­ti­on mit dem Begriff „Syn­tax“ sowohl theo­re­tisch (für die Spra­che suchen) als auch prak­tisch (Wiki­syn­tax) erfolgte.

Zwi­schen­stand:

Die Schü­le­rin­nen und Schü­ler haben bis jetzt eigent­lich schon alles erlebt, was man beim Pro­gram­mie­ren so erle­ben kann:

  • Mein Code läuft nicht!“ – „Hm. Da fehlt ’ne Klam­mer“ – „Oha, wenn ich da etwas ein­rü­cke, dann wird es ja viel übersichtlicher.“
  • Sein Code läuft und mei­ner auch. Wel­cher ist denn nun rich­tig?“ – „Wel­cher gefällt dir denn war­um besser?“
  • Boah, ist das viel zu schrei­ben!“ – „Nun­ja – aber wenn sich das stän­dig wie­der­holt, könn­test du ja viel­leicht auch …“
  • […]

Stu­fe 6:

Kur­zer Leh­rer­vor­trag zu Ardui­no. Dann ran an den Simu­la­tor – der ist abso­lut toll und zu emp­feh­len, bevor die ers­ten Bau­tei­le in Rauch aufgehen.

Natür­lich habe ich zunächst eine ganz ein­fa­che Bei­spiel­schal­tung vor­ge­stellt (blin­ken­de LED).

(circuits.io klappt bis­her so rich­tig gut nur mit Chro­me oder Chro­mi­um als Browser.)

Die soll­te dann um drei LEDs in einer Ampel­schal­tung erwei­tert wer­den. Dazu muss­te man schon ein Biss­chen was am Bre­ad­board ver­ste­hen. Neben­bei wur­de auch etwas über die Wel­len­län­ge des Lichts und Far­be gelernt: Im Simu­la­tor ändert man die LED-Far­be durch Ein­ga­be von Wel­len­län­gen in nm. Und ohne Vor­wi­der­stand macht die LED „peng“, ver­polt macht sie gar nichts. Es gab sofort das Spiel: „Wie klein darf ich den Wider­stand machen, dass die LED heil bleibt?“ Neben­bei ist die Simu­la­tor­home­page auf Eng­lisch (Wider­stand = resistor).

Stu­fe 7:

Es kommt etwas Theo­rie zur Ardui­no-IDE. Wir wer­den den Ardui­no Leo­nar­do bzw. einen pin­kom­pa­ti­blen Nach­bau  nut­zen, weil der durch sein HID-Funk­tio­nen in Kom­bi­na­ti­on mit Lage­sen­so­ren auch als Game­con­trol­ler oder Mauser­satz taugt. Den Ardui­no kau­fen sich die Schü­le­rin­nen und Schü­ler selbst, das Zube­hör stift­tet unser För­der­ver­ein. Die Kos­ten sind aber sehr mar­gi­nal im Ver­hält­nis zu den sich bie­ten­den Mög­lich­kei­ten. Dann kön­nen wir unse­re Schal­tung aus Stu­fe 6 real aufbauen.

Aus­blick

Die Schü­le­rin­nen und Schü­ler sol­len sich nach Mög­lich­keit eige­ne Pro­jek­te suchen, die sie mit dem Ardui­no rea­li­sie­ren. Natür­lich habe ich not­falls Pro­jek­te von unter­schied­li­chem Schwie­rig­keits­grad in der Hin­ter­hand. Der Kom­ple­xi­täts­grad der Pro­jek­te darf natür­lich mit dem wach­sen­den Wis­sens­be­stän­den stei­gen. Die Schu­le bekommt aus einem N21-Pro­jekt für eine AG Robo­ter auf Ardui­no­ba­sis gestellt, auf die sich dann ggf. die erwo­be­nen Kennt­nis­se über­tra­gen lassen.

Mit der stei­gen­den Kom­ple­xi­tät der Pro­jek­te erwar­te ich ein Anwach­sen der Pro­gramm­codes, das irgend­wann dazu füh­ren soll, bestimm­te Funk­tio­nen aus­zu­la­gern in objekt­ori­en­tier­te Set­tings (Ende 2. Halb­jahr). Schön wäre es, wenn der Code für einen allei­ne nicht mehr zu pfle­gen ist, sodass auch Struk­tu­ren wie SVN not­wen­dig werden.

Ers­te Eindrücke

  1. Ich ler­ne mit den Schü­le­rin­nen und Schü­lern mit. Für mich ist vie­les Neuland.
  2. Schü­le­rin­nen und Schü­ler fin­den Feh­ler im Pro­gramm­code viel schnel­ler in Peer-Reviews als ich
  3. Die­ser Ansatz schreckt auch eini­ge ab. Man muss ja aller­hand aus­hal­ten und sogar auch Elek­tro­nik- und Eng­li­sch­wis­sen ausbauen
  4. Ich muss­te die Beschäf­ti­gung mit der Hard­ware vor­zie­hen. Ich und die Schü­le­rin­nen und Schü­ler kön­nen es teil­wei­se kaum erwarten.
  5. Es wird sehr selbst­stän­dig und kon­zen­triert gear­bei­tet – auf die Fra­ge: „Kann ich das so machen?“ ant­wor­te ich oft: „Pro­bie­re es aus!“ – und mit die­ser Ant­wort sind sie oft zufrieden.
  6. Per­fek­tio­nis­ten sind in der Hin­ter­hand – am effek­tivs­ten arbei­ten die Experimentierfreudigen
  7. Man kann wun­der­bar dif­fe­ren­zie­ren: Der C‑Freak bekommt eben eine Bild­röh­re mit Com­po­si­te-Ein­gang, auf der er ein Spiel pro­gram­miert. Das ist vom Timing her nicht tri­vi­al, da der Ardui­no von sei­ner Rechen­leis­tung damit an eine Gren­ze kommt. Dem Anfän­ger reicht viel­leicht ein Lauf­licht als ers­tes Pro­jekt – oder ein Ther­mo­me­ter (NTCs haben eine Kenn­li­nie, muss muss mathe­ma­ti­siert oder mit einem ande­ren Ther­mo­me­ter kal­li­briert werden).
  8. Es kom­men Fra­gen wie: „Darf ich zu Hau­se an mei­ner Schal­tung im Simu­la­tor wei­ter­ar­bei­ten?“ „Dür­fen wir unser Pro­jekt auch mit nach Hau­se nehmen?“
1 2 3