Code Challenge Workshop

Workshopbeskrivelse

I denne workshop skulle vi opnå en grundlæggende forståelse for, hvordan man arbejder med programmering og logisk tænkning. Formålet var at introducere os til nogle af de principper, der ligger bag kodning, uden at vi skulle bruge computere.

I stedet arbejdede vi analogt i grupper, hvor vi ved hjælp af papir og post-it-notes skulle visualisere forskellige kommandoer og løse en række programmeringsopgaver. På den måde kunne vi få en bedre forståelse for, hvordan en computer følger instruktioner, og hvorfor rækkefølgen af kommandoer har stor betydning for det endelige resultat.

Processen

Vi blev inddelt i grupper på tre til fire personer, og jeg arbejdede sammen med Nikolas og Laura. Workshoppen var bygget op omkring en fabrik, hvor vi skulle flytte forskellige kasser fra en “Inbox” til en “Outbox”. Til hver opgave fik vi nogle bestemte instruktioner og kommandoer, som vi skulle bruge til at finde frem til den rigtige løsning.

I begyndelsen arbejdede vi med de mest grundlæggende kommandoer, hvor vi blandt andet skulle flytte tal fra Inbox til Outbox i den samme rækkefølge. Herefter blev opgaverne gradvist mere avancerede, og vi blev introduceret til flere kommandoer.

Vi arbejdede blandt andet med kommandoerne Inbox, Outbox, Jump, CopyFrom og CopyTo. Senere blev der tilføjet kommandoer som Add og Sub, hvor vi skulle lægge værdier sammen eller trække dem fra hinanden. Vi arbejdede også med betingede kommandoer som JumpIfZero og JumpIfNegative, hvor en bestemt handling kun skulle udføres, hvis en værdi eksempelvis var nul eller negativ.

Undervejs skulle vi blandt andet vende rækkefølgen på kasser, lægge værdier sammen, sortere bestemte værdier fra og undersøge, om to kasser havde samme værdi eller fortegn. Vi skulle skrive og placere vores kommandoer visuelt på post-it-notes og derefter gennemgå løsningen trin for trin. Hvis resultatet ikke blev korrekt, måtte vi gå tilbage, finde fejlen og ændre rækkefølgen eller valget af kommandoer.

Opgaverne blev sværere undervejs, fordi vi skulle kombinere flere forskellige kommandoer og samtidig tænke over, hvordan løsningen kunne gentages. På den måde fik vi blandt andet en introduktion til logiske betingelser, gentagelser og lagring af værdier.

Nikolas er meget dygtig til kodning, og hans erfaring var en stor hjælp i begyndelsen af workshoppen. I de første opgaver hjalp han os med at forstå logikken og finde frem til de rigtige løsninger. Efterhånden begyndte Laura og jeg også at forstå principperne bedre, og vi fik opbygget et godt samarbejde, hvor vi i fællesskab kunne diskutere og afprøve forskellige løsninger.

Udfordringer

Jeg syntes, at workshoppen var meget udfordrende, især i begyndelsen. Det var svært at forstå, hvordan de enkelte kommandoer skulle sættes sammen, og hvordan én forkert placering kunne påvirke hele resultatet.

Det var også en udfordring at tænke så præcist og systematisk, fordi en computer kun udfører de instruktioner, den får. Derfor skulle alle trin være placeret i den korrekte rækkefølge, og der var ikke plads til at springe noget over eller gå ud fra, at computeren selv kunne forstå hensigten.

Efterhånden som vi løste flere opgaver og gennemgik kommandoerne trin for trin, begyndte det dog at give mere mening. Da jeg først forstod sammenhængen mellem de forskellige kommandoer, oplevede jeg også, at jeg bedre kunne deltage i løsningen af opgaverne.

Refleksion

Jeg synes, det har været en meget spændende og lærerig workshop, selvom den også var svær. Den analoge arbejdsform gjorde programmering mere visuelt og konkret, fordi vi selv skulle opstille kommandoerne og følge dem trin for trin. Det gjorde det lettere at se, hvor der opstod fejl, og hvad der skulle ændres for at få løsningen til at fungere.

Workshoppen gav mig en større forståelse for den logik, der ligger bag programmering. Jeg blev særligt opmærksom på, hvor vigtigt det er at tænke struktureret og opdele en opgave i mindre handlinger. Jeg fik også en bedre forståelse for, hvordan kommandoer, betingelser og gentagelser kan bruges sammen til at løse forskellige problemer.

Samarbejdet i gruppen havde stor betydning for min læring. Det var en hjælp at arbejde sammen med en person, der allerede havde erfaring med kodning, fordi Nikolas kunne forklare tankegangen bag opgaverne på en måde, som gjorde dem mere forståelige. Efterhånden som Laura og jeg fik en bedre forståelse for principperne, blev samarbejdet mere fælles, og vi kunne alle bidrage til at finde løsningerne.

Samlet set har workshoppen givet mig et godt første indblik i programmering og den logiske tankegang, som kodning kræver. Selvom jeg oplevede opgaverne som udfordrende, blev det samtidig motiverende, da jeg begyndte at forstå dem og selv kunne være med til at finde frem til løsningerne.