Kodning for børn
Lær at kode med Scratch
Kodning for børn. lær kodning med Scratch og lav dit eget spil. Her kan du lære at lave dit eget kastespil. Teknologiforståelse i folkeskolen
Teknologiforståelse i folkeskolen
Lær kodning i folkeskolen
Kodning i Scratch -intro
Intro til Scratch
Kodning i skolen • Teknologiforståelse i skolen
I dag laver vi et kaste-spil
Spillet: En figur kaster noget og skal ramme et valgfrit dyr foran en mur. Vi bygger det trin for trin i Scratch.
Hvorfor koder vi?
- Forstå spil: Figurer, regler, point og reaktioner.
- Skab selv: Du vælger figurer, baggrunde og lyde.
- Bliv problemløser: Lær at finde fejl (bugs) og rette dem.
- Arbejd som udvikler: Byg → test → forbedr → del.
Scratch ↔ Python (for voksne)
Scratch bruger blokke, Python bruger tekst—men idéerne er de samme. Det gør din læring langsigtet og overførbar.
- Start (event) = programmet begynder.
- Gentag (loop) = gør noget igen og igen.
- Hvis (if) = gør noget når en betingelse er sand.
- Variabler = gem tal/ord (Point, Tid, Level).
- Broadcast = send beskeder mellem figurer (fx “SLUT”).
AI & programmering
AI kan hjælpe med idéer og kodeforslag. Men forståelse gør dig bedre til at:
- finde fejl (debugge) og rette dem hurtigt,
- tilpasse spillet til din idé (andre figurer, regler, sværhedsgrad),
- vurdere AI-svar og stille bedre spørgsmål.
Kodning i skolen • Teknologiforståelse i skolen
Scratch passer til skolens arbejde med teknologiforståelse: at skabe digitale produkter, undersøge, afprøve og forbedre.
- Skab & del: Elever bygger et konkret spil med mål, regler og feedback.
- Problemløsning: Systematisk afprøvning, fejlfinding og forbedring.
- Sprog & samarbejde: Forklar løsninger; arbejd i roller (designer, programmør, tester).
- Overførbar tænkning: Trin, mønstre og regler styrker arbejdet i mange sammenhænge.
Today we build a throwing game
The game: A character throws something to hit a chosen animal in front of a wall. We’ll build it step by step in Scratch.
Why are we coding?
- Understand games: sprites, rules, scoring and reactions.
- Create: you choose sprites, backdrops and sounds.
- Problem-solve: learn to find and fix bugs.
- Work like a developer: build → test → improve → share.
Scratch ↔ Python (for adults)
Scratch uses blocks, Python uses text—the concepts match. That makes learning long-term and transferable.
- Start (event) = run the program.
- Repeat (loop) = do again and again.
- If (condition) = do only when true.
- Variables = save values (Score, Time, Level).
- Broadcast = send messages between sprites (e.g., “END”).
AI & coding
AI can suggest ideas and code. Understanding helps you to:
- debug and fix mistakes,
- adapt your game to your idea,
- judge AI answers and ask better questions.
Coding in school • Technology comprehension
Scratch supports school goals: creating digital products, investigating, testing and improving.
- Create & share: concrete game with rules and feedback.
- Problem solving: systematic testing, debugging and improvement.
- Language & teamwork: explain solutions; work in roles (designer, programmer, tester).
- Transferable thinking: steps, patterns and rules help widely.
Kodning i Scratch
Scratch – Spil kodning (trin for trin)
Slutprodukt: et spil hvor en figur kaster noget for at ramme et dyr foran en mur
Trin 0: Klar
- Gå til scratch.mit.edu → Create.
- Slet katten. Gem som “Kaste-spillet”.
- Lav sprites: Spiller, Dyr (mål), Kaste-ting. Vælg baggrunden Mur.
Trin 1: Figurer & mur
Husk: Gør dyret lidt mindre (70–80%). Kaste-ting skal være skjult ved start.
Trin 2: Startpositioner
Spiller
Kaste-ting
Dyr
Trin 3: Bevæg spilleren
Styr med piletaster. (Let: venstre/højre. Sværere: også op/ned.)
Trin 4: Skyd (kloner)
Spiller – tryk mellemrum
Kaste-ting – klonens liv
Trin 5: Dyr bevægelse
Trin 6: Point (variabel)
Lav variablen Point (for alle).
På Dyr – ved træf:
Trin 7: Tid & SLUT
Lav variablen Tid (for alle). På Scene:
Vis slutbesked, og stop:
Trin 8: Test & balance
- Kan du få 5 point på 30 sek.? Justér hastigheder.
- Placér variablerne øverst i hjørnet, så de er lette at se.
- Spil i par: én tester, én retter – byt roller.
Forklaringer til alle blokke i spillet
Begivenheder (Events) – gul
- når grøn flag klikkes – starter koden, når spillet startes.
- når jeg modtager [besked] – kører, når der broadcastes (fx TRUFFET / SLUT).
- når jeg starter som klon – kører for hver ny kopi (projektil).
Styring (Control) – mintgrøn
- for evigt – gentager blokke uden stop.
- gentag (n) – kør et antal gange (timer: 30).
- gentag indtil [betingelse] – kør indtil sandt (fx “kant berøres”).
- hvis [betingelse] – udfør kun, hvis sandt (fx tast trykket?).
- vent (sek) – lille pause (mellem skud).
- opret klon / slet denne klon – laver og fjerner kopier.
- stop alle – afslut spillet.
- valgfrit = optional; noget du kan tilføje, men ikke behøver.
Bevægelse (Motion) – blå
- gå til x: … y: … – sæt figurens position.
- peg i retning … – 0° op, 90° højre, 180° ned, -90° venstre.
- peg mod [musemarkør/sprite] – sigter mod mål.
- ændr x/y med … – flyt vandret/lodret.
- gå [trin] – bevæg fremad i dens retning.
Udseende (Looks) – lyseblå
- vis / skjul – gør synlig/usynlig (projektil skjules ved start; vises som klon).
- sig “tekst” i (sek) – taleboble (Game Over).
- grafiske effekter – fx farve/glød ved træf; husk ryd grafiske effekter.
Sansning (Sensing) – cyan
- tast [venstre] trykket? – sand/falsk; styring.
- berører [kant/sprite]? – opdag træf eller missede skud.
- musemarkør – bruges til at sigte.
Operatorer – grøn
- >, <, = – sammenlign (fx Point ≥ 5 → LEVEL2).
- tilfældig fra (a) til (b) – tilfældig position/hastighed.
Variabler – blågrå
- Point – starter ved 0; +1 ved TRUFFET (på dyret).
- Tid – tæller ned fra 30; når 0 → SLUT (på Scene).
- Fart, Ammo, Fejl, Level, Highscore – bruges i udvidelser (Del 3).
- sæt [variabel] til … (startværdi) vs. ændr [variabel] med … (plus/minus).
Beskeder (Broadcast)
- udsend [TRUFFET] – projektil fortæller andre “jeg ramte!”.
- udsend [SLUT] – timer fortæller, at spillet er slut.
- Stav beskednavne ens overalt.
Step 0: Ready
- Go to scratch.mit.edu → Create.
- Delete the cat. Save as “Throwing Game”.
- Add sprites: Player, Animal, Projectile. Choose a Wall backdrop.
Step 1: Sprites & wall
Note: Make the animal smaller (70–80%). Projectile is hidden on start.
Step 2: Start positions
Player
Projectile
Animal
Step 3: Move player
Use arrow keys. (Easy: left/right. Harder: include up/down.)
Step 4: Shoot (clones)
Player – space bar
Projectile – clone
Step 5: Animal movement
Step 6: Score (variable)
Create variable Score (for all).
On Animal – when hit:
Step 7: Time & END
Create variable Time (for all). On Stage:
Show message and stop:
Step 8: Test & balance
- Can you get 5 points in 30 sec? Tune speeds.
- Place variables in a top corner for visibility.
- Work in pairs: one tests, one fixes—swap roles.
Explanations for all blocks
Events – yellow
- when green flag clicked – start code when game begins.
- when I receive [message] – runs on broadcast (e.g., HIT/END).
- when I start as a clone – runs for each clone (projectile).
Control – mint
- forever – loop without stopping.
- repeat (n) – run n times (timer uses 30).
- repeat until [condition] – continue until true (e.g., touching edge).
- if [condition] – only run when true (e.g., key pressed?).
- wait (secs) – tiny pause (between shots).
- create/delete clone – make/remove copies.
- stop all – end the game.
- optional – nice to have, not required.
Motion – blue
- go to x: … y: … – place the sprite.
- point in direction … – rotate: 0 up, 90 right, 180 down, -90 left.
- point towards [mouse-pointer/sprite] – aim.
- change x/y by … – horizontal/vertical move.
- move [steps] – move forward in current direction.
Looks – light blue
- show / hide – visibility (hide projectile on start; show on clone start).
- say “text” for (secs) – speech bubble (Game Over).
- graphic effects – short color/glow on hit; use clear graphic effects.
Sensing – cyan
- key [left] pressed? – true/false; keyboard control.
- touching [edge/sprite]? – detect hits or missed shots.
- mouse-pointer – target for aiming.
Operators – green
- >, <, = – comparisons (e.g., Score ≥ 5 → LEVEL2).
- pick random (a) to (b) – random position/speed.
Variables – blue-grey
- Score – starts at 0; +1 on HIT (on Animal).
- Time – countdown from 30; when 0 → END (on Stage).
- Speed, Ammo, Errors, Level, HighScore – extensions (Part 3).
- set [var] to … (initialise) vs. change [var] by … (add/subtract).
Broadcast messages
- broadcast [HIT] – projectile tells others “I hit!”.
- broadcast [END] – timer announces game end.
- Keep message names spelled the same everywhere.
Kodning i Scratch
Forklaringer – sådan virker blokkene
Klik på sprog, og rul ned gennem de visuelle forklaringer med pile.
Overblik
- Hver tegning viser hvad blokken gør, hvorfor det virker i spillet, og hvordan den samarbejder med andre blokke.
- Farverne matcher Scratch-kategorierne (gul = Begivenheder, mint = Styring, blå = Bevægelse osv.).
Begivenhed: når grøn flag klikkes
Styring: for evigt + hvis [tast trykket?]
Kloner: opret klon → når jeg starter som klon
Variabler: Point og Tid
- Scene sætter Tid og nedtæller; Dyr ændrer Point, når det rammes.
- Sæt = startværdi; Ændr = plus/minus undervejs.
Bevægelse: gå til, peg mod, gå trin
Beskeder (broadcast): TRUFFET og SLUT
Overview
- Each drawing shows what the block does, why it works in the game, and how it cooperates with other blocks.
- Colours match Scratch categories (yellow = Events, mint = Control, blue = Motion, …).
Event: when green flag clicked
Control: forever + if [key pressed?]
Clones: create clone → when I start as a clone
Variables: Score & Time
Motion: go to, point towards, move
Broadcast: HIT / END
Udvidelser i Scratch
Scratch – Alt‑i‑én trin for trin
Byg et kaste‑spil: kodning, illustrationer og forklaringer samme sted
Trin 0: Klar
- Gå til scratch.mit.edu → Create. Slet katten. Gem som Kaste‑spil.
- Vælg baggrund Mur. Tilføj tre figurer: Spiller, Dyr, Kaste‑ting.
Trin 1: Figurer & mur
- Gør Dyr mindre (70–80%).
- Sørg for at Kaste‑ting er skjult ved start.
Trin 2: Startpositioner
Trin 3: Bevæg spilleren (taster)
Trin 4: Skyd med kloner
Spiller
Kaste‑ting (klonens liv)
Trin 5: Dyr bevægelse
Trin 6: Point (variabel)
Lav variablen Point (for alle).
På Dyr ved træf:
Trin 7: Tid & SLUT
Trin 8: Test & balance
- Kan du få 5 point på 30 sek.? Justér hastigheder/størrelser.
- Ændr kun én ting ad gangen, så du kan mærke effekten.
Opslagsfane – hurtige forklaringer
- Begivenhed: “når grøn flag klikkes” = fælles start.
- Styring: “for evigt” lytter konstant; “hvis” gør noget kun når det er sandt.
- Kloner: projektiler som selvstændige kopier; husk slet klon.
- Sansning: `tast … trykket?`, `berører …?` giver sand/falsk.
- Variabler: `Point`, `Tid` – sæt (startværdi) vs. ændr (plus/minus).
- Beskeder: `TRUFFET`, `SLUT` synkroniserer figurer.
Lærerhjælp
- Let: Skud i fast retning 90°, dyret større (90–100%).
- Mellem: Sigte mod mus; random y.
- Svær: Fart stiger med point; ammo‑begrænsning som ekstra variabel.
- Fejl: kode på forkert sprite; mangler når jeg starter som klon; stavning af beskednavne.
- Exit‑tickets: “Forklar forskellen på sæt og ændr” • “Hvorfor kloner til projektiler?”
Step 0: Ready
- Create → delete cat → save as Throwing Game.
- Backdrop: Wall. Sprites: Player, Animal, Projectile.
Step 1: Sprites & wall
Step 2: Start positions
Step 3: Move player
Step 4: Shoot with clones
Step 5: Animal movement
Step 6: Score
Step 7: Time & END
Step 8: Test & balance
- Tune speeds/sizes; change one parameter at a time.
Quick explanations
- Events → common start.
- Control → forever + if.
- Clones → independent shots; remember delete clone.
- Sensing → key pressed? touching?
- Variables → Score/Time; set vs change.
- Broadcast → HIT/END sync behaviour.
Teacher help
- Easy: fixed 90° shots; larger animal.
- Normal: aim at mouse; random y.
- Hard: speed scales with score; ammo variable.
Udvidelser i Scratch
Scratch – Udvidelser til spillet
Gør spillet mere spændende med variabler, nye regler og flere figurer
A) Sværhedsgrad (variabel Fart)
Mål: Dyret bliver lidt hurtigere ved hvert træf.
Alternativ: Gør dyret mindre ved træf.
B) Flere dyr (variabel Værdi)
Mål: To dyre-sprites med forskellig pointværdi.
C) Ammunition (variabel Ammo)
Start: 10 skud – skyd kun når der er ammo.
Genvinding: få 1 ammo tilbage ved træf.
D) Fejl/Liv (variabel Fejl)
Mål: Hvis skuddet når kanten uden træf, tæller det som en fejl. Slut ved fx 5 fejl.
E) Baner/Levels (variabel Level)
F) Highscore (variabel Highscore)
G) Mus-styring
To muligheder:
- Spiller peger mod musen: peg mod musemarkør (i en løkke).
- Kaste-ting sigter allerede mod musen (fra Trin 4) – justér hastigheden for sværhedsgrad.
H) Lyd & effekter
Lyd: Kast-lyd på mellemrum; træf-lyd på TRUFFET.
Effekt: kort farve/glød ved træf.
I) Fejlfinding
- Skud vises ikke? Kaste-ting skal skjules ved start og vises “når jeg starter som klon”.
- Point stiger ikke? Staves beskeden TRUFFET ens alle steder? Ligger point-koden på dyret?
- Dyr står stille? Er bevægelsen inde i for evigt?
- Timer kører ikke? Ligger “gentag 30 → vent 1 → ændr Tid -1” på Scene?
A) Difficulty (variable Speed)
Goal: Animal gets faster after each hit.
Alternative: Make animal smaller on hit.
B) More animals (variable Value)
Goal: Two animal sprites with different score values.
C) Ammunition (variable Ammo)
D) Errors/Lives (variable Errors)
E) Levels (variable Level)
F) High score
G) Mouse control
- Player points towards mouse (loop).
- Projectile already aims at mouse; adjust speed for difficulty.
H) Sound & effects
I) Debugging
- Projectile invisible? Hide at start, show “when I start as a clone”.
- Score not increasing? Same spelling of HIT? Code on Animal?
- Animal not moving? Movement inside forever?
- Timer not ticking? Loop on Stage?
“
Vi gør læring sjov!
Børn og læring
