Gesellschaft

Suchen und Sortieren aus Anlass der AP2

Die­ses Schul­jahr durf­te ich gemein­sam mit Kol­le­gen in einer Ober­stu­fen­klas­se Anwen­dungs­ent­wick­le­rin­nen unter­rich­ten. Mein Job war es, mit ihnen die Shell-Pro­gram­mie­rung zu üben. Das haben sie sehr gut hin­ge­kriegt. Cha­peau! Anläss­lich der AP2 am 28.4. haben sie sich dann noch gewünscht, dass ich ihnen die Algo­rith­men in Sachen Suchen und Sor­tie­ren auf­drö­seln möge. Nächs­ten Don­ners­tag gibt es nun die Gesamt­sicht dazu. Grund genug, die­ses Paket allen ande­ren schon jetzt anzu­bie­ten:

Lösung

Die Metho­de dafür war (fast) die­sel­be, wie bei der Shell­pro­gram­mie­rung1: Wie­der habe ich Idee und Details eines jeden Algo­rith­mus als Kom­men­tar in einer Source­code­da­tei beschrie­ben. So konn­ten die Schü­le­rin­nen ihre Ver­si­on gleich dahin­ein imple­men­tie­ren. Aller­dings ging es jetzt nicht mehr um Shell­skript­da­tei­en, son­dern um Python. Zudem habe ich für jede Auf­ga­be zur Such- oder Sor­tie­rung selbst eine Lösung imple­men­tiert und dane­ben gelegt. So konn­ten die Schü­le­rin­nen ihre Ideen mit mei­nen ver­glei­chen. Denn es gibt ja — wie so oft im Leben — meh­re­re Lösun­gen.

Die­se Übungs­da­tei­en stel­le ich nun im Rah­men von pro­Ti­ro­ne ger­ne allen zur Ver­fü­gung2:

  • sose-00-sequen­ti­al-search.[sol]py
  • sose-01-bina­ry-search-iterative.[sol]py
  • sose-01-bina­ry-search-recursive.[sol]py
  • sose-02-inser­ti­on-sort.[sol]py
  • sose-03-sel­ec­tion-sort.[sol]py
  • sose-04-bubble-sort.[sol]py
  • sose-05-quick-sort.[sol]py
  • sose-06-mer­ge-sort.[sol]py

Hintergrund

Noch wich­ti­ger aber ist, dass ich jeden Algo­rith­mus visua­li­siert habe. In der Prä­sen­ta­ti­ons­da­tei sbj-01.sort-search-zenprese.pdf. Denn vie­le mei­ner Schü­le­rin­nen tun sich leich­ter, wenn sie die Ideen gese­hen haben. Was die Algo­rith­men aus­macht, wie sie funk­tio­nie­ren, beschreibt auch das ent­spre­chen­de Ton­spur­do­ku­ment sbj-01.sort-search-oraltrack.pdf. Und gleich am Anfang habe ich in bei­den Datei­en die Lauf­zeit­pro­ble­ma­tik und Algo­rith­mus­be­wer­tung aus­ein­an­der­kla­mü­se­rt. Denn die­se OH-Nota­ti­on ist ja wirk­lich kniff­lig.3

So soll­te es — mei­ne ich — klap­pen. Jeden­falls wün­sche ich allen, dass sie damit, wenn dazu eine Fra­ge kommt, siche­ren Boden unter den Füßen haben.

Drum wie immer für alle: Hap­py lear­ning, hap­py coding, hap­py reu­sing


Und was ist der größere Zusammenhang?

Auch unser Pro­jekt pro­Ti­ro­ne beginnt mit dem wohin und wozu, gefolgt von einer klei­nen Reorg und einer Gene­ra­li­sie­rung des Namens aus Anlass der OER-Kon­fe­renz 2026. Für das jewei­li­ge Lern­feld den Scope zu klä­ren, ist wich­tig. Beim Unter­richt heißt das nur anders, näm­lich Cur­ri­cu­lum. Die Lern­feld­sys­te­ma­tik erlaubt es sogar, das Lern­feld 3 in den Lern­feld-9-Stun­den für die AP1 zu wie­der­ho­len, sys­te­ma­tisch und im Schnell­durch­gang. Und es erlaubt AP2 spe­zi­fi­sche Infos bereit­zu­stel­len, für die FIAE, die FIDV und die FIDP.

Im Übri­gen: Män­ner sind mit­ge­meint.

  1. Unter https://github.com/protirone/protirone.lessons/tree/main/fachinformatik/lf.11a/sbj-00.sh2go-snp.sh2go stel­le ich im sel­ben Ord­ner auch die Mate­ria­li­en zum Ler­nen der Shell­pro­gram­mie­rung bereit. []
  2. Sie­he dazu https://github.com/protirone/protirone.lessons/tree/main/fachinformatik/lf.11a/sbj-01.sort-search-snp.sose []
  3. Beim Inser­ti­on-Sort habe ich die Details dazu ein­mal her­ge­lei­tet. []

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To top