Oppsummering del 2. Læringsmål Viktigste Java-elementer Eksamen Til sist. Læringsmål Hovedpunkter Tilbakemelding Eksamen. IN1010 uke 17 våren 2019

Like dokumenter
1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre

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

IN1010 Objektorientert programmering Våren 2019

Lenkelister, iteratorer, indre klasser. Repetisjonskurs våren 2018 kristijb

Faglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.

UNIVERSITETET I OSLO

GUI («Graphical User Interface») del 2

Velkommen til. IN1010 Objektorientert programmering Våren 2018

UNIVERSITETET I OSLO

INF Innleveringsoppgave 6

Velkommen til. INF våren 2017

GUI («Graphical User Interface») del 2

UNIVERSITETET I OSLO

INF1000: noen avsluttende ord

UNIVERSITETET I OSLO

Rekursjon. (Big Java kapittel 13) Fra Urban dictionary: recursion see recursion. IN1010 uke 8 våren Dag Langmyhr

Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen

Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen

INF1010. Stein Michael Storleer (michael) Lenkelister

Algoritmer og datastrukturer E Løkker i Java

UNIVERSITETET I OSLO

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

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

Eksamen IN1010/INF1010 våren 2018

Rekursjon. (Big Java kapittel 13) Fra Urban dictionary: recursion see recursion. IN1010 uke 8 våren Dag Langmyhr

Læringsmål for forelesningen

PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

INF1000: noen avsluttende ord

Den siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL

INF1010, 23. februar Parametriserte klasser Om å gå gjennom egne beholdere (subklasser og grensesnitt 3)

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

Dagens forelesning. Husk prøveeksamen Fredag 15/3-13 kl 12 i R1. Iterator-teknikken. Eksempel med bruk av Iterator og Iterable-grensesnittene

UNIVERSITETET I OSLO

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering

UNIVERSITETET I OSLO

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

UNIVERSITETET I OSLO

Gjennomgang av eksamen H99

INF1010 siste begreper før oblig 2

INF1010. grensesni-et Comparable<T> grensesni-et Iterable<T> rekursjon

UNIVERSITETET I OSLO

GUI («Graphical User Interface»)

Algoritmer og Datastrukturer

INF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

Liste som abstrakt konsept/datatype

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Algoritmer og Datastrukturer

Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1

UNIVERSITETET I OSLO

Obligatorisk oppgave 4: Lege/Resept

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Stack. En enkel, lineær datastruktur

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

En snarvei til INF2100

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Litt administrativt. Informatikk studiet og INF1000. Etter denne forelesningen skal du. INF1000: Grunnkurs i objektorientert programmering

2 Om statiske variable/konstanter og statiske metoder.

Læreboken på 45 minutter

Velkommen til. INF våren 2016

IN1010 våren januar. Objektorientering i Java

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 10. Forelesning 2. Gunnar Misund

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

PG4200 Algoritmer og datastrukturer Forelesning 7

Innhold. IN1000 Høst Hva skal evalueres? Fra kurssidene. Uke 12: Pensumgjennomgang og eksamenstips

Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre

Hva er en stack? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist

UNIVERSITETET I OSLO

Enkle generiske klasser i Java

TDT4100 Objektorientert programmering

GUI («Graphical User Interface»)

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

(MVC - Model, View, Control)

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

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

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer

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

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

INF1010 Rekursive metoder, binære søketrær. Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre

København 20 Stockholm

1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

Studieaktiviteter i INF1010

Transkript:

Oppsummering del 2 Læringsmål Viktigste Java-elementer Eksamen Til sist

Hva skal dere ha lært? Læringsmål fra emnebeskrivelsen: Etter å ha tatt IN1010: har du god oversikt over programmeringsspråket Java og du kan bruke det til å løse reelle problemer av middels størrelse behersker du avanserte objektorienterte mekanismer som subklasser, polymorfi og interface har du oversikt over noen grunnleggende datastrukturer (spesielt lenkete lister) og du kan programmere de viktigste operasjonene på dem kan du utvikle robuste og pålitelige programmer med godt objektorientert design, og du kan finne alternative løsninger for et gitt problem og vurdere fordeler og ulemper ved de ulike løsningene har du kunnskap om parallelle programmer med tråder og du kan benytte dette i enkle programmer kjenner du til hendelseshåndtering og kan skrive enkle programmer som håndterer hendelser

Hva skal dere ha lært? NB! Læringskravet i IN1010 er ikke først og fremst å kunne et pensum, men å kunne lage programmer (rimelig raskt) ved å bruke programmeringsteknikker som er forelest og som innøves i de forskjellige studieaktivitetene. Det er viktig å vite at man ikke kan lese seg til å nå dette målet.

Javas datastrukturer Datastrukturer Collection Map List Queue Set HashMap TreeMap ArrayList Stack LinkedList PriorityQueue HashSet TreeSet Vi har sett på List, ArrayList, LinkedList (som er aller viktigst!), Stack, Queue og PriorityQueue.

