Emneoversikt
Denne siden vil oppdatere seg underveis i kurset, og vil inneholde pekere til forelesninger og andre materialer vi bruker hver uke.
Obligatoriske kursaktiviteter
Åpner | Anbefalt deadline | Siste deadline | |
---|---|---|---|
Lab 0 | ons 12. jan. | fre 21. jan. | fre 4. feb. |
Lab 1 | man 17. jan. | fre 28. jan. | fre 4. feb. |
Lab 2 | man 31. jan. | fre 4. feb. | fre 11. feb. |
Lab 3 | man 7. feb. | fre 11. feb. | fre 18. feb. |
Lab 4 | man 14. feb. | fre 18. feb. | fre 25. feb. |
Lab 5 | man 21. feb. | fre 25. feb. | fre 4. mars |
Semesteroppgave 1 | man 28. feb. | - | fre 25. mars |
Lab 6 | man 21. mars | fre 25. mars | fre 4. april |
Semesteroppgave 2 oppstart (for alle) | man 28. mars | man 4. apr. | fre 8. apr. |
Semesteroppgave 2: Blob Wars Åpen oppgave |
man 28. mars | - | fre 29. april |
Eksamen | tirs 24. mai, 09:00 | - | tirs 24. mai, 14:00 |
Emneoversikt
Uken som begynner | Ressurser |
---|---|
17. jan. |
Forelesning mandag: video, slides (pdf, pptx), kode. Praktisk info, litt om kurset, første linje med kode i Java. Kræsjkurs tirsdag og onsdag: video tirsdag, video onsdag, kode. Java vs python: statiske typer, scope (krøllparanteser), likhet, boolske uttrykk, array, metoder. Syntax i Java. |
24. jan. |
Forelesning mandag: video, slides, kode. Objekter og klasser. Hvorfor bruke statiske typer. Eksempel på bruk av debugger. Live-koding: Forelesning tirsdag: video, slides, kode og addendum. Objekter og klasser m/ tilhørende quiz. Hvor primitiver og objekter bor i minnet. Hvordan stacken forandrer seg etterhvert som koden kjører. Introduksjon av .equals og .hashCode. Live-koding: .equals og .hashCode i Gruppetimer: Kahoot. |
31. jan. |
Forelesning mandag: video, forelesning 6 (.pdf, .pptx) om Abstraksjon og modularitet. kode, vi implementerte Book.java og Library.java Forelesning tirsdag: video, forelesning 7(.pdf, .pptx) om Interface/Grensesnitt. |
7. feb. |
Forelesning mandag: video, slides, kode. Detaljert om objekter og hva som skjer i minnet. Repetisjon om static. Koding av et trafikklys. Såvidt introduksjon av innkapsling (encapsulation). Forelesning tirsdag: video, slides, kode. Innkapsling ved tilgangsmodifikatorere (public/private) og ved bruke av grenesenitt (interface). Vi ser på et grensesnitt Runnable. Generiske typer. Vi ser på grensesnittet Comparable. Gruppetime: slides. Opprett nytt maven-prosjekt. Implementer et telleapparat. |
14. feb. |
Forelesning mandag: video. Grid. Forelesning tirsdag: video. Grid, exceptions, innkapsling, iterator og iterable. |
21. feb |
Forelesning mandag: video, slides, kode. Repetisjon av referanser og likhet. Dype strukturer, likhet og kopiering. Et glimt av rekursjon. Mutable (foranderlig) og immutable (uforanderlig). Forelesning tirsdag: video, slides, kode. "Hva er hva?"-tankekart (padlet m/passord: abstraksjon). Arv. Abstrakte klasser. Grafikk. Vi tegner et sjakkbrett. |
28. feb |
Forelesning mandag: video, slides, kode m/ addendum. Introduksjon til semesteroppgave 1, Tetris. Interaktiv grafikk, model-view-controller. Vi koder et interaktivt brett. Forelesning tirsdag: video. Klassediagrammer. Martin sitt UML-diagram over Tetris. Torstein sitt alternative klassediagram for Tetris (drawio, pdf). |
21. mar |
Forelesning mandag: video. Hvordan tolke feilmeldinger. Exceptions. Litt rekursjon. Introduksjon til game loop (sem2). Forelesning tirsdag: video. Introduksjon til Blob Wars, GameLoop, Game, UML for utgangspunktet til sem2. |
28. mar |
Forelesning mandag: video, slides, kode: mouseEvents, tictactoe. Åpen oppgave vs Blob Wars. Refleksjon. Benytte musen med Java Swing. Observable. TicTacToe som eksempel. Forelesning tirsdag: video. Gjennomgang av Tetris, noen vanlige spørsmål. Eksempelløsning. |
25. apr |
Forelesning tirsdag: video, slides, kode. Observerbare variabler. Funksjonelle grensesnitt. Applikasjon som viser input fra ekstern kilde (micro:bit) basert på model-view-controller og observerbare variabler. |
2. mai |
Tirsdag: gjennomgang av blob wars/semesteroppgave 2, video. Prøveeksamen onsdag: oppgavetekst, repo med kodeoppgaver. |
9. mai |
Tirsdag: gjennomgang av prøveeksamen (video: del1, del2). Sondre sitt løsningsforslag. Torstein sitt løsningsforslag og sensorveiledning. Onsdag: Gnist sitt kræsjkurs ved Martin Øvsttun: slides, kode. |
23. mai |
Tirsdag 24. mai: Eksamen. Oppgavetekst, startkode. Løsningsforslag med sensorveiledning. |