Versions Compared

Key

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

...

  • 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 Eclipse VSCode utgjør dette praksisdelen av TDT4100.
  • Eclipse VS Code - bruk av EclipseVSCode, 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.

...

 Objektorientert programmering

Page Tree
rootObjektorientert programmering
excerpttrue

Bruk av

Eclipse

VSCode

Page Tree
root

Eclipse

VS Code
excerpttrue

Ressurser

Piazza-registreringsside for studenter

Piazza-hjemmeside

Java-programmering

Page Tree
rootJava-programmering
excerpttrue

Prosedyreorientert programmering

Page Tree
rootProsedyreorientert programmering
excerpttrue

2017

2022

Øvingsoppgavene finner du på GitLab.

Gamle 

Content by Label
showLabelsfalse
sorttitle
showSpacefalse
labelssidetype-øving-2017
cqllabel = "sidetype-øving-2017"

 

Gamle

eksamensoppgaver

Content by Label
showLabelsfalse
max50
showSpacefalse
sorttitle

showSpacefalse

reversetrue

labels

cqllabel = "sidetype-eksamen"

cql

labels

label = "

sidetype-eksamen

"

Nyttige teorioppgaver

Content by Label
showLabelsfalse
showSpacefalse

labels

cqllabel = "sidetype-sporsmal"

cql

labels

label = "

sidetype-sporsmal

"

Page Tree Search

HTML Comment
hiddentrue

Faginnhold (forutsetninger/pensum)

  • 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 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