I den indledende video på startsiden hørte du, at algoritmisk kunst er resultatet af en algoritmisk proces, som kunstneren har bestemt, men ved du egentlig, hvad en algoritme er?
En algoritme kan beskrives som en række entydige instruktioner, som løser et problem, hvis de følges trin for trin. En algoritme kan både udføres af et menneske og af en computer. Der findes forskellige algoritmer med særlige formål, fx søgealgoritmer og sorteringsalgoritmer.
Nogle gange kan du opleve, at kode bruges som synonym for algoritme, men det er faktisk ikke helt det samme. En algoritme kan skrives i et sprog, som du og jeg forstår (det kaldes også pseudokode), mens en kode altid skal følge et programmeringssprogs regler og altid skal udføres af en computer. På sin vis kan man sige, at mens en kode altid også er en algoritme, behøver en algoritme ikke nødvendigvis at være en kode, men kan sådan set også være en bageopskrift.
Her nedenfor ser du en række mindre aktiviteter, som alle har til formål at få dig til at forstå, hvad en algoritme er, bedre.
(Aktiviteten er udviklet af CFU VIA som del af projektet "Matematik, sprog, kreativitet og programmering")
Øvelse 1:
Gå sammen i grupper á fem elever. En af jer får udleveret en tegning af jeres lærer, som de andre ikke må se. Den af jer, som får udleveret tegningen skal sætte dig med ryggen til resten af gruppen. Du skal nu forklare de andre i gruppen, hvordan de tegner den samlede figur, så deres tegninger bliver nøjagtig magen til din figur. Begynd med den øverste figur og gå efterhånden nedad, idet du beskriver en figur ad gangen. Tag særlig hensyn til hvordan figurerne er anbragt i forhold til hinanden. Det er ikke tilladt for hverken dig eller resten af gruppen af stille eller besvare spørgsmål. Du må ikke se de andres tegninger, før de er færdige.
Øvelse 2:
I gruppen tegner I en figur på samme måde som figuren i bilag 1. Herefter designer I en algoritme med præcise og entydige instruktioner, som I skal læse op for en anden gruppe, således at den anden gruppe kan tegne jeres figur. En fra jeres
gruppe skal nu ud fra det design, I har udarbejdet, forklare en anden gruppe, hvordan figuren skal tegnes. Den anden gruppes besvarelser samles sammen. Herefter byttes der, således at den anden gruppe får afprøvet deres algoritme. Det er ikke tilladt at stille eller besvare spørgsmål. Ingen må se tegningen og eleven må ikke se de andres forsøg på at tegne figurerne.
Øvelse 3: I kigger besvarelserne igennem og overvejer mulige forbedringer i instruktionen. I debugger (forbedrer) jeres algoritme, således den kan læses op for en ny gruppe. En fra jeres gruppe skal nu ud fra det nye design forklare en ny gruppe, hvordan figuren fra øvelse 2 skal tegnes. Herefter byttes der, således at den anden gruppe får afprøvet deres algoritme. Det er ikke tilladt at stille eller besvare spørgsmål. Ingen må se tegningen og eleven må ikke se de andres forsøg på at tegne
figurerne.
Eksempel på figur
Gå sammen i grupper á tre-fire personer. Markér en firkant på gulvet, som måler 3 x 3 meter. I skal nu finde på nogle simple fysiske bevægelser, som I gentager i en bestemt rækkefølge inden for firkanten. Hver person skal lave sin egen serie af bevægelser, og I må ikke støde sammen, når I laver jeres bevægelser på samme tid i firkanten. I skal altså regne ud, hvordan I kan bevæge jer rundt i forskellige baner og måske også arbejde med tempo, så nogle af jer måske skal vente i et antal sekunder mellem hver bevægelse, for at det kan lade sig gøre.
Skriv algoritmen for hver persons bevægelsesmønster ned og opvis jeres bevægelsespartitur for jeres klassekammerater. De skal nu prøve, om de kan gætte jeres algoritmer.
(Aktiviteten er udviklet af ComputerScienceUnplugged og oversat af CFU Absalon)
Denne aktivitet vil vise jer, hvordan computer sorterer tilfældige tal i den rigtige rækkefølge ved at bruge en sorteringsalgoritme. Tegn dette netværk op med kridt før aktiviteten.
Hvis I laver en fejl, må I starte forfra. Tjek, at I har forstået, hvad I skal i cirklerne, hvor den med det laveste tal går til venstre, og den med det højeste tal går til højre. Fx:
Netværk kan også bruges til at finde den mindste eller den største værdi i et samling inputs. Fx ses her et netværk med 8 inputs, hvor det endelige output vil være det tal med mindst værdi (de andre er placeret i de “blinde” kryds.
Tal om hvilke processer, som kendes fra dagligdagen, kan eller kan ikke blive accelereret ved at bruge parallel sortering? Fx vil madlavning gå meget langsommere, hvis der kun bruges en kogeplade, fordi de forskellige dele af måltidet så skal laves efter hinanden. Hvilke jobs kan udføres hurtigere ved at ansætte flere folk? Hvilke kan ikke?
Sol Lewitt var en kunstner, som lavede mere end 1300 værker som algoritmer, som han indbød museer og andre til at skabe. En algoritme kunne lyde “with blyant, tegn 1000 vilkårlige lige linjer, 10 inches (25,4 cm) lange, hver dag i 10 dage i en 10x10 foot (304,8 x 304,8 cm) firkant. For Sol Lewitt var idéen bag et værk vigtigere end dets udformning.
I denne aktivitet kan I prøve, om I kan lave en version af Sol Lewitts Wall Drawing #273 fra september 1975. Algoritmen lyder således:
Sol LeWitt’sWall Drawing 273, September 1975
Grafit og farveblyanter på syv vægge.
Et 15 x 15 cm net, som dækker væggene. Linjer fra hjørner, sider og midte til vilkårlige punkter på nettet.
1. væg: Røde linjer fra midten af de fire sider.
2. væg: Blå linjer fra de fire hjørner.
3. væg: Gule linjer fra midten.
4. væg: Røde linjer fra midten af de fire sider, blå linjer fra de fire hjørner.
5. væg: Røde linjer fra midten af de fire sider, gule linjer fra midten.
6. væg: Blå linjer fra de fire hjørner, gule linjer fra midten.
7. væg: Røde linjer fra midten af de fire sider, blå linjer fra de fire hjørner, gule linjer fra midten.
Hver væg skal have det samme antal linjer (Antallet og deres længde bestemmes af den, der udfører værket).
Note til læreren: Der er udarbejdet et længere scenariedidaktisk forløb til det nationale forsøg med teknologiforståelse udgangspunkt i denne vægtegning, som aktiviteten kan udvides med, hvis det ønskes. I det scenariedidaktiske forløb skal eleverne til sidst programmere deres udformninger i scratch, men det vil de også sagtens kunne i OpenProcessing.
(Aktiviteten stammer fra bogen "Make Your Own Algorithmic Art" af Tariq Rashid)
Prøv at lave dette lille eksempel. Først skal du tegne en pyramide med firkanter ligesom du ser her. Klik dig igennem billederne for instruktion. Du kan bare tegne i hånden, men ellers kan du bruge programmet Pixilart, som du finder på nettet her:
https://www.pixilart.com/draw
Hvis ikke du allerede har brugt Pixilart i opgaven ovenfor, så åbn det nu. Leg med at lave dit eget algoritmiske mønster, Du bestemmer helt selv, hvad algoritmen skal være, men andre skal kunne følge den og genskabe dit mønster.
Copyright © Alle rettigheder forbeholdes