Åpen lab
Åpen lab er et alternativ til lab7 og lab8 for dem som ønsker å jobbe mer med grafiske brukergrensesnitt. Dersom du får godkjent åpen lab, telles det som at både lab7 og lab 8 blir godkjent. Mer spesifikt; scoren din på lab7 regnes ut som den maksimale scoren av din faktiske lab7 -score og poengsummen din på åpen lab. Tilsvarende gjelder for lab8.
Forberedelser
Innlevering og oppfølging
- For å gjøre åpen oppgave, må du gjennomføre minst to møter med din gruppeleder før innleveringsfristen (typisk i dine faste gruppetimer), og gi en kort presentasjon av programmet ditt etter fristen. Du kan gjennomføre første møte i forbindelse med presentasjon3 hvis gruppelederen din har litt tid da. Eventuelt kan du spørre dem om når de har drop-in-gruppetime og finne dem der.
- Første møte: du trenger ikke å ha noe klart, bortsett fra din idé til hva du ønsker å lage. Det er tilstrekkelig å bare ta en prat med gruppelederen din hvis du uansett er innom gruppetimen, og får noen innspill på idéen din.
- Andre møte må skje før innleveringsfristen, og du må vise progresjon på programmet ditt. Du trenger ikke å være ferdig eller ha et fullt funksjonelt program. Gruppeleder vil gi deg tilbakemelding på hvordan du ligger an, og dersom du er fornøyd med poengscoren gruppeleder gir deg der og da, trenger du ikke å gjennomføre et tredje møte.
- Tredje møtet (etter innleveringsfristen) er for at du skal presentere programmet ditt for gruppeleder og/eller noen fra emnestyret. Må gjennomføres senest en uke etter innleveringsfristen.
- Innlevering skjer via CodeGrade/mitt.uib.
Oppgavetekst
Lag ditt eget program basert på uib_inf100_graphics.event_app -rammeverket.
Krav til å få bestått:
- Programmet må være basert på uib_inf100_graphics.event_app -rammeverket.
- Programmet er interaktivt: brukeren kan på en eller annen måte interagere med programmet når det kjører (for eksempel med mus eller tastatur, eller begge deler).
- Programmet fungerer til en slik grad at det kan demonstreres til venner, familie og kjæreste.
- Det er gjort en ærlig innsats på 15 timer eller mer.
- Programmet må ha et visst minstemål av kompleksitet/rikhet ved seg.
Samarbeid
Oppgaven er individuell. Du kan gjerne få hjelp fra medstudenter som ser på koden din og kommer men innspill, men du må lage programmet selv.
Det er OK å benytte kode fra hjelpemidler som Copilot, ChatGPT, StackOverflow, eller andre kilder så lenge det er tydelig merket i koden hva som ikke er ditt eget arbeid. Om du får hjelp, skriv opp navnet deres med en kommentar i kildekoden.
Du kan ikke basere programmet ditt primært på å følge en guide eller detaljert tutorial. Om du tar inspiriasjon fra en guide eller tutorial, må dette siteres.
Spørsmål og svar
Har du noen idéer til hva jeg kan lage?
Idéer med lav til middels kompleksitet, men som er innenfor det som er akseptert om det er solid gjennomført:
- Enkle spill: for eksempel frogger; flappy birds; battleship; et labyrint-spill basert på et rutenett med vegger, dører, nøkler og fiender; bilspill hvor man flytter bilen til høyre/venstre for å unngå ting i veien som kommer mot deg; og så videre.
- Enkelt «paint» -program med fargevelger og tegning med musepeker.
- Notepad light
Idéer som krever litt mer
- Arkade-spill: tetris, space invaders, asteroids, mastermind, pacman, bomberman, plattform-spill, fire på rad, sjakk, minesweeper, pokemon, 2048, sudoku etc.
- Simulering/visualisering av et fenomen i ditt fagområde. Simulasjon av tyngdekraft, partikkelbevegelse, forplantning, pandemi, kollektivtransport osv.
- Program for å registrere, administrere eller visualisere data på et gitt format. For eksempel en treningsdagbok, et program for å holde orden på en samling av vitenskapelige artikler, MS Excel light, et program for å notere informasjon om elever i en klasse, et program som viser værdata, osv.
Er programmet mitt komplekst nok?
Se eksemplene over. Dersom programmet er mindre komplekst enn frogger, har det sannsynligvis for lav kompleksiset. Men du kan også høre med en gruppeleder eller spørre emneansvarlig om idéen din møter minstemålet av kompleksitet.
Kan jeg få hjelp?
Vi vil ha en kanal på discord for åpen lab, og du kan også spørre gruppeleder om hjelp i gruppene.
Kan jeg gjøre både åpen lab og lab7/8 om jeg ønsker?
Ja. Du vil da beholde høyeste poengkarakterer. For eksempel, dersom du får 25 poeng på lab7, 23 poeng på åpen lab og 20 poeng på lab8, vil det regnes som om du fikk 25 poeng på lab7 og 23 poeng på lab8 ved utregning av endelig karakter i emnet.
Jeg laget noe skikkelig kult. Kan jeg vise det frem?
Ja, vi vil gjerne vise frem alle de kuleste prosjektene som leveres som åpen lab på emnets hjemmeside. Om du ikke ønsker at programmet ditt vises frem, eller du ønsker å vises anonymt, oppgi dette i en fil README.txt som legges ved innleveringen.
Poengberegning
- 0 poeng: Innleveringen er ikke i nærheten av å være ferdig.
- 10 poeng: Du har gjort en god innsats, men har dessverre ikke kommet helt i mål slik at programmet kan brukes.
- 20 poeng: Du har et program som fungerer, og som du stolt kan vise frem til venner og familie. Noen små bugs er OK så lenge funksjonaliteten stort sett er på plass.
Opp til 5 ekstrapoeng for god stil og dokumentasjon:
- 2 poeng: Gode, selvbeskrivende variabelnavn og funksjonsnavn
- 1 poeng: God inndeling i funksjoner og hjelpefunksjoner
- 1 poeng: Du lager en 2-minutters video publisert på YouTube eller lignende som demonstrerer hvordan programmet funker (ikke last opp hele videoen i innlevering, men legg ved en link i README.txt. PS: om du laster opp på YouTube kan ikke video være private, da får vi ikke sett den – men ok om den er synlig kun for dem med link).
- 1 poeng: README.txt inneholder gode instruksjoner for hvordan man bruker programmet.
Om du ikke gjennomfører møtene med din gruppeleder eller har mangelfull kommunikasjon med gruppeleder, får du 0 poeng på åpen lab.