Kreativ-programmering

From CCT - Vidensdeling
Jump to navigation Jump to search

Teaser

En kort video der præsenterer undervisningsforløbet:

Introduktion

Formål

Dette forløb introducerer eleverne til grundlæggende programmeringsprincipper. Efter forløbet vil eleverne kunne lave et lille program med variable, basale kontrolstrukturer og input fra mus og keyboard.

Hvis man ønsker at gå videre med processing i andre projekter, kan man også inkludere arbejde med grafiske brugerflader i dette forløb.

Forløbet er velegnet til hensyntagen til elever med meget forskellige forudsætninger, og kan nemt tones til forskellige studieretninger.

Læreplansmål

C-niveau:

  • Repræsentation og manipulation af data:
    • Modellere data samt redegøre for udvalgte typer af data og anvende disse i simple IT-systemer eller udvidelser af disse.
  • Programmering:
    • Identificere basale strukturer i programmeringssprog, modellere programmer og anvende programmenring til udbiklinge af simple IT-systemer.

Kernestof

  • IT-systemers og menneskelig aktivitets gensidige påvirkning:
    • modellering som middel til at forstå et problemområde.
  • Programmering:
    • variable, sekvenser, løkker og forgreninger.
  • Repræsentation og manipulation af data:
    • abstraktion og strukturering, begrebs- og datamodeller
    • data og datatypers repræsentation og manipulation.

Indhold

  • Programmering af små artistiske programmer.
  • Udvikling af et simpelt program baseret på en sproglig definition.
  • Udvikling af et simpelt program der producerer et bestemt visuelt resultat.
  • Algoritmiske beskrivelser af kunstværker, med henblik på implementation i et program.
  • Parametrisering af programmer vha. mus og keyboard.

Forløbet er designet til processing ([1]), men kan forholdsvis let overføres til andre programmeringssprog.

En række videoer om indledende programmering i processing er udviklet specielt til dette forløb, men de kan suppleres med nogle af de mange online ressourcer der findes til processing.

Aktiviteter & materialer

Lektionsplan

Hver lektion svarer til ca. 60 minutter. De tilhørende videoer er vejledende. Det optimale scenarie vil være, at eleverne tager videoerne frem efter behov, ofte flere gange i forløbet.

Lektion Indhold Opgaver Video
1+2 Introduktion. Installation af processing og en indledende opgave. 1
3+4 Portrætter. Eleverne laver portrætter af sidemanden. 2
5+6 Sproglig beskrivelse. Eleverne programmerer på baggrund af en sproglig beskrivelse. 3
7+8 Dynamiske tegninger. Eleverne bruges musen eller keyboardet til at lave deres program dynamisk. 4 1 og 2
9+10 Generative art. Eleverne introduceres til generative art, og laver deres første version af et "rigtigt" kunstværk. 5 3 og 4
11+12 Generative art. Endnu et kunstværk. 6
13+14 Generative art. Endnu et kunstværk. 7

Materiale

Opgaver

Opgave 1

Efter installation af processing følger eleverne en online tutorial, f.eks. denne, men man kan evt. også lade eleverne finde frem til en selv. Formålet er, at de alle skal have lavet et program i løbet af den første lektion. Mens eleverne arbejder med deres første program kan læreren hjælpe med eventuelle installations- og opstartsproblemer.

Opgave 2

Denne opgave er særligt god på et valghold, hvor elever og lærere ikke kender hinanden så godt.

Eleverne går sammen to og to, og programmerer et portræt af hinanden. For at vidensdele og inspirere i klassen opretter kan der oprettes en padlet, eller lignende, hvor eleverne kan uploade deres portrætter. Til slut kan man lave en opsamling, hvor nogle portrætter vises frem, og man kan spørge ophavsmanden om hvordan udvalgte detaljer er programmeret.

Opgave 3

Eleverne laver - eller har forberedt - en beskrivelse af hvordan deres (eller deres forældres) hus ser ud. Sidemanden skal lave et program, der tegner huset som det er beskrevet. Der kan ske forskellige ting:

  • Nogle elever har lavet meget præcise beskrivelser, andre har efterladt meget plads til fortolkning.
  • Nogle elever vil forsøge at lave en nøjagtig repræsentation af huset. Måske har de besøgt huset, måske læser de mellem linjerne, og tegner det de tror er beskrevet, ud fra deres forventning om hvordan huse ser ud.
  • Nogle elever vil forsøge at "drille" ved med vilje at fortolke beskrivelsen forkert.

De forskellige kombinationer af ovenstående giver anledning til en snak med klassen om den meget formelle og systematiske måde man skal skrive kode til computeren, for at få det resultat man ønsker.

Opgave 4

Med baggrund i et tidligere program, f.eks. portrættet fra opgave 2, bruges musen eller keyboardet til at lave tegningen dynamisk. Start med en lukket opgave:

  • Brug musen til at lave programmet dynamisk. Baggrundsfarven skal være bestemt af musens position.

Og fortsæt med en mere åben opgave:

  • Brug keyboardet til at lave en sjov animation i dit program.

Her er der god mulighed for at differentiere mellem eleverne. De mest tilbageholdende elever skal have hjælp til at definere en tilpas simpel opgave, mens de hurtigste elever kan inspireres til at løse mere komplekse problemer.

Opgave 5

Den amerikanske kunstner Sol Lewitt har produceret en lang række kunstværker indenfor genren generative art, hvor kunstneren ikke producerer kunstværket selv, men snarere en sproglig beskrivelse af den fremgangsmåde der skal følges, for at fremstille værket. Blandt andet kan en lang række vægtegninger ses her.

I denne opgave skal eleverne implementere Sol Lewitt's vægtegning nummer 289, der er særlig velegnet til implementation i processing. Beskrivelsen af kunstværket er:

A 6-inch (15 cm) grid covering each of the four black walls. White lines to points on the grids. Fourth wall: twenty-four lines from the center, twelve lines from the midpoint of each of the sides, twelve lines from each corner. (The length of the lines and their placement are determined by the drafter.)

Elevernes tegninger vil være forskellige, men alligevel genkendelige. Det giver mulighed for en snak med klassen om hvor i beskrivelsen der er plads til fortolkning, og hvem der er kunstneren, og hvor kreativiteten ligger. (Sol Lewitt? Programmøren? Programmet? Computeren?)

Løsningseksempel findes her.

Opgave 6

På dette tidspunkt begynder der at blive stor forskel på hvor hurtige eleverne er til at løse opgaverne, og det er et godt tidspunkt at begynde noget differentieret undervisning. I denne opgave arbejdes med på sværhedsgrader (Rød/Gul/Grøn) med et kunstværk af den ungarske kunstner Vera Molnar. Opgaverne findes her.

Løsningseksempel her.

Opgave 7

Endnu et sæt Rød/Gul/Grøn opgaver, denne gang om et kunstværk af Sol Lewitt, fra samlingen Work from instructions. Opgaverne findes her.

Pixiforløb

Kreativ programmering er et hovedforløb der strækker sig over mange moduler. For at få en fornemmelse for de emner der behandles inden man kaster sig ud i hovedforløbet, er der oprettet et miniforløb (Pixi-forløb) på 2 lektioner. Pixi-forløbet er et uafhængigt forløb der supplerer hovedforløbet - Pixi-forløbet er ikke en forudsætning for hovedforløbet.

Design af et dynamisk logo