Artikel

Udvikling af kasseapp

Eleverne skal igennem forløbet udvikle en prototype på en Kasseapp (en app der kan bruges ved check out i en butik). Dette omfatter foruden computationel tænkning også design af brugergrænseflader, basal programmering, kodning i App Lab samt test og kvalitetssikring.

Værktøjer til programmering i erhvervsinformatik

Softwareudvikler og underviser Lars Skjærbæk giver gode råd til undervisning i softwareudvikling og programmering.

© Styrelsen for Undervisning og Kvalitet

Målgruppe: Erhvervsinformatik på C niveau
Tidsforbrug: 12 timer inkl. evaluering.

Om forløbet

Formålet med materialet er at lære eleverne hvorledes vi gennem computationel tænkning og nogle stærke prototypingværktøjer kan udvikle en prototype på en app.

I forløbet forklares begreberne omkring computationel tænkning med eksempler og øvelser. Derefter går vi i gang med at lære eleven om basal blokprogrammering via www.code.org. Prototypen udvikles i App Lab på code.org. Til understøttelse af dette er der lavet nogle videotutorials, som kan guide såvel lærere som elever igennem udviklingen. Forløbet omfatter også teori og øvelser til design af brugergrænseflader, samt test og kvalitetssikring.

Der arbejdes således med følgende faglige mål:

  1. kan selvstændigt tilrettelægge og udføre iterative designprocesser
  2. kan anvende computationel tankegang til løsning af problemstillinger i en erhvervsfaglig kontekst
  3. kan identificere basale strukturer i et programmeringssprog og anvende grundlæggende programmering til modifikation og (videre)udvikling af programmer

Følgende mål fra kernestoffet dækkes:

  • Metoder til prototyping
  • Udviklingsværktøjer
  • Brugergrænseflader
  • Programmering: funktioner, variable, sekvenser, løkker og forgreninger
  • Test, systematisk fejlsøgning og kvalitetssikring
  • Omsætning af problemløsninger til algoritmer gennem dekomposition, abstraktion, mønstre og generaliseringer

 

Planlægning/overvejelser

Forløbet er bygget op som et projekt med indlagt teori og øvelser. Eleverne skal arbejde sammen i par. Dels er det vigtigt at alle får ”hands on” på programmeringsdelen, men det er også vigtigt, at man hele tiden har nogle at sparre med. Dan grupperne i starten af projektet.

Det beskrevne forløb er bare en af mange muligheder. Kasseapp’en er bevidst valg, for at gøre eksemplet så simpelt som muligt. Synes du den er for nem, kan du udvide den med mere avanceret funktionalitet, eller du kan definere en helt anden opgave. Teorien kan stadig benyttes.

 

Forløbets opbygning

Forløbet strækker sig 12 lektioner

1. Introduktion. Hvad er computationel tænkning (1 time)

Underviseren gennemgår teori omkring computationel tænkning.  Computationel tænkning teori.docx
Kombiner med Øvelser til computationel tænkning. Computationel tænkning øvelser.docx.
Slides med kombineret teori, eksempler og øvelser findes her: Computationel tænkning.pptx.
 

2. Brug af strukturdiagrammer og flowdiagrammer (1 time)

Gennemgå teori og øvelser: Struktur- og flowdiagrammer.docx
Slides med teori og øvelse finder du her: Struktur- og flowdiagrammer slides.pptx
 

3. Introduktion til programmering (1 time)

Til dette benyttes www.code.org.

 

Se video: Start kodning på code

© Styrelsen for Undervisning og Kvalitet

Link til videoen: Start kodning på code

Der etableres et kursus (Klassisk labyrint) og nøglen sendes til eleverne. Disse instrueres i, hvorledes de logger på code.org, og hvor de indtaster nøglen. Læreren kan således følge op på elevernes progression.

 

Se video: Opfølgningsværktøjer til code

© Styrelsen for Undervisning og Kvalitet

Link til videoen: Opfølgningsværktøjer til code

Efter udførelsen af opgaven (eller i starten af den følgende time) forklares de basale kodningselementer: Variable, sekvenser, løkker, forgreninger, funktioner. Introduktion til programmering.docx
 

4. Agile metoder, prototyping og Scrum (1 time)

Teori gennemgås (Se slides: Brugercentreret udvikling.pptx
Forklar hvorledes vi nu som næste sprint skal udvikle en prototype på en app
Gennemgang af øvelse: Udvikling af kasseapp øvelse.docx (del 1 - om computationel tænkning)
Tilhørende slides: Udvikling af kasseapp slides.pptx.

 

5. Design af brugergrænseflade (1 time)

Gennemgang af teori for design af brugergrænseflader til apps: Brugergrænseflader til apps.pptx
Som øvelse tegnes en brugergrænseflade til en kasseapp i en iPhone skabelon (Skabelon findes i præsentationen)
Designet fotograferes ind i et dokument, hvor det beskrives i ord, hvorledes dialogerne fungerer.

 

6. Udvikling af prototype i App Lab (4 timer)

Forklar kort hvad App Lab er. Gennemfør kurset: ”Intro to App Lab” (nøgle udleveres, så lærer kan følge op)
For at hjælpe eleverne i gang med app’en er der udviklet en video tutorial.

 

Se video: kasseapp i applab, som trin for trin guider eleven i udviklingen

© Styrelsen for Undervisning og Kvalitet

Link til videoen: Kasseapp i applab

Giv eleverne adgang til denne video, og bed dem udvikle deres version af kasseapp’en. Der er her mulighed for at differentiere målsætningen for forskellige grupper. Dygtige elever kan lave deres egen version, og bliver de færdige før tid er der i opgavebeskrivelsen forslag til udvidelser, de kan gå i gang med. Mindre dygtige elever kan lave ”standardversionen” vist i videoen.

 

7. Test og kvalitetssikring (2 timer)

Gennemgang af teori: Test og kvalitetssikring.docx
ved brug af slides: Test og kvalitetssikring.pptx
Eleverne skal nu udføre en accepttest på deres kasseapp: Test og kvalitetssikring øvelser.
Først gennemføres øvelse 3, hvor testen specificeres og udføres, og så derefter øvelse 2 omkring debugging, hvor én eller flere fejl rettes.

 

8. Evaluering

Evaluering foregår på klassen. Hver gruppe pitcher (viser og demonstrerer) deres app, og i den sammenhæng skal de vise, hvor i opgaven/koden de anvender: dekomposition, abstraktion, mønster genkendelse, algoritme design, Variable, sekvenser, løkker, forgreninger, funktioner. (disse kan evt. deles ud på de forskellige grupper, så vi ikke får for mange gentagelser).

Perspektivering:
Det forklares for eleverne hvorledes de fremover kan bruge dette forløb til udvikling af prototyper på apps.

 

 

Kreditering

Udarbejdet af Lars Skjærbæk, Softwareingeniør og underviser på UCH.

Siden er opdateret 30. september 2020 af emu-redaktionen
Rettigheder:

Tekstindholdet på denne side må bruges under følgende Creative Commons-licens - CC/BY/NC/SA Kreditering/Ikke kommerciel/Deling på samme vilkår. Creative Commons-licensen gælder kun for denne side, ikke for sider, der måtte henvises til fra denne side.
Billeder, videoer, podcasts og andre medier og filer på siden er underlagt almindelig ophavsret og kan ikke anvendes under samme Creative Commons-licens som sidens tekstindhold.