Et grensesnitt for lister interface Liste<T> { int size(); void add(t x); void set(int pos, T x); T get(int pos); T remove(int pos); } Liste.java Den generelle datastrukturen kan defineres med et interface. Interface og klasser kan gjøres generiske ved å gis type-parametre.

Et grensesnitt for lister Lenkelister implementeres ofte slik Navn: start Type: Node Navn: neste Navn: neste Navn: neste Type: Node Navn: data Type: Node Navn: data null Type: Node Navn: data class Lenkeliste<T> implements Liste<T> { class Node { Node neste = null; T data; Type: T class Node Type: T class Node Type: T class Node Node(T x) { data = x; } } private Node start = null;??? class T class T class T

Noen grensesnitt er viktigere enn andre Tre viktige grensenitt Comparable har en metode compareto. Iterable har en metode iterator. Iterator har metodene hasnext og next. Navn: minliste Navn: data Type: Liste Navn: indeks Type: T[] 0 0 Type: int hasnext() Navn: ibruk Type: int 1 1 2 class T 3 next() 4 class Arrayliste Type: T[] class ListeIterator

Rekursiv kode Rekursjon Programkode som kaller seg selv, kalles rekursiv kode. Noen problemer er rekursive av natur (for eksempel en kompilator eller Hanois tårn) Rekursiv programmering er spesielt nyttig for programmer som skal søke ulike veier til en mulig løsning (for eksempel en labyrint eller sjakkspill) Noen programmerere foretrekker rekursive løsninger.

GUI og JavaFX GUI-programmering med JavaFX JavaFX bruker begreper fra teateret: Teater Scene Kulisser class Stage class Scene class Pane

Hendelsesorientert programmering Hendelsesorientert programmering I dette paradigmet ligger FX-tråden og venter på hendelser som kommer via ActionEvent-objekter i en kø. launch(); start? Kø av ActionEvent-er Hendelsesløkken i FX-tråden vil ta ActionEvent-ene etter tur, og den korrekte EventHandler-en vil bli kalt. main-tråden FX-tråden EventHandler-objekter

Vi vil gjerne vite hva dere mener om kurset Kurskritikken Fagutvalget ved Ifi (dvs studentene) arrangerer hvert semester kurskritikken. Vi faglærere ber dere svare på den. Vi vil veldig gjerne vite deres ærlige mening om emnet IN1010 og undervisningen.

Hvor og når? Eksamen Når 7. juni kl 14:30 18:30 Hvor Silurveien 2

Hvor og når? Hvordan komme dit T-banen linje 3 mot Kolsås til Åsjordet Buss 23 til Blokkajordet Vær ute en halvtime før.

Vær sikker på at alt det formelle er i orden Sjekk at du er godkjent for eksamen Fra 29.5 kan du sjekke i Devilry om alle obligene er godkjent. Ved problemer, kontakt gruppelæreren, studieadministrasjonen eller meg. Om du på eksamensdagen tror alt er i orden og likevel ikke finner navnet ditt på listen: Snakk med eksamensvakten og krev å få gå opp. Da vil det bli avgjort etterpå om besvarelsen skal rettes eller glemmes.

Question code Fyll inn oppgavekode og emneinformasjon på alle skissearkene Fill out question code and test information on every sheet Date Subject code Candidate number Tegneområde Drawing area Question number Page number Tegning Oppgavekode Dato Emnekode Kandidatnummer Oppgavenummer Sidetall Tegning Datastrukturer etc kan tegnes med svart eller blå kulepenn på spesialark. Husk å fylle ut kodenummeret og annen informasjon med én gang.

Programmering Programmering Programmering skjer i en egen editor som forstår litt av Java: Men... Reserverte ord, kommentarer etc fargekodes. Editoren hjelper med parenteser og innrykk. Det skjer ingen navnebinding, typesjekk eller lignende. Det er ikke mulig å kjøre koden.

Prøveeksamen Prøveeksamen Fjorårets eksamen er tilgjengelig som prøveeksamen. Gå til nettsiden http://uio.inspera.no/ Den blir gjennomgått i Simula-auditoriet tirsdag 21. mai kl 14.15.

Pensum Pensum Se nettsiden; viktigst er Læreboken til Horstmann (inkludert kapittel 20 om tråder som dere må skrive ut selv) Forelesningene De obligatoriske oppgavene Hjelpemidler under eksamen Alle trykte og skrevne hjelpemidler (som dere får plass til på skrivebordet). Inspera-oppsettet vil ha en enkel kalkulator, men den vil ikke være til noen hjelp. Stein og jeg går gjennom lokalet fra ca kl 15 for å oppklare uklarheter i oppgavene.

Helt til sist Noen tips til sist Les over hele oppgavesettet før du begynner å svare. Det viktigste er å overbevise sensor om at dere kan programmere. Kommentarer er viktige der dere gjør noe spesielt; ellers kan de droppes. Småfeil (manglende ;, manglende import, blande og " etc) teller vanligvis ikke. Det er bedre å svare litt på alt enn perfekt på noe og ha det andre blankt.

Helt til sist Fra Stein og meg: Lykke til på eksamen!