Pensum og spørgsmål
| Emne | Kommentarer og spørgsmål |
|---|---|
| 01: Objekter | Hvad er en klasse, et objekt, en constructor, gettere/settere, metoder, toString(), access modifiers (private/public/protected), hvordan instantierer man et objekt? (Objekter) |
| 02: ArrayList | Hvordan erklærer og instantierer man en ArrayList? Simple typer og egne typer? Hvad er det smarte ved en arrayList i forhold til et array? Hvilke metoder anvender vi på arraylister? Det er bl.a. add(), size(), contains(), indexOf(), remove(), get(). Hvad gør det? (ArrayList, ArrayList med objekter) |
| 03: Arrays | Hvad bruger man arrays til og hvad kan de indeholde? Hvordan gemmer man værdier og objekter i et array? (Arrays) |
| 04: Scanner | Indlæsning fra tastatur. Hvordan kan vi sørge for at fange fejlsituationer under indlæsning af f.eks. doubles eller integers fra tastaturet? Hint: try-catch. (Scanner) |
| 05: Strings | Dem bruger vi overalt. Fokuser på hvilke metoder, der hører til String klassen. F.eks. length(), charAt(), toLowerCase(), equals(). |
| 06: Metoder | Vi bruger metoder overalt på semestret. Tænk over hvorfor det er smart at bruge metoder og vær klar på at forklare hvad en metode-signatur består af: Access-modifier, retur-type, navn, parametre, og smider evt. exceptions (Metoder) |
| 07: Logik | if-then-else, switch-case-break, &&, |
| 08: Loops | for- og while løkker og for-each i forbindelse med ArrayLists (Loops) |
| 09: Variabeltyper | Primitive typer: int, double, boolean etc. Wrapper classes: Integer, Double, Boolean, Ikke-primitive / reference types: String, ArrayList, Hashmap, HashSet, HashTree og egne klasser. (Variabler) |
| 09b: Klassemedlemmer | Hvad betyder static vs. instans? Hvad er final? Hvordan bruges this? Hvad er et enum, og hvordan importerer/man anvender pakker og access modifiers i praksis? (Klassemedlemmer) |
| 10: Debugging | Hvornår bruger vi en debugger? Vis hvordan man kan debugge et stykke kode og løbende se metodekald og indhold af diverse variabler |
| 11: Exceptions og validering | Hvad er try-catch og exceptions? Hvad er throw / throws? Hvornår vil man typisk håndtere en fejl i en catch og hvornår smider man fejlen videre (Custom Exceptions)? Hvad er forskellen på checked og unchecked exceptions Hvordan og hvornår validerer vi typisk input? Og hvad gør vi når der er fejl i input? (Fejlhåndtering) |
| 12: Filer | Hvordan indlæser og gemmer man csv-filer. Hvad kan gå galt når man indlæser fra en fil - og hvordan håndterer man det? Hint: try-catch (Scanner og filer) |
| 13: Git og GitHub | Hvad er det overordnede formål med Git og GitHub? Forklar eller vis hvor man opretter et Git Repository lokalt og på GitHub (remote). Tilføjer filer og commits, branching/merge, håndtering af konflikter, pull/push og arbejdsgange. |
| 14: Nedarvning | Hvad er polymorfi? Hvordan virker nedarvning. Hvad er en superklasse? Hvordan ser en constructor ud for en sub-klasse og hvad betyder “super”. Hvordan anvender man nedarvning (Hint: extends). Hvad er en abstract klasse? (Nedarvning) |
| 15: Interfaces | Hvad er et interface (hint: en kontrakt) og hvordan bruger man det (hint: implements)? Giv eksempler hvor vi bruger nogle af Javas interfaces (Comparable) Hvad er forskellen på abstract klasser og et interface? (Interfaces) |
| 16: UML | Hvad er et Use-Case diagram? Hvad er et klassediagram? Hvornår er de nyttige i udviklingsprocessen? |
| 17: Datastrukturer | Arrays, ArrayLister, Sets og Maps (implementeringer: tree / hash / lists). Forklar hvornår man typisk bruger dem hver især? Hvordan hænger equals/hashCode sammen med Sets/Maps? Hvordan sorterer vi med Comparable? Hvad er O(1), O(n) og O(n^2). (Sortering) |
| 18. IntelliJ | Hvad er et IDE? Forklar overordnet hvad IntelliJ gør for os? Hvad skal der til for at kunne compile et Java program? (IntelliJ) |
| 19. Kompilering og afvikling | Hvordan compiler og kører man et Java-program (javac/java), hvordan virker classpath, og hvordan adskiller IDE- og terminal-arbejdsgange sig? (Java installation/CLI) |
Sidst ændret: tirsdag, 16. december 2025