Ugeprojekt · 2. semester · UCL Odense · Thomas Skytte
Da koden begyndte at give mening — og videoen begyndte at gøre ondt.
Et ugeforløb hvor vi skulle bygge en hjemmeside med HTML, CSS og JavaScript — og hver især lave en undervisningsvideo om vores egen kode. Det tekniske var faktisk det nemme. Det svære var at skulle forklare det højt, foran et kamera, til mig selv om 6 uger. Forløbet sluttede med at lægge fundamentet for både P4 og eksamensprojektet, men det vidste jeg ikke da jeg sad og kæmpede med min første for-løkke.
VARIGHED
1 uge
FORMAT
Gruppeprojekt + individuel video
FOKUS
JS-grundlæggere
VÆRKTØJER
VS Code, GitHub, Scrimba

Ugen startede ikke som planlagt. Thomas blev syg torsdag, opgavebeskrivelsen kom ikke fredag som aftalt, og hen over weekenden væltede der sne ned over Fyn. Mandag morgen sad vi i en gruppechat på Discord og prøvede at finde ud af om vi overhovedet kunne komme på skolen, om der ville være undervisning, og om vi skulle starte uden at vide hvad vi egentlig skulle.
Vi besluttede os for at lave det vi kunne gøre uden opgavebeskrivelse: oprette GitHub-repository, tilføje alle gruppemedlemmer, og aftale en filstruktur. Vi delte JS-filerne op efter navn — jeg fik caro-menu.js, andre fik gallerier, kontaktformer, osv. — så vi kunne arbejde parallelt uden merge-conflicts. Det gav mening i teorien, men jeg fandt hurtigt ud af at det også betød at jeg var alene om min del. Ingen at sparre med inde i selve koden.
Som en sidekommentar: at koordinere fem mennesker over Discord når halvdelen er syge, en har et barn der skal til fastelavn, og en anden ikke kan tage toget — det er en disciplin i sig selv. Jeg lærte mere om gruppedynamik end om JavaScript den første dag.
Min opgave i gruppen var burgermenuen — en dropdown der åbner og lukker, med dynamisk genererede links der scroller til forskellige sektioner. Jeg startede med at se på en for-løkke som var den skrevet på et andet sprog. for(let i = 0; i < menuLinks.length; i++) — fire forskellige operatorer, en variabel der ændrer sig, og en betingelse jeg ikke umiddelbart kunne læse.

Det der knækkede koden for mig var at bryde løkken ned i tre dele, hver med ét formål.
Pludselig var det ikke en mur af tegn. Det var: start ved nul, fortsæt så længe der er flere navne i listen, hop videre når du er færdig. Da jeg forstod det, kunne jeg læse alle andres løkker.
If/else var lettere — det giver intuitivt mening. Min toggle-funktion til menuen bruger dropdownmenu.classList.contains(‘open’) som betingelse: hvis menuen har klassen open, fjern den. Ellers, tilføj den. Det er en switch der vender mellem to tilstande hver gang man klikker. Den slags kode skriver jeg nu uden at tænke over det, men i mandags var det noget jeg skulle slå op tre gange.
“Kode der ser kompliceret ud er næsten altid bare flere simple ting stablet ovenpå hinanden.”
Det jeg tog med videre: kode der ser kompliceret ud er næsten altid bare flere simple ting stablet ovenpå hinanden. Pillet fra hinanden, lag for lag, så er der ikke noget magisk ved det. Det handler om at finde ind til de små byggesten først.

Det sværeste i hele forløbet havde intet med kode at gøre. Som en del af afleveringen skulle vi hver især optage en video hvor vi forklarede en JS-kode vi havde skrevet. Skærmoptagelse, voiceover, og det skulle være forståeligt for en udenforstående.
Jeg udskød den så meget som muligt. Begrundede det med at jeg “lige skulle have koden færdig først”. Men sandheden var at jeg ikke ville stå frem og forklare noget jeg var bange for ikke at kunne forklare ordentligt. Når man skriver kode, kan man slette og prøve igen. Når man laver en video og siger noget forkert, ligger det der. Og man kan høre sig selv lyde usikker.
Sådan løste jeg det til sidst.
Det der overraskede mig var at processen med at skrive manuskriptet faktisk gjorde min forståelse skarpere. Når man skal forklare en for-løkke til en der ikke har set kode før, kan man ikke gemme sig bag fagudtryk. Man skal vide hvad man taler om. “Forklar det højt”-testen er den hårdeste — og bedste — måde at finde huller i sin egen forståelse på.
Da jeg afleverede projektet om fredagen, troede jeg det var slut. Et ugeforløb, en mappe på GitHub, videre til næste opgave. Det viste sig at være helt forkert.
Da P4 startede, var det første jeg gjorde at åbne caro-menu.js. Burgermenuen passede ind med små justeringer. Det samme gjorde dropdown-logikken. Og da eksamensprojektet kom, gjorde jeg det igen. Det skiftede måden jeg tænker kode på — ikke som engangs-opgaver, men som byggeklodser der bliver på lager til næste projekt.

At lære at kode er ikke at lære syntaks udenad. Det er at lære at læse sin egen kode tilbage og høre hvad den siger. Videoen tvang mig til det første gang. Genbrugen i P4 tvang mig til det anden gang. Og hver gang jeg åbner et gammelt projekt, bliver jeg tvunget til at læse min egen logik som om den var en andens.
Det jeg ikke havde forventet var hvor meget den uge skulle komme til at betyde for resten af semesteret. JS-grundlæggere — loops, betingelser, events, DOM-manipulation — er ikke et kapitel man læser og lægger fra sig. De er fundamentet under alt det andet.
“Det tekniske var faktisk det nemme. Det svære var at skulle forklare det højt.”
Næste skridt: bygge noget fra bunden uden at genbruge gammel kode. Ikke fordi genbrug er forkert, men fordi jeg er nysgerrig på om jeg faktisk kan skrive en for-løkke uden at have en gammel version åben i et andet vindue. Det er testen.