Sleep een handvol instructies op laag niveau samen om een transportband van getallen te transformeren – precies volgens de specificaties.
Elk niveau geeft je een invoertransporteur en een doeltransformatie. Stel een programma samen op basis van eenvoudige instructies (inbox, outbox, kopiëren, optellen, aftrekken en springen) met behulp van een paar geheugentegels. Voer het uit: het moet de juiste uitvoer opleveren en generaliseren naar verborgen gevallen, niet alleen naar het voorbeeld. Sommige niveaus schakelen een instructie uit om een nieuwe aanpak te forceren.
Office of Operations is een programmeerpuzzel in assemblagestijl over instructies, geheugen en loops, die laat zien hoe computers werkelijk werken.
De instructieset hier — inbox, outbox, kopiëren, optellen, aftrekken, sprongen en een paar geheugentegels — komt van Human Resource Machine, het visuele programmeerpuzzelspel dat Tomorrow Corporation in 2015 uitbracht. Het hele idee daarvan was een kantoormedewerker die voorwerpen verplaatst tussen een inbox, een outbox en opslag te gebruiken als metafoor voor assembleertaal.
Die metafoor is ongewoon getrouw. Echte assembleertaal heeft geen variabelen, alleen registers en adressen, dus “breng dit naar de plank en kom terug” is werkelijk wat een MOV-instructie doet.
De eis dat een programma moet generaliseren naar verborgen gevallen, en niet alleen het voorbeeld moet afhandelen, maakt het tot onderwijs in plaats van puzzelen. Het zichtbare antwoord hardcoderen is de fout die elke beginner maakt, en er is geen manier om daarop te worden aangesproken dan door een test die je niet te zien kreeg.
Office of Operations is een originele programmeerpuzzel in assemblagestijl over instructies, geheugen en loops. Speel gratis in je browser met dagelijkse en oefenniveaus.