Ukesrapport uke 42-44

1. Hvor er jeg?

Jeg hadde som mål å lese gjennom kapittel 4 i boka og gjøre alle oppgavene i løpet av uke 42/43 og så jobbe med innleveringen i uke 44. Nå er det tirsdag kveld i uke 44 og jeg er fortsatt ikke helt ferdig med å lese kapittelet og har bare gjort halvparten av oppgavene i boka så langt. Jeg har gjennomgått læringsmål, materialet som lå som anbefalte ressurser. Den ene forelesningen (av Christian Moen) som var lagt ut, forstod jeg ingenting av og ga litt opp.

2. Hva har jeg lært denne uka

  • Samling av objekter i lister gjør at vi kan behandle alle samtidig, slik at vi slipper å skrive metoden om igjen og om igjen for hvert element vi skal behandle. Vi bruker istedet ulike typer løkker til å behandle alle elementer som er lagt i lista. Det finnes flere typer løkker vi kan bruke, f.eks. for each løkke, while løkke og for løkke.
  • ArrayList, er en klasse fra standardbiblioteket til Java
  • Noen av de metodene jeg kjenner til/ forstår i ArrayList er: constructor (oppretter en ny liste), add (legger til på slutten av listen), remove (fjerner verdien på et bestemt sted, get (henter verdien på et bestemt sted), size (henter lengden på listen). For å forsøke å forstå mer av hva ArrayList inneholder, sjekket jeg ut denne: https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
  • Når vi skal bruke ArrayList må vi spesifisere hva slags type objekter listen vår skal inneholde, dvs. hva vi vil lage en liste av, f.eks. String eller int. Dersom vi skal lage en liste av boktitler, må vi definere at listen skal være av typen String. Det kan da se slik ut: private ArrayList <String> bøker = new ArrayList <String> (); bøker blir da en liste av String objekter.
  • Standardbiblioteket i Java består av mange klasser vi kan importere slik at vi slipper å lage alle metoder selv, men kan benytte klasser med metoder som andre Java-programmerere har utarbeidet og som allerede er kvalitetssikret og testet.
  • Import setninger gjør at vi kan hente inn klasser fra standardbiblioteket til Java og deretter benytte bare klassenavnet (kortnavnet) videre i kildekoden, f.eks. vil java.util.ArrayList vise oss at klassen ArrayList ligger i pakken java.util i standardbiblioteket. Legger vi en import setning helt først i kildekoden (før klassen), slipper vi å skrive alt dette og kan bruke bare kortnavnet ArrayList.
  • for each løkke brukes til å gjennomgå en liste av elementer, ett og ett element av gangen. Hver gang vi går gjennom løkka, får variabelen i løkka verdien av det neste elementet i lista. Enkelt sagt: for hvert element i lista – gjøres det som står i kroppen på metoden. Nummereringen starter på 0 (null), dvs. det første elementet i lista ligger på plass nr 0 (null) og ikke plass nr 1 som vi forventer. Dermed må vi være påpasselig når vi skal fjerne elementer i lista eller hente frem et element fra lista at vi faktisk spør på riktig plass.
  • while løkke brukes for å lete gjennom en liste og vurdere om en «påstand» er sann for hvert element i lista – altså gjentakende for hvert element, for deretter å utføre det som står i kroppen i løkken. Hvis «påstanden» ikke er sann, vil gjentakelsen av kroppen stanse og kroppen i løkken utføres ikke.
  • iterasjon: gjentakelse av en tidligere oppgave, f.eks. en blokk med setninger (statements) gjentas til man har oppnådd ønsket resultat. Dette er det som skjer i en while løkke.
  • Definite iteration (bestemt/ begrenset iterasjon?) hvor mange ganger kroppen i løkken utføres avhenger av det totale antallet elementer i listen
  • Indefinite iteration (uendelig iterasjon): hvor mange ganger kroppen i løkken utføres avhenger av hvor i listen den finner det vi er ute etter/ det som gjør setningen (statement) sann.
  • array en type liste som kan inneholde et bestemt antall elementer
  • pseudo kode en måte å beskrive kode på som gjør det lesbart og mer uformelt,  ikke et programmeringsspråk, men med elementer fra programmeringsspråk.

Problemer?

Siden jeg er i full jobb, er utfordringen min å få nok tid til å jobbe kontinuerlig med å lese/ se på forelesningene og gjøre oppgaver. Den siste måneden og noen uker fremover har jeg mye overtid på jobb samtidig og det er dermed vanskelig å få nok tid til dette.

Denne modulen har vært krevende å forstå. Det hjalp litt å se på mini-forelesningene som var lagt ut – helt til jeg så den som var laget av Christian Moen. Da datt jeg fullstendig av og klarte ikke å følge den.

Denne innleveringen klarer jeg ikke å levere innen tidsfristen. Jeg trenger rett og slett mer tid til å lage et prosjekt fra bunnen av og klare å demonstrere at jeg mestrer alle læringsmålene.

 4. Plan:

Jeg må ta en prat med Hallgeir for å se om det er mulig å utsette fristen på både modul 4 og 5 grunnet mye press på jobb i denne perioden. Dersom dette ikke er mulig, må jeg legge IS 109 på is frem til neste gang jeg kan følge kurset.