Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


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

 Objektorientert programmering

Page Tree
rootObjektorientert programmering
excerpttrue

Bruk av VSCode

Page Tree
rootVS Code
excerpttrue

Java-programmering

Page Tree
rootJava-programmering
excerpttrue

Prosedyreorientert programmering

Page Tree
rootProsedyreorientert programmering
excerpttrue

Øvinger - Våren 2022

Øvingsoppgavene finner du på GitLab.

Gamle eksamensoppgaver

Content by Label
showLabelsfalse
max50
showSpacefalse
sorttitle
reversetrue
cqllabel = "sidetype-eksamen"
labelssidetype-eksamen

Nyttige teorioppgaver

Content by Label
showLabelsfalse
showSpacefalse
cqllabel = "sidetype-sporsmal"
labelssidetype-sporsmal

Page Tree Search

HTML Comment
hiddentrue

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)

...

...

    ...

        • 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

    ...

        • løkker (labels)
    • metoder
      • parametre
      • returtype
      • overlasting (overloading)
      • kropp
      • applikasjonsmetoden main
        • signatur
        • kommandolinjeparametre
    • klasser
      • kategorier
        • dataklasser
        • grensesnitt
        • enum
      • medlem
        • felt
        • metoder

    ...

        • konstruktør
      • grensesnitt/innkapsling
        • synlighet

    ...

        • (smodifikatorer): public, private, pakke/default, protected
        • konvensjoner: get/set-

    ...

        • metoder, count/get/

    ...

        • set, add(append/insert)/

    ...

        • remove, contains/indexOf

    ...

      • 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

    ...

    • -instanser (og tabeller)

    ...

    • , strenger, tekstinput, datainput, akkumulering av resultat
    • standard-klasser/objekter
      • bruk av fullt klassenavn med pakke vs. import
      • System.out

    ...

      • : print/

    ...

      • println, printf
      • System.in og Scanner
    • datastrukturer
      • Collection-rammeverket

    ...

      • : Collection/List/ArrayList/

    ...

      • LinkedList, Iterator, Set, Map/HashMap

    ...

      • egendefinerte

    ...

      • : lenkede

    ...

      • lister, stack/stabel, queue/kø, trær, tabell
    • tall/beregninger
      • Nummer-klassene
      • Math

    ...

      • : PI, random(), diverse funksjoner (min/max/abs, avrunding, trig., exp., ...)

    ...

      • Random
    • IO

      ...

        • strømmer
          InputStream/

      ...

        • 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

      ...

      • JUnit, testklasser og -

      ...

      • metoder, assert-metodene, setUp og tearDown, testing av unntak