Code Challenge Workshop

“Fabrikken” — inspireret af Human Resource Machine.

En lidt speciel workshop uden brug af computer eller andet teknisk udstyr.
Jeg var desværre forhindret i at deltage i workshoppen på skolen, hvilket gjorde det rigtig problematisk. Det var enormt udfordrende at læse og forstå de slides, som blev lagt ud. Men jeg gjorde mit bedste med det jeg havde.

Opgaven var at flytte pakker fra et inbox-bord til outbox ved hjælp af et sæt enkle kommandoer. Hvert af de 10 levels introducerede én ny kommando, og sværhedsgraden steg støt gennem dagen.
Det særlige ved formatet var, at man nåede at tænke i loops, betingelser og algoritmer, helt uden at åbne et kodeeditor. Selvom ingen linje JavaScript blev skrevet, var logikken den samme.

De otte kommandoer

Inbox: Saml den næste pakke op fra indkøbsbåndet. Du “holder” den nu i hånden.
Outbox: Læg pakken du holder på udgangsbåndet. Den er nu sendt videre.
Jump: Hop til et bestemt sted i dine instruktioner. Bruges til at lave loops, altså gentage en sekvens.
JumpIfZero: Hop kun, hvis pakken du holder har værdien 0. Din første betingelse, “gør kun dette, hvis…”
JumpIfNegative: Hop kun, hvis pakken har en negativ værdi. Bruges til at sortere tal efter fortegn.
CopyFrom: Hent en kopi af en pakke fra en bestemt plads på bordet ind i hånden.
CopyTo: Læg en kopi af det du holder ned på en bestemt plads på bordet. Bruges til at gemme værdier midlertidigt.
Add / Sub: Læg din pakkes værdi sammen med en pakke på bordet (Add), eller træk fra (Sub). Bruges til at regne.

Kommandoerne blev introduceret gradvist.

Refleksion
Jeg havde forventet en kode-workshop på computeren, noget jeg sagtens kunne sidde hjemme med, men det var rigtig svært, da der ikke blev brugt computer. Jeg brugte lang tid på at forstå de slides der var lagt ud. Det havde været rigtig godt, hvis man havde vidst det inden, så ville jeg have forberedt mig bedre, fordi man kan jo aldrig vide, om man bliver syg.

Hvad jeg tager med mig
Workshoppen gav mig en mere konkret fornemmelse af, hvad kode egentlig er, ikke syntaks, men tankegang. At bryde et problem op i små trin, teste en betingelse, lave et loop. Det er den forståelse, jeg vil forsøge at aktivere, næste gang jeg sidder med JavaScript og tingene ikke opfører sig som forventet.