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 utgjør dette praksisdelen av TDT4100.
  • Eclipse - bruk av Eclipse, 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 teori: søk på sidetype-teori-label, klikk på overskrift for å komme til egen side
  • Sider markert som oppgave: søk på sidetype-oppgave-label, klikk på overskrift for å komme til egen side
  • Sider markert som lysark: søk på sidetype-lysark-label, klikk på overskrift for å komme til egen side

Objektorientert programmering

Page Tree
rootObjektorientert programmering
excerpttrue

Java-programmering

Page Tree
rootJava-programmering
excerpttrue

Bruk av Eclipse

Page Tree
rootEclipse
excerpttrue

Prosedyreorientert programmering

Page Tree
rootProsedyreorientert programmering
excerpttrue

Sider markert som teori

Sider markert som oppgave

 

Sider markert som lysark

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