Velkommen! johannph på mattermost på mail!

Like dokumenter
Seminaroppgaver IN1010, uke 2

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Løsningsforslag til eksamen i INF1000 våren 2006

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)

INF1010 våren 2018 tirsdag 23. januar

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Tuva Kristine Thoresen

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

INF Uke 10. Ukesoppgaver oktober 2012

Introduksjon til objektorientert programmering

INF1000 Metoder. Marit Nybakken 16. februar 2004

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Velkommen til. IN1010 Objektorientert programmering Våren 2018

Post-it spørsmål fra timen (Arv og subklasser)

INF1000-SIKT - Notat om I/O i Java

INF100 Institutt for informatikk Universitetet i Bergen Øving 5

Forelesning inf Java 5

Forelesning inf Java 5

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder

IN Notat om I/O i Java

Fra Python til Java, del 2

INF Objektorientert programmering. Datastrukturer i Java Klasser med parametre

IN1010 Objektorientert programmering Våren 2019

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

Blokker og metoder INF1000 (Uke 6) Metoder

INF Notat om I/O i Java

Hvorfor objektorientert programmering?

Løse reelle problemer

INF 1000 høsten 2011 Uke september

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

INF1000: noen avsluttende ord

INF1000 Eksamensforberedelser og -tips. Høst 2014 Siri Moe Jensen

UNIVERSITETET I OSLO

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF Obligatorisk innlevering 5

OPPGAVESETT 7 OBJEKTER OG REFERANSER

INF Løsning på seminaropppgaver til uke 8

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

TDT4100 Objektorientert programmering

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Dagens tema: 12 gode råd for en kompilatorskriver

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

INF Objektorientert programmering. Datastrukturer i Java Klasser med parametre

INF1000: Forelesning 7

UNIVERSITETET I OSLO

INF1000 (Uke 6) Mer om metoder, tekster

Oblig4 - forklaringer. Arne og Ole Christian

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Forelesning inf Java 4

Rep: Metoder. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. 3 typer variable: Klassevariable. Java-programmene så langt i kurset:

INF Uke 11. Ukeoppgaver oktober 2012

Jentetreff INF1000 Debugging i Java

Innhold. INF1000 Høst Hva skal evalueres? Fra kurssidene. Hvorfor har vi en lærebok? Uke 11: Repetisjon og pensumgjennomgang

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

INF1000: Forelesning 7. Konstruktører Static

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

Løse reelle problemer

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

UNIVERSITETET I OSLO

OPPGAVE 5b og 8b Java Kode

UNIVERSITETET I OSLO

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

INF1000 : Forelesning 4

UNIVERSITETET I OSLO

Dagens tema Kapittel 8: Objekter og klasser

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 Prøveeksamen Oppgave 7 og 9

2 Om statiske variable/konstanter og statiske metoder.

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

UNIVERSITETET I OSLO

Obligatorisk oppgave 5: Labyrint

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

String-manipulasjon og I/O i Java. INF1000 h14 - Hans Petter Taugbøl Kragset

< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»

UNIVERSITETET I OSLO

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.

INF våren 2017

Oblig4 - forklaringer. Arne og Ole Christian

Kapittel 8: Programutvikling

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Løsningsforslag ukeoppg. 9: okt (INF Høst 2011)

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk

INF Seminaroppgaver til uke 3

Plenum INF1010. Uke januar. Martine Enger Gard Inge Rosvold Institutt for Informatikk, Vår 2016

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Enkle generiske klasser i Java

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

INF1000 (Uke 6) Mer om metoder, tekster

Innhold uke 8. Objekter: Bruk og intern organisering. Beskjeder: Oblig 1 6. Beskjeder: Oblig 7 (og 8)

UNIVERSITETET I OSLO

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();

Velkommen! I dag. Viktige beskjeder. Studieadministrasjonen. IN Høst Siri Moe Jensen Geir Kjetil Sandve Henrik Hillestad

Transkript:

Velkommen! johannph på mattermost johannph@uio.no på mail!

Om meg - Johanna Har en bachelor i statsvitenskap Dette er mitt tredje år på ifi Går nå master programmering og systemarkitektur Kunne ikke noe om programmering før jeg startet Hadde P-matte på vgs (jeg ville heller spille candy crush, men spoiler: man trenger ikke mye matte på prosa) Har veldig høydeskrekk Elsker reality (selling sunset, anyone?) Send meg gjerne en melding på mattermost

Hvem skal jeg kontakte? Spørsmål om faget: Gruppelæreren din eller foreleser. Studieinfo: spørsmål, klager, utsettelse av frister https://www.mn.uio.no/ifi/studier/kontakt/ UiO forvei: bekymringer, noen å snakke med https://www.mn.uio.no/studier/forvei/ SiO: fysisk og psykisk helsehjelp https://www.sio.no/helse https://www.sio.no/helse/noen-%c3%a5-snakke-med

Kort: Praktisk informasjon Gruppetime Labtime: 10 minutter med en gruppelærer en til en. Her kan du få hjelp med obligen! Mer info om det på emnesiden. Lag drive (G Suite) bruker allerede nå :D Plenumstime Kort repetisjon Jobbing i grupper Livekoding, ligner mer på forelesning, men gjennomføres av gruppelærere Forelesning Mattermost og emnesiden: https://www.uio.no/studier/emner/matnat/ifi/in1010/v21/grupper/ekstragruppe/

