Eksamensoppgavene er utgitt av Utdanningsdirektoratet. Første nedlasting kjører en bot-sjekk i nettleseren (Vercel BotID) — mer i personvernerklæringen.
5 timer — alle hjelpemidler10 oppgaver · 60 poeng
Oppgave 1·Hva en klasse er i objektorientert programmering
Hjelpemiddelkrav: For hånd
Hvilket av følgende alternativer beskriver best en klasse i objektorientert programmering (OOP)?
Fasit
En klasse er en mal eller en prototype for objekter.
LøsningsforslagKI-generert
En klasse beskriver hvilke egenskaper (attributter) og metoder objektene av en bestemt type skal ha. Selve klassen er bare beskrivelsen. Når programmet lager et objekt ut fra klassen, får vi en instans av klassen. En klasse Bil kan for eksempel brukes til å lage mange bilobjekter med hvert sitt registreringsnummer og hver sin farge.
De andre alternativene er feil:
«En instans av et objekt» snur forholdet på hodet. Det er objektet som er en instans av en klasse.
En funksjon som utfører en spesifikk oppgave, er en funksjon eller en metode. En klasse kan inneholde mange metoder.
En klasse lagrer ikke data selv, og den er ingen metode. Det er objektene som holder på dataene i egenskapene sine.
Sensorveiledning
Oppgaven gir til sammen 1 poeng
“En mal eller prototype for objekter” vurderes som riktig.
Oppgave 2·Spesialisering når klasse B arver fra klasse A
Hjelpemiddelkrav: For hånd
Hvis en klasse B arver fra klasse A, hvilken betegnelse er mest korrekt for klasse B i forhold til klasse A i objektorientert modellering?
Fasit
B er en spesialisering av A.
LøsningsforslagKI-generert
Når B arver fra A, får B alle egenskapene og metodene til A. I tillegg kan B ha egne egenskaper og metoder, eller overstyre metoder fra A. B er dermed en mer spesiell utgave av A. Et eksempel er en klasse Elbil som arver fra Bil: en elbil er en bil, men har i tillegg for eksempel batterikapasitet. Arv kalles derfor gjerne en «er en»-relasjon.
Samme forhold sett fra andre siden er at A er en generalisering av B. Superklassen samler det som er felles for subklassene.
De andre alternativene er feil:
«Generalisering av A» er motsatt vei. Det er A som er generaliseringen.
En assosiasjon er en relasjon mellom objekter av to klasser som kjenner til hverandre, for eksempel at en person eier en bil. Det er ikke arv.
En avhengighet betyr at én klasse bruker en annen, for eksempel som parameter i en metode. Det er en svakere relasjon enn arv.
Sensorveiledning
Oppgaven gir til sammen 1 poeng
“B er en spesialisering av A” vurderes som riktig.
Oppgave 3·Løkke med nedtelling og løpende sum i pseudokode
Hjelpemiddelkrav: For hånd
Gitt følgende pseudokode:
SET b TO 4SET c TO 5FOR hvert heltall a fra og med 2 til og med 4 DISPLAY c DECREMENT b SET c TO c + bENDFOR
Hva blir resultatet av programmet som er beskrevet i pseudokoden ovenfor?
Fasit
5 8 10
LøsningsforslagKI-generert
Før løkka er b = 4 og c = 5. Løkka går tre ganger, for a = 2, a = 3 og a = 4. I hver runde vises først c, deretter blir b én mindre, og til slutt legges den nye verdien av b til c.
a
Vises
b etterpå
c etterpå
2
5
3
5 + 3 = 8
3
8
2
8 + 2 = 10
4
10
1
10 + 1 = 11
Programmet viser 5, 8 og 10. Verdien 11 blir aldri vist, fordi DISPLAY c kommer før c endres, og løkka stopper etter a = 4.
«8 9 10» er feil fordi den første verdien som vises, er startverdien 5. c endres først etter at den er vist. De to andre alternativene inneholder ingen av verdiene c får underveis.
Oppgave 4·Sortere pseudokode for fortegn og partall
Hjelpemiddelkrav: For hånd
Nedenfor ser du flere linjer med pseudokode som skal skrive ut følgende resultat når linjene er sortert i riktig rekkefølge:
-2 er negativt og partall-1 er negativt og oddetall0 er null1 er positivt og oddetall2 er positivt og partall
Merk: Operatoren % betyr rest ved heltallsdivisjon og kan skrives som mod eller Mod i noen programmeringsspråk.
Sorter linjene med pseudokode i riktig rekkefølge slik at den skriver ut resultatet som er beskrevet ovenfor.
Sorter linjene
DISPLAY num + " er positivt og partall"
DISPLAY num + " er positivt og oddetall"
DISPLAY num + " er negativt og oddetall"
DISPLAY num + " er negativt og partall"
IF num % 2 EQUAL TO 0
FOR hver num LESSER THAN OR EQUAL TO 2
ELSE
SET num to -2
ELSE
ELSE IF num EQUAL TO 0
IF num % 2 EQUAL TO 0
ENDIF
IF num LESSER THAN 0
ENDIF
ENDFOR
DISPLAY num + " er null"
ENDIF
ELSE
Fasit
SET num to -2FOR hver num LESSER THAN OR EQUAL TO 2 IF num LESSER THAN 0 IF num % 2 EQUAL TO 0 DISPLAY num + " er negativt og partall" ELSE DISPLAY num + " er negativt og oddetall" ENDIF ELSE IF num EQUAL TO 0 DISPLAY num + " er null" ELSE IF num % 2 EQUAL TO 0 DISPLAY num + " er positivt og partall" ELSE DISPLAY num + " er positivt og oddetall" ENDIF ENDIFENDFOR
Strukturen er entydig. De to like IF num % 2-linjene, de tre ELSE-linjene og de tre ENDIF-linjene kan likevel bytte plass med hverandre.
LøsningsforslagKI-generert
Det lønner seg å finne skjelettet først og fylle inn detaljene etterpå.
Løkka. Utskriften går gjennom tallene fra til . SET num to -2 må derfor stå først, og deretter FOR hver num LESSER THAN OR EQUAL TO 2. Løkka øker num med 1 for hver runde og slutter etter num = 2. ENDFOR står helt til slutt.
Fortegnet. Inne i løkka må programmet først skille mellom tre tilfeller: negativt tall, null og positivt tall. Det gjør en IF med tre grener:
IF num LESSER THAN 0 …ELSE IF num EQUAL TO 0 …ELSE …ENDIF
Partall eller oddetall. For negative og positive tall skal programmet i tillegg skrive om tallet er partall eller oddetall. Tallet er partall når resten ved deling med 2 er null. Derfor ligger det en IF num % 2 EQUAL TO 0 … ELSE … ENDIF inne i både den første og den siste grenen. For null trengs ingen slik test, så grenen for null har bare DISPLAY num + " er null".
Opptelling av linjene. De 18 linjene går opp: to IF num % 2-tester, tre ELSE (én i hver av de to indre testene og én i den ytre), og tre ENDIF (to for de indre testene og én for den ytre). Ved første øyekast kan det se ut som om det mangler en ENDIF, men ELSE IF åpner ingen ny IF-blokk som må lukkes. Den er en del av den ytre testen, som lukkes med én ENDIF.
Kontroll. Går vi gjennom løkka for , gir programmet nøyaktig de fem linjene i oppgaven. For eksempel gir grenen num LESSER THAN 0, og siden ikke er null, skrives «-1 er negativt og oddetall».
Sensorveiledning
Oppgaven gir til sammen 2 poeng
Det gis uttelling for riktig for-løkke og vurdering av negativ/positiv verdi, null og partall/oddetall.
SET n TO 10SET a[0] TO 0SET a[1] TO 1FOR hvert heltall i fra og med 2 til n SET a[i] TO a[i-1] + a[i-2]ENDFORDISPLAY a[n]
a)Hjelpemiddelkrav: For hånd
Hva blir resultatet av programmet som er beskrevet i pseudokoden ovenfor?
b)Hjelpemiddelkrav: For hånd
Forklar algoritmen som er beskrevet i pseudokoden ovenfor.
c)Hjelpemiddelkrav: For hånd
Utvid/endre algoritmen slik at den viser de ti første av tallene som er generert på denne måten og som er partall. Lag et flytskjema som representerer denne nye algoritmen.
Fasit
a)
Indeksfeil: Løkka går fra og med 2 til (men ikke med) , så a[10] blir aldri satt. Leser vi «til» som «til og med», blir resultatet .
b)
Algoritmen lager Fibonacci-tallene i en indeksert variabel: Hvert tall er summen av de to foregående, og til slutt vises det siste tallet.
c)
En WHILE-løkke lager nye tall til ti partall er vist, og en IF med a[i] % 2 EQUAL TO 0 bestemmer hvilke tall som vises. De ti første partallene i følgen er . Regner vi ikke startverdien med, blir det .
LøsningsforslagKI-generert
a)
Løkka går «fra og med 2 til ». I oppgave 3 skriver eksamen uttrykkelig «til og med», så her tolker vi «til» som «til, men ikke med». Da går i fra 2 til 9:
i
a[i-2]
a[i-1]
a[i]
2
0
1
1
3
1
1
2
4
1
2
3
5
2
3
5
6
3
5
8
7
5
8
13
8
8
13
21
9
13
21
34
Etter løkka inneholder a plassene 0 til 9. DISPLAY a[n] prøver å vise a[10], som aldri er satt. Resultatet blir en indeksfeil, for eksempel IndexError i Python.
Hadde løkka gått til og med 10, ville den også regnet ut a[10] = 21 + 34 = 55, og programmet ville vist 55.
b)
Algoritmen lager Fibonacci-tallene i en indeksert variabel (liste) a:
De to første tallene settes til a[0] = 0 og a[1] = 1.
Løkka går gjennom plassene fra 2 og oppover. Hvert nytt tall er summen av de to foregående: a[i] = a[i-1] + a[i-2]. Listen blir .
Når løkka er ferdig, vises tallet på plass n til brukeren.
Hensikten er altså å finne Fibonacci-tall nummer , som er 55. Siden løkka stopper før i = 10, finnes ikke a[10], og visningen gir indeksfeil (se a). Feilen rettes ved å la løkka gå til og med n.
c)
Vi vet ikke på forhånd hvor mange tall vi må lage før vi har funnet ti partall. En FOR-løkke med fast antall runder passer derfor dårlig. I stedet bruker vi en WHILE-løkke og en teller antall som holder styr på hvor mange partall som er vist:
SET a[0] TO 0SET a[1] TO 1DISPLAY a[0]SET antall TO 1SET i TO 2WHILE antall LESSER THAN 10 SET a[i] TO a[i-1] + a[i-2] IF a[i] % 2 EQUAL TO 0 DISPLAY a[i] INCREMENT antall ENDIF INCREMENT iENDWHILE
Forklaring av endringene:
n trengs ikke lenger. Løkka stopper når antall har nådd 10.
Startverdien a[0] = 0 er et partall og vises før løkka, så antall starter på 1. Tallet a[1] = 1 er et oddetall og skal ikke vises.
Et tall er partall når resten ved deling med 2 er null (a[i] % 2 EQUAL TO 0). Bare da vises tallet og telleren økes.
i økes i hver runde, uansett om tallet var partall eller ikke.
Programmet viser . Hvert tredje Fibonacci-tall er et partall, så løkka må lage tallene helt fram til a[27] = 196418. Vil vi ikke regne med startverdien 0, fjerner vi DISPLAY a[0] og setter antall til 0. Da slutter programmet med a[30] = 832040.
Flytskjemaet bruker standardsymbolene: ellipse for start og slutt, rektangel for tilordninger og beregninger, parallellogram for visning (utdata) og rombe for valg. Løkka er pila fra i = i + 1 tilbake til testen antall < 10 ?. Når svaret er «nei», er ti partall vist, og programmet stopper.
Sensorveiledning
Oppgaven gir til sammen 4,5 poeng
a)1p1 poeng
Det gis full uttelling for “indeksfeil” eller tilsvarende svar og halv uttelling for “55” som svar.
b)1,5p1,5 poeng
Det gis uttelling for forklaring av at løkken genererer en indeksert variabel med tall, at hvert tall er summen av de to foregående tallene og at det siste tallet i variabelen vises til bruker, etter at variabelen er ferdig generert, eventuelt for at visningen gir indeksfeil.
c)2p2 poeng
Det gis uttelling inntil 2p for flytdiagram med korrekt symbolbruk og inntil 2p for utvidelsen av algoritmen.
Oppgave 6·Kalkulatorklasse med fire regneoperasjoner
Vi ønsker å lage en liten kalkulator for de fire regneoperasjonene – minus, pluss, gange og dele. Nedenfor finner du pseudokode som beskriver en del av en løsning ved hjelp av fire funksjoner:
FUNCTION pluss(a, b) RETURN a + bENDFUNCTIONFUNCTION minus(a, b) RETURN a - bENDFUNCTIONFUNCTION gange(a, b) RETURN a * bENDFUNCTIONFUNCTION dele(a, b) RETURN a / bENDFUNCTION
a)Hjelpemiddelkrav: For hånd
Lag et klassediagram for en tilsvarende klasse kalt Kalkulator til bruk i en objektorientert løsning.
b)Hjelpemiddelkrav: Krever PC
Implementer klassen i ditt programmeringsspråk.
c)Hjelpemiddelkrav: Krever PC
Implementer et egnet testprogram for å teste løsningen, og identifiser mulige feil og unntak.
d)Hjelpemiddelkrav: Krever PC
Implementer nødvendig håndtering av mulige feil og unntak.
Fasit
a)
Klassen Kalkulator uten egenskaper, med konstruktøren og de fire offentlige metodene pluss(a, b), minus(a, b), gange(a, b) og dele(a, b).
LøsningsforslagKI-generert
a)
Et klassediagram i UML har tre felt:
Øverst står klassenavnet, Kalkulator.
I midten står egenskapene (attributtene). Kalkulatoren trenger ingen egenskaper: hver metode får tallene den skal regne med som parametere og returnerer svaret. Feltet står derfor tomt.
Nederst står metodene. De fire funksjonene fra pseudokoden blir metoder i klassen. + betyr at metodene er offentlige, slik at resten av programmet kan bruke dem. Parameterne og returverdien er desimaltall (float). Datatypene er ikke påkrevd, men gjør diagrammet tydeligere.
Konstruktøren Kalkulator() lager et nytt kalkulatorobjekt. Den tar ingen parametere, siden objektet ikke har egenskaper som skal settes. Mange tar ikke med konstruktøren i diagrammet når den ikke gjør noe spesielt.
Sensorveiledning
Oppgaven gir til sammen 5,5 poeng
a)0,8p0,8 poeng
Det gis uttelling for korrekt diagram med klassenavn og de fire metodene. Det stilles ikke krav til datatyper.
b)0,8p0,8 poeng
Det gis uttelling for implementert klasse med konstruktør og for metoder.
c)2p2 poeng
Det gis uttelling for fungerende implementert testprogram, tilstrekkelig testdata, identifisering av deling med 0 og identifisering av feil datatype/casting.
d)2p2 poeng
Det gis uttelling for håndtering av inntil to typer feil og unntak.
Oppgaven bygger på artiklene om deepfakes fra forberedelsesdelen. Du kan også bruke andre kunnskaper og kilder du har.
a)Hjelpemiddelkrav: For hånd
Hva er deepfakes?
b)Hjelpemiddelkrav: For hånd
Hvilken av følgende er en potensiell konsekvens av deepfakes?
c)Hjelpemiddelkrav: For hånd
Hvordan kan du avsløre en godt laget deepfake-video? (Velg det alternativet som er mest riktig.)
Fasit
a)
Manipulerte medier.
b)
Økt risiko for politisk manipulering.
c)
Ved å bruke teknikker fra kildekritikk.
LøsningsforslagKI-generert
a)
En deepfake er bilde, video eller lyd som er manipulert med kunstig intelligens, for eksempel ved at ansiktet eller stemmen til én person byttes ut med en annens. Deepfakes er derfor manipulerte medier. I forberedelsesartikkelen får FFI politikeren Abid Raja til å snakke trøndersk med stemmen til en forsker.
De andre alternativene er feil. Deepfakes er ikke et sosialt medium, selv om de ofte spres der. Det er heller ikke virtuell virkelighet, der brukeren beveger seg i en datagenerert verden. Det finnes apper for ansiktsbytte, men deepfake er en betegnelse på teknikken og resultatet, ikke navnet på én app.
b)
Deepfakes gjør det enkelt å lage troverdige videoer der politikere sier noe de aldri har sagt. Artikkelen nevner den falske videoen der Zelenskyj ber soldatene legge ned våpnene, og falske bilder brukt i den amerikanske valgkampen. Økt risiko for politisk manipulering er derfor en konsekvens.
De andre alternativene er feil. Deepfakes øker desinformasjonen i stedet for å redusere den, og de svekker tilliten til video- og lydbevis. Økt digital kompetanse er ingen direkte konsekvens av teknologien, selv om den kan være et mottiltak.
c)
En godt laget deepfake er laget nettopp for å se ekte ut. Det hjelper derfor lite å se på videoen alene, og tekniske verktøy for å avsløre KI-innhold er mangelfulle. Artikkelen anbefaler i stedet kildekritikk: vær skeptisk til oppsiktsvekkende innhold, finn ut hvem avsenderen er, og sjekk om det samme blir omtalt av andre kilder, for eksempel redaktørstyrte medier.
De andre alternativene er feil. At videoen ser ekte ut, sier lite om en godt laget deepfake. Profesjonelle filmskapere kan også lage deepfakes, og mange likes viser bare at videoen er populær, ikke at den er sann. Falskt og oppsiktsvekkende innhold får ofte ekstra mye engasjement.
Sensorveiledning
Oppgaven gir til sammen 2 poeng
a)0,7p0,7 poeng
“manipulerte medier” vurderes som riktig.
b)0,7p0,7 poeng
“økt risiko for politisk manipulering” vurderes som riktig.
c)0,7p0,7 poeng
“ved å bruke teknikker fra kildekritikk” vurderes som riktig.
Oppgave 8·Deepfake-svindel og deepfakes i jobbintervjuer
Oppgaven bygger på artiklene om deepfakes fra forberedelsesdelen. Du kan også bruke andre kunnskaper og kilder du har.
Som student på vei ut i arbeidslivet har du blitt invitert til et jobbintervju hos en anerkjent teknologibedrift. Bedriften ønsker blant annet under intervjuet å vurdere din kompetanse til å avsløre bruk av deepfake ved et konkret svindelforsøk bedriften nettopp har vært utsatt for. En ansatt har blitt lurt til å bli med på et falskt møte med kollegaer og en kunde der bedriften har blitt svindlet for et stort pengebeløp.
a)Hjelpemiddelkrav: For hånd
Hvordan kan du bidra til å avsløre tilsvarende svindelforsøk i bedriften? Hva kan bedriften gjøre for å forebygge framtidige svindelforsøk gjennom bruk av deepfake?
Under intervjuet blir du også overrasket når du finner ut at bedriften bruker deepfakes for å simulere ulike arbeidssituasjoner og vurdere kandidatenes reaksjoner. Det kan være utfordrende samtaler med framtidige kollegaer og ledere, videoopptak av samhandling med kunder eller at selve kandidaten er brukt i et deepfake-scenario. Hensikten er å identifisere kandidater som kan tilpasse seg og prestere under press.
b)Hjelpemiddelkrav: For hånd
Drøft konsekvenser ved bruk av deepfakes i vurdering av jobbsøkere.
Fasit
a)
Avsløre: vær skeptisk til uvanlige og hastende forespørsler om penger eller sensitiv informasjon, se etter tekniske avvik i bilde og lyd, og bekreft identiteten gjennom en annen, kjent kanal. Forebygge: faste rutiner med flere godkjenninger (tofaktor, «fire øyne») for betalinger, opplæring av ansatte, sikre og verifiserte møteplattformer og mindre offentlig tilgjengelig lyd og video av nøkkelpersoner.
b)
Mulige fordeler er realistiske og like testsituasjoner for alle kandidater. Ulempene er blant annet bruk av kandidatens ansikt og stemme (personopplysninger) uten reelt samtykke, villedning av kandidaten, psykisk belastning, skjev maktbalanse, fare for diskriminering og misbruk og at bedriften svekker tilliten til seg selv. En god drøfting veier argumentene mot hverandre og ender i en begrunnet konklusjon.
LøsningsforslagKI-generert
Svarene nedenfor er eksempler. Andre tiltak og argumenter kan være like gode, så lenge de er knyttet til deepfakes og begrunnet faglig.
a)
Hvordan svindelen virker. I saken fra forberedelsen trodde en ansatt i Hongkong at han var i videomøte med kollegaer. Møtet var iscenesatt av svindlere som hadde manipulert video og lyd med deepfake-teknologi, og han overførte over 271 millioner kroner. Økokrim peker på at svindlerne kombinerer kunstig intelligens med sosial manipulering: de utnytter tillit, autoritet og tidspress. Svindelen er altså ikke bare et teknisk angrep, men et angrep på menneskene og rutinene i bedriften.
Hvordan jeg kan bidra til å avsløre slike forsøk:
Se etter varselsignaler i forespørselen. Uvanlige ønsker om store overføringer, hastverk, krav om hemmelighold og nye kontonumre er typiske tegn på svindel, uansett hvor ekte møtet ser ut.
Bekrefte identiteten i en annen kanal. Ring personen på et nummer du allerede har, eller møt personen fysisk. En svindler kontrollerer bare kanalen han selv har satt opp.
Se og lytte etter tekniske avvik. Unaturlige konturer rundt ansikt og hender, uskarp bakgrunn, dårlig samsvar mellom leppebevegelser og lyd og en monoton stemme kan avsløre en deepfake. Be personen snu hodet, holde hånden foran ansiktet eller svare på noe bare den ekte personen vet. Slike kontroller blir likevel mindre pålitelige etter hvert som teknologien blir bedre.
Kildekritikk. Hvem har innkalt til møtet, fra hvilken adresse og på hvilken plattform? Stemmer det med hvordan bedriften vanligvis jobber?
Hva bedriften kan gjøre for å forebygge:
Rutiner som ikke bygger på tillit til ansikt og stemme. Store betalinger bør kreve godkjenning fra minst to personer («fire øyne-prinsippet») og bekreftelse gjennom et eget, sikret system med tofaktorautentisering. Ingen enkeltperson skal kunne overføre store beløp på grunnlag av et videomøte.
Opplæring. Ansatte må vite at deepfakes finnes, kjenne varselsignalene og vite at det er lov og ønsket å stoppe opp og sjekke, også når «sjefen» har det travelt. Øvelser med simulerte svindelforsøk kan gjøre dette konkret.
Tekniske tiltak. Bruke godkjente møteplattformer der deltakerne er logget inn med bedriftens identitetsløsning, og merke eksterne deltakere tydelig. Verktøy som oppdager deepfakes, kan være et supplement, men ikke eneste forsvar.
Begrense råmaterialet. Jo mer lyd og video av ledere som ligger åpent på nettet, jo lettere er det å lage en overbevisende deepfake. Bedriften kan tenke gjennom hvor mye slikt den publiserer.
Beredskap. En klar plan for hva de ansatte skal gjøre ved mistanke, og at hendelser meldes til ledelsen og politiet (Økokrim).
Viktigst er at bedriften ikke gjør det enkelte individet til eneste forsvarslinje. Når deepfakes blir så gode at de ikke kan avsløres med øynene, er det rutinene som stopper svindelen.
b)
Dilemmaet. Bedriften vil finne kandidater som presterer under press, og deepfakes gjør det mulig å lage realistiske og krevende situasjoner. Samtidig bruker bedriften en teknologi som bygger på å lure folk, og den bruker kanskje ansiktet og stemmen til kandidaten selv. Spørsmålet er om målet kan forsvare metoden.
Argumenter for:
Realistisk vurdering. Et vanlig intervju sier lite om hvordan en person takler en sint kunde eller en vanskelig kollega. Simulerte situasjoner kan gi et bedre bilde av den faktiske kompetansen.
Likebehandling. Alle kandidater kan møte nøyaktig den samme situasjonen. Det kan gi en mer rettferdig sammenligning enn et intervju der stemningen avhenger av intervjueren.
Relevans for jobben. En teknologibedrift som selv er utsatt for deepfake-svindel, kan ha behov for å teste om kandidatene klarer å håndtere manipulerte medier.
Argumenter mot:
Personvern og biometriske opplysninger. Bilder, video og stemmeopptak av kandidaten er personopplysninger. Behandles de teknisk for å gjenkjenne personen, regnes de som biometriske opplysninger, en særlig kategori etter GDPR med strengere krav. Å lage en digital kopi av ansiktet og stemmen til noen er uansett et stort inngrep, fordi kopien kan få personen til å si og gjøre ting hen aldri har gjort. En jobbsøker er i et avhengighetsforhold til bedriften, og det er tvilsomt om samtykket er frivillig når det å si nei kan koste jobben. I tillegg må bedriften vurdere dataminimering og formålsbegrensning: Hva skjer med modellen av kandidaten etter intervjuet, og kan den misbrukes eller lekke?
Villedning og autonomi. Poenget med testen er at kandidaten ikke skal vite hva som er ekte. Etter pliktetikken er det galt å lure mennesker og bruke dem bare som middel, selv om hensikten er god. Kandidaten vurderer også bedriften og må kunne ta et informert valg om arbeidsgiveren sin.
Psykisk belastning. Å bli utsatt for en falsk konflikt med en «framtidig leder» eller se seg selv i et konstruert scenario kan oppleves krenkende og skape utrygghet, særlig i en situasjon der kandidaten allerede er presset.
Skjev maktbalanse og diskriminering. Bedriften kontrollerer både scenarioet og tolkningen av reaksjonene. Vurderingen kan bli mindre gjennomsiktig og vanskelig å etterprøve, og testen kan gi dårligere resultat for noen grupper, for eksempel personer med angst eller personer som ikke har norsk som morsmål, uten at det sier noe om hvordan de vil gjøre jobben.
Tillit og omdømme. En bedrift som lærer opp folk til å avsløre deepfakes, men selv bruker dem mot jobbsøkere, sender motstridende signaler. Blir praksisen kjent, kan den skremme bort gode kandidater og svekke tilliten til bedriften. Den bidrar også til å normalisere manipulerte medier.
Konklusjon. Ut fra en konsekvensetisk vurdering kan simulering av arbeidssituasjoner gi bedre ansettelser. Ulempene veier likevel tyngre slik bedriften bruker teknologien i dag, særlig når kandidaten ikke vet om det, og når kandidatens eget ansikt og stemme brukes. Etter min vurdering kan bedriften bare forsvare en slik test hvis kandidaten får vite om den på forhånd, gir et reelt samtykke og kan velge et alternativ uten at det teller negativt. I tillegg bør de simulerte personene være fiktive, ikke kandidaten selv, og alle data om kandidaten bør slettes etter intervjuet. Da kan bedriften få mye av nytten uten å krenke personvernet og tilliten til jobbsøkerne.
Sensorveiledning
Oppgaven gir til sammen 4 poeng
a)2p2 poeng
Vurderingsmatrisen for samfunn og systemer brukes direkte, med 1p for kar.2, 2p for kar.4 og 3p for kar.6
b)2p2 poeng
Vurderingsmatrisen for samfunn og systemer brukes direkte, med 1p for kar.2, 2p for kar.4 og 3p for kar.6
Oppgave 9·Tidsbruk på ulike aktiviteter etter kjønn
Analyse av tidsbruk
I denne oppgaven skal du bruke datasettet fra forberedelsen. Datasettet inneholder tid brukt til ulike aktiviteter en gjennomsnittsdag året 2000, kategorisert etter aktiviteter og kjønn, i CSV- og JSON-format. Last ned datasettet her: datasett (csv og json).
De ulike aktivitetene er gruppert i kategorier hvor tidsbruken er summert for kategoriene. Aktivitetene under hver kategori er kodet med innrykk. Tidsbruk er angitt i hele timer og minutter skilt med punktum. Merk at dette ikke er timer med desimaltall. Skilletegnet i CSV-filen er semikolon.
a)Hjelpemiddelkrav: Krever PC
Presentasjon av data. Lag et program som presenterer dataene fra datasettet i en tabellignende visning med følgende kolonner: «Aktivitet», «Kjønn» og «Tidsbruk».
b)Hjelpemiddelkrav: Krever PC
Filtrering etter kjønn. Utvid programmet slik at det skal være mulig å vise et utvalg av dataene i tabellen fra punkt a etter kjønn. Man skal kunne velge mellom «Alle», «Menn» og «Kvinner», og når kjønnet er valgt, skal visningen oppdateres med aktuelle data for det valgte kjønnet.
c)Hjelpemiddelkrav: Krever PC
Visualisering av data. Utvid programmet og lag to diagrammer:
1)
et stolpediagram som viser fordelingen av tidsbruk på aktivitetene for det valgte kjønnet – hver aktivitet skal være representert med en stolpe, og høyden på stolpen skal vise tidsbruken for aktivitetene for det valgte kjønnet i punkt b
2)
et sektordiagram som viser andelen tid av døgnet brukt på hver kategori av aktiviteter for det valgte kjønnet i punkt b
Sensorveiledning
Oppgaven gir til sammen 15 poeng
a)1,5p1,5 poeng
Det gis uttelling for en visning som ikke inneholder kategorier, bare aktiviteter. Det kreves ikke at tidsbruken er omgjort til timer og minutter.
b)3p3 poeng
Det gis uttelling for implementert filter.
c)6p6 poeng
Det gis uttelling for generert stolpediagram og for at dataene er kun aktiviteter. Det gis uttelling for generert sektordiagram og for at dataene er tidsbruk i kategoriene som andel av et helt døgn.
Dynamisk oppdatering (3 poeng): Det gis uttelling for at visningene oppdateres dynamisk.
Tid i timer (1,5 poeng): Det gis uttelling for at tidsbruk er omregnet til antall timer (desimaltall) slik at søylene og sektorene blir riktige.
I denne oppgaven skal du lage et program som simulerer livssyklusen til celler, altså hvordan celler oppstår, lever og dør, og hvordan én generasjon med celler gir opphav til en ny.
Programmet skal bygges opp som et todimensjonalt rutenett med celler som alle kjenner til sine naboceller. Cellene kan veksle mellom tilstandene levende og død. Celler reproduseres eller dør basert på de fire følgende regler for liv og død:
Enhver levende celle med færre enn to levende naboer dør, som ved underpopulasjon.
Enhver levende celle med to eller tre naboer lever videre til neste generasjon.
Enhver levende celle med flere enn tre levende naboer dør, som ved overpopulasjon.
Enhver død celle med akkurat tre levende naboer blir vekket til live, som ved reproduksjon.
Nedenfor oppgavepunktene ser du eksempler på hvordan en generasjon celler blir til neste generasjon celler når reglene ovenfor gjelder.
Programmet skal utvikles som et objektorientert program med nødvendige klasser og metoder. Du kan svare på oppgaven stegvis eller som ett samlet program, akkurat som du selv ønsker. Ta utgangspunkt i disse stegene:
a)Hjelpemiddelkrav: Krever PC
Lag et spillebrett med et startoppsett av levende og døde celler, såkalt generasjon 0, der hver celle på spillebrettet har 1/3 sjanse til å starte som levende.
b)Hjelpemiddelkrav: Krever PC
Implementer muligheter for å
1)
endre alle cellene til døde, slik at du får et «tomt» brett
2)
bytte om statusen til en enkeltcelle fra død til levende og omvendt, ved å klikke på den
c)Hjelpemiddelkrav: Krever PC
Utvid programmet med funksjonalitet som automatisk oppdaterer tilstanden til hver celle i spillebrettet fra gjeldende generasjon til den neste, basert på de fire reglene som er beskrevet ovenfor. Alle cellene skal oppdateres samlet.
Eksempel på startoppsett
Et rutenett med et tilfeldig antall levende og døde celler kan for eksempel se slik ut:
Levende celler er markert som svart rute og døde celler er markert som hvit rute.
Eksempel 1
Om man starter med følgende levende celler som generasjon 0,
vil den etterfølgende serien med generasjoner bli slik:
Nedenfor ser du en repeterende GIF som viser hvordan generasjonene gjentar seg:
Eksempel 2
Levende celler er markert som svart rute, døde celler er markert som hvit rute.
Om man starter med følgende levende celler som generasjon 0,
vil den etterfølgende serien med generasjoner bli slik:
De siste to generasjonene gjentar seg akkurat som i eksempel 1. Nedenfor ser du en repeterende GIF som viser de 13 første generasjonene (0 til 12) for dette tilfellet:
Sensorveiledning
Oppgaven gir til sammen 24 poeng
a)3,8p3,8 poeng
Startoppsett: Det er laget et startoppsett med brett og celler som kan ha tilstand levende eller døde. Levende celler: Cellene genereres med 1/3 sjanse for å være levende ved oppstart.
b)4,3p4,3 poeng
Tomt brett: Alle cellene settes til status død, når brukeren velger det. Veksle status: Det gis uttelling for at celler kan klikkes på og objektet oppfatter det, og at det byttes status.
c)10p10 poeng
Traversere: Det gis uttelling for å lage en metode som traverserer alle cellene i brettet. Det stilles ikke krav til hvordan kantcellene håndteres. Finne naboer: Det gis uttelling for å telle opp antall levende naboer til hver celle, eller tilsvarende løsning. Ny status: Det gis uttelling for å finne og ta vare på ny status til hver celle, eller tilsvarende løsning. Oppdatere status: Det gis uttelling for å samlet oppdatere visningen med den nye generasjonen celler.
Objektorientering (6 poeng): Det gis uttelling for at det er benyttet hensiktsmessig objektorientering i implementasjonen.