Excerpt |
---|
Denne siden gir en oversikt over pensum i faget TDT4100 Objektorientert programmering med Java. Noen av temaene er forutsatt kjent før en tar TDT4100 og er med for kompletthets skyld. |
Temaene er delt i fire
- Objektorientert programmering - begreper og konstruksjoner som er viktig for objektorientert utviklingsmetodikk og som støttes av UML og de fleste objektorienterte språk. Dette utgjør teoridelen av TDT4100.
- Java-programmering - bruk av Java for implementasjon av objektorienterte programmer, slik at en kan realisere det en har designet. Sammen med bruk av VSCode utgjør dette praksisdelen av TDT4100.
- VS Code - bruk av VSCode, som eksempel på moderne verktøy for programutvikling.
- Prosedyreorientert programmering - programmeringsbegreper og -konstruksjoner som utgjør kjernen i de fleste programmeringsspråk, også de som ikke er objektorientert. Dette skal være kjent før en tar TDT4100.
Tabellen under gir ulike oversikter over wiki-innholdet
- Trær til venstre: Oversikt over de fire delene av wiki-en
- Sider markert som oversikt/teori/oppgave/lysark: søk på ulike label-verdier (sidetype-oversikt/sidetype-teori/sidetype-oppgave/sidetype-lysark), klikk på overskrift for å komme til egen side for label-verdien.
Page Tree |
---|
root | Objektorientert programmering |
---|
excerpt | true |
---|
|
| Page Tree |
---|
root | Java-programmering |
---|
excerpt | true |
---|
|
Page Tree |
---|
root | Prosedyreorientert programmering |
---|
excerpt | true |
---|
|
| Øvingsoppgavene finner du på GitLab. Content by Label |
---|
showLabels | false |
---|
max | 50 |
---|
showSpace | false |
---|
sort | title |
---|
reverse | true |
---|
cql | label = "sidetype-eksamen" |
---|
labels | sidetype-eksamen |
---|
|
Nyttige teorioppgaver Content by Label |
---|
showLabels | false |
---|
showSpace | false |
---|
cql | label = "sidetype-sporsmal" |
---|
labels | sidetype-sporsmal |
---|
|
|
HTML Comment |
---|
|
Faginnhold (forutsetninger/pensum) |
Dette er hovedsiden for faginnhold i TDT4100. Her kommer det etterhvert en innholdsfortegnelse og forhåpentligvis et tankekart med lenker til tematisk innhold.
...
- datatyper
- logiske (boolean, true/false)
- tall
- heltall (int/byte/short/long)
- desimaltall (double/float)
- tegn (char)
- strenger (String)
- Implisitt konvertering til String med String.valueOf og Object.toString
- tabeller
- variabler
- deklarasjon
- lokale (i metoder og blokker)
- globale (i klasser)
- konstanter (final)
- initialisering
- tilordning
- blokker/skoping
- levetid
- uttrykk
- konstantverdier
- tabellkonstanter i initialisering vs. generelt i uttrykk
- variabelreferanser
- operatorer og operander
- numeriske (+,-,*,/,%)
- bit (&,|,<<,>>,~)
- numerisk sammenligning (>,>=,<,<=)
- sammenligning (==, !=)
- logiske (!, &&, ||, ^)
- strengspleising
|
...
- ( + )
- tilordning evt. m/operator (<op>=)
- pre/post-dekrement/inkrement (++,--)
- betinget (?
|
...
- :)
- presedens og parenteser
- metodekall og
|
...
- parameteroverføring
- konvertering av verdier
- implisitt konvertering
- eksplisitt avkutting av tallverdier
- this-referansen
- kontrollstrukturer
- betingelser og valg (if/else, switch/case/default)
- iterasjon (while, for)
- starttilstand
- stoppbetingelser
- stegsetning
- avbrudd/hopp ut eller over (break/continue)
- navngitte
|
...
- metoder
- parametre
- returtype
- overlasting (overloading)
- kropp
- applikasjonsmetoden main
- signatur
- kommandolinjeparametre
- klasser
- kategorier
- dataklasser
- grensesnitt
- enum
- medlem
|
...
...
- (smodifikatorer): public, private, pakke/default, protected
- konvensjoner: get/set-
|
...
...
...
...
- arv
- implements/extends
- polymorfi
- abstrakte klasser
- parametriserte/generiske
- kovarians/konvarians
- brukt i Collection-rammeverket
- egendefinerte
- instanser/instansiering
|
...
- unntakshåndtering
- throw
- try/catch
- finally
- throws
- checked vs. unchecked
- Exception
|
...
- : IOException, FileNotFoundException, RuntimeException, NullPointerException, IndexOutOfBoundsException, IllegalArgumentException, NumberFormatException, IllegalStateException, UnsupportedOperationException
- iterasjon: standardløkker, tabeller, Collection
|
...
...
- , strenger, tekstinput, datainput, akkumulering av resultat
- standard-klasser/objekter
- bruk av fullt klassenavn med pakke vs. import
- System.out
|
...
...
- println, printf
- System.in og Scanner
|
...
- : Collection/List/ArrayList/
|
...
- LinkedList, Iterator, Set, Map/HashMap
|
...
...
...
- lister, stack/stabel, queue/kø, trær, tabell
- tall/beregninger
|
...
- : PI, random(), diverse funksjoner (min/max/abs, avrunding, trig., exp., ...)
|
...
...
...
- OutputStream, bufring og close/
|
...
- flush, Reader/Writer, PrintStream/PrintWriter, konsoll-IO med System.in/System.
|
...
- out, ObjectStream
- filer: File
- nettverk: URI/URL, http, ftp, file, URLConnection
- parsing: regulære uttrykk, Pattern, Matcher, Scanner, streng-til-tall-
|
...
- konverteringsmetoder, Integer.parseInt(String)/Integer.valueOf, (String)Double.parseDouble(String)/Double.valueOf(String)
- GUI
|
...
- : hendelser, komponenter, data-komponenter, enkle verdier, lister/hierarkier, containere, layout, dialoger, javax.swing.JOptionPane, showInputDialog(String)-
|
...
- metode, showMessageDialog(null, String)-
|
...
- metode, showConfirmDialog(null, String)-
|
...
- metode, YES_OPTION, NO_OPTION, CANCEL_
|
...
- OPTION, toolkits, Swing/AWT, SWT, JavaFX, grafikk, Java2D, OpenGL
- tråder: Thread/Runnable, monitorer, wait, notify/notifyAll, synchronized
- patterns: delegering, factory, observert-observatør
- testing:
|
...
- eyeballtesting (main og print), enhetstesting med
|
...
...
- metoder, assert-metodene, setUp og tearDown, testing av unntak
|