Tips og triks Sørg for å følge progresjonen i forelesningene!! Gjør masse oppgaver: både trix og ukesoppgaver Diskuter med andre som tar faget Les feilmeldingene dine Prøv å finne noen du kan jobbe med! Bruk gruppetimen! Hvis du ikke forstår dem kan du google dem! Google er din venn Begynn med obligen med en gang den kommer ut Bruk ressursene du har tilgang til: gruppetime, google, youtube, lab, forelesning, boka osv. Kom forberedt til gruppetime og forelesning TRO PÅ DEG SELV

Alt man allerede har lært er lett - Visdomsord pappa Peer

Vanskelige ting denne uken Private / public Static Void og andre returtyper Typer: String, int osv. Scanner Array i Java

Private/Public Hvis man ikke skriver private foran class er den public Alt som er public kan aksesseres utenfor klassen Konstruktøren må være public for at man skal kunne lage instanser av klassen utenfor klassen God skikk at variablene er private, og at man endrer og henter dem ved hjelp av metoder (hent og sett)

Static Lager en klasse Fjellrev med en static variabel rodlistet Navn og alder er ikke static. Hvis en art er rødlistet gjelder det for alle individer av arten: klassevariabel Men de har ulike navn og ulik alder: instansvariabler Derfor er rødlistet static, den gjelder for alle instanser av klassen! Derfor er navn og alder ikke static, de er ikke det samme for alle instanser! Oppretter to fjellrever Endrer fjellrev1.rodlistet til false, da blir også fjellrev2.rodlistet false! Output: >> false

Returtype I java må hver metode ha en returtype! Void betyr at metoden ikke returnerer noe Alle datatyper og klasser kan være returtype Her er eksempler med Boolean, String, int og klassen Fjellrev Returtype matcher typen til det vi skal returnere! f.eks. bestevenn er et objekt av klassen Fjellrev, se linje 5 i koden (der bestevenn er deklarert)!

This Ordet this brukes i Java dersom det er en lokal variabel med samme navn som en instansvariabel Alternativt kan man bare gi de lokale variablene andre navn, da trenger man ikke bruke this Instansvariabel Lokal variabel med samme navn

I/0 - Lese fra terminal med Scanner Bruker Scanner: Sender inn System.in i konstruktøren Dokummentasjon: https://docs.oracle.com/javase/8/docs/api/ja va/util/scanner.html NB: Må importeres med: import java.util.scanner Det forteller Scanner at den skal lytte til terminalen Nyttige metoder: nextline(): henter den neste Stringen (til du trykker enter i terminalen) next() henter neste ord til mellomrom som default, brukes mest når man leser fra fil nextint() henter neste tall, brukes mest når man leser fra fil og ikke terminal

Array Viktig å huske at array i java er fixed size, dette er annerledes enn liste i python. Vi kan endre innhold, men ikke lengden. 0 1 2 3 4 5 6 7 8 9

Array Viktig å huske at array i java er fixed size, dette er annerledes enn liste i python. Vi kan endre innhold, men ikke lengden. 0 1 20 3 4 5 6 7 8 9

NullPointer Viktig å huske at array i java er fixed size, dette er annerledes enn liste i python, vi kan endre innhold, men ikke lengden

NullPointer Viktig å huske at array i java er fixed size, dette er annerledes enn liste i python, vi kan endre innhold, men ikke lengden Navn: navn Pus Type: String Navn: alder 1 Type: int public Katt(String navn, int alder) public String hentnavn()

NullPointerException Viktig å huske at array i java er fixed size, dette er annerledes enn liste i python, vi kan endre innhold, men ikke lengden Navn: navn Pus Type: String Navn: alder 1 Type: int Evaluerer til "Pus" public Katt(String navn, int alder).hentnavn() Gir error: java.lang.nullpointerexception public String hentnavn()

Send meg privat melding i chatten 1. Er du komfortabel med å gjøre noen oppgaver sammen med noen andre i zoom? Deler dere inn etter hvordan dere sier dere ligger ann! 2. Hvor godt føler du at du forstår stoffet fra uke 1 på en skala fra 1(lite) 6(veldig godt)? 3. Noen spesielle du gjerne vil samarbeide med?

Pause 15 min!

Breakoutrooms 1. Slå på kamera og ha en presentasjonsrunde: a. navn, linje, hvor du kommer fra eller andre ting om deg! 2. Diskuter disse spørsmålene: a. b. c. d. Hvordan går Java-programmeringen så langt? Hvilke forventninger har du til in1010? Hvordan er det å starte semesteret hjemmefra? Hva er ditt beste jobbe hjemmefra -tips? 3. Forklar for hverandre static, return type, public/private og array 4. Jobb med oblig eller trixoppgaver a. Vil dere jobbe med samme trixoppgaver kan dere dele skjerm eller bruke jdoodle 5. Bruk ask for help -knappen for å få hjelp 6. Vi møtes her igjen de siste ti minuttene!