101 lines
6.0 KiB
Markdown
101 lines
6.0 KiB
Markdown
# [Semesteroppgave 1: “Rogue One Oh One”](https://retting.ii.uib.no/inf101.v18.sem1/blob/master/SEM-1.md)
|
||
|
||
* [Oversikt](SEM-1.md)
|
||
* [Praktisk informasjon](SEM-1.md#praktisk-informasjon)
|
||
* [Del A: Bakgrunn, modellering og utforskning](SEM-1_DEL-A.md)
|
||
* [Del B: Gjør ferdig nødvendige komponenter](SEM-1_DEL-B.md)
|
||
* [Del C: Selvvalgt del](SEM-1_DEL-C.md)
|
||
|
||
|
||
# Praktisk informasjon
|
||
|
||
## Sjekkliste:
|
||
|
||
* [ ] Thing to do
|
||
|
||
## Om semesteroppgaven
|
||
|
||
Semesteroppgaven er *obligatorisk*, og er ment å gi innsikt i og erfaring med
|
||
teknikkene vi har lært hittil i semesteret, og å teste en del praktiske
|
||
ferdigheter som ikke er så lette å teste på eksamen. Se under angående
|
||
karakter.
|
||
|
||
*Les helst all den kjedelige teksten før du begynner. Si ifra om noe er veldig uklart.*
|
||
|
||
### Læringsmål
|
||
|
||
Målene for denne semesteroppgaven er:
|
||
|
||
* Å kunne sette seg inn i et eksisterende program/rammeverk, og utvide det ut ifra spesifikasjoner (beskrivelsen i oppgavene).
|
||
* Å bruke grensesnitt (interface) til å kommunisere mellom objekter.
|
||
* Å lage programmer hvor objektene selv styrer sin egen oppførsel, basert på *hendelser* i systemet.
|
||
* Å beskrive komplekse objekt-orienterte systemer på en forståelig måte.
|
||
|
||
### Retting og poeng
|
||
Semesteroppgaven blir rettet av en gruppeleder, som gir tilbakemeldinger på
|
||
innleveringen. For semesteroppgavene blir det satt poeng, og til sammen teller
|
||
semesteroppgavene 30 % på karakteren i faget. Ved poengsetting legger vi vekt
|
||
på følgende:
|
||
|
||
* At du har fungerende løsninger på de forskjellige deloppgavene
|
||
* At koden din er ryddig og at eventuelle deler som er vanskelig å forstå er forklart i kommentarer
|
||
* At du har laget tester for koden din
|
||
* Kreativitet, og at du gjør mer enn minimum for å fullføre oppgaven
|
||
|
||
Du kan regne med en godt gjennomført innlevering som oppfyller minimumskravene gir en
|
||
poengsum ca. tilsvarende C. For høyere poengsum må man ha gjort en del av bonusoppgavene. Manglende /
|
||
svært mangelfull innlevering gir 0 poeng.
|
||
|
||
### Samarbeid
|
||
|
||
Innleveringen er *individuell* og kan ikke løses i grupper. Dere står likevel fri
|
||
til å samarbeide om utarbeiding av ideer, diskutere løsninger og å hjelpe
|
||
hverandre med å finne og løse problemer (vi oppfordrer faktisk til det!) – men programmeringen må du gjøre selv, og du er selv ansvarlig for din egen kode og at du vet og kan forklare hvordan den virker.
|
||
|
||
Hvis du har diskutert ideer eller løsninger med noen, gi en kort redegjørelse for det i `README.md` og evt. i commit-meldingen hvis det er relatert til en konkret commit. F.eks. *“‘Kaniner-og-aliens’-konseptet er tenkt ut sammen med Helene Harepus, men vi har kodet det hver for oss”; “Implementert telljeløkkjer til regnbuepromp for einhjørningar (takk til Dag H. for tips om dette)”; “Sorter elementene i riktig rekkefølge (fixes #23, takk til bestemor som la merke til feilen)”.*
|
||
|
||
### Fusk og opphavsrett
|
||
Forøvrig gjelder [UiBs regler om fusk og plagiat](http://www.uib.no/studiekvalitet/77864/fusk-hva-er-det-og-hvilke-konsekvenser-f%C3%A5r-det-deg-som-student). Akademisk uredelighet og (forsøk på) fusk reguleres av Universitetsloven, og mulige konsekvenser er blant annet annullering av eksamen og utestenging (evt. tilbaketrekking av vitnemålet om ting blir oppdaget i ettertid).
|
||
|
||
(*Men:* Så lenge det er klart og tydelig hvem som har skrevet hva, hva kilden er og hvem som evt. har hjulpet til med hva, er det *ikke* fusk eller plagiat – men du får selvfølgelig bare poeng for ting du har gjort selv.)
|
||
|
||
Opphavsrett er et separat spørsmål – du kan generelt ikke klippe kode eller bruke bilder/lyd/media fra nettet [uten at du har tillatelse](https://retting.ii.uib.no/inf101/inf101.v18/wikis/opphavsrett-lisenser). Hvis du bruker ting du har funnet på nettet e.l. må du opplyse i `README.md` om hva det er, hvem som har laget det og hvor du har funnet det. For grafikk/lyd som du har rett til å gjenbruke, se gjerne etter ting med [Creative Commons lisens](https://creativecommons.org/licenses/). Vi har en liste med greie kilder på slutten av oppgaven. (Og om du er nysgjerrig, finner du lisensen for koden du har fått utlevert i filen [LICENSE](LICENSE).)
|
||
|
||
### Innlevering
|
||
Du finner koden din i repositoriet med URIen:
|
||
|
||
https://retting.ii.uib.no/<brukernavn>/inf101.v18.sem1.git
|
||
|
||
Oppgaven leveres inn ved å pushe til retting.ii.uib.no, [slik du har gjort med alle tidligere INF101-oppgaver](https://retting.ii.uib.no/inf101/inf101.v18/wikis/hente-levere-oppgaver). Husk å få med eventuelle nye filer du har opprettet (hvis testene virker hos deg, men ikke i innleveringssystemet, er det gjerne det som er feil).
|
||
|
||
**VIKTIG:** *Sjekk kvitteringssiden som kommer opp når du pusher, i tilfelle det skjer feil!* Du må evt. gjøre Pull før Push, slik du så i Lab 3.
|
||
|
||
Vi anbefaler at du gjør commit hver dag, eller hver gang du er ferdig med en
|
||
større endring. Da går det alltid an å lete seg tilbake i historien til en
|
||
tidligere versjon hvis du har havnet på villspor.
|
||
|
||
|
||
* Du kan levere inn så mye og ofte du vil. Versjonen som teller er den siste du
|
||
pushet før innleveringsfristen.
|
||
|
||
* *VIKTIG:* Hvis du ikke allerede har prøvd ut GitLab / https://retting.ii.uib.no/ og pushing av
|
||
innleveringer, må du gjøre det *med en gang* (gjør labbene!). Du kan ikke regne med å få hjelp til
|
||
dette på innleveringsdagen, men på gruppetimene vil du få rikelig med hjelp
|
||
til dette.
|
||
|
||
* Alle testene bør passere (være grønne). Det blir i tillegg lagt betydelig
|
||
vekt på kodekvalitet og dokumentasjon. Dvs. koden din skal ikke bare *virke*,
|
||
den være lett å forstå og å endre.
|
||
|
||
* Du kan selv sjekke status i
|
||
[innleveringssystemet](http://retting.ii.uib.no:81/) – det vil gi rask
|
||
tilbakemelding hver gang du pusher til Gitlab, også før innleveringsfristen.
|
||
Alt skal være *grønt* der. Hvis du ser feil der som du ikke finner ut av, er det bare å spørre om hjelp.
|
||
|
||
|
||
### Tips
|
||
|
||
* Selv om det kanskje bare er litt mer å gjøre enn i en vanlig ukeoppgave, er
|
||
det *veldig mye* å sette seg inn i. Du bør begynne tidlig og jobbe jevnt. Du må
|
||
også regne med å jobbe utenom labtimene.
|