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)

  • datatyper
    • logiske (boolean, true/false)
    • tall
      • heltall
Wiki Markup
Dette er hovedsiden for faginnhold i TDT4100. Her kommer det etterhvert en innholdsfortegnelse og forhåpentligvis et tankekart med lenker til tematisk innhold. [tdt4100:Faginnhold^visorFreeplane.swf] {html}<div id="flashcontent"><embed id="visorFreeplane" width="100%" height="100%" align="middle" flashvars="bgcolor=16777215&openUrl=/wiki/download/attachments/61147503/visorFreeplane.swf?version=1&modificationDate=1363148726000&startCollapsedToLevel=2" quality="high" src="./Java.html_files/visorFreeplane.swf" type="application/x-shockwave-flash"></embed></div>{html} Faginnhold (forutsetninger/pensum) * datatyper ** logiske (boolean, true/false) ** tall *** heltall
      • (int/byte/short/long)
***
      • desimaltall
      • (double/float)
***
      • tegn
      • (char)
** [ |tdt4100:String] *** Implisitt konvertering til String med
      • 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
    • 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
  • kontrollstrukturer
    • betingelser og valg (if/else,
    • switch/case/default)
**
    • iterasjon
    • (while,
    • for)
*** starttilstand *** stoppbetingelser *** stegsetning ***
      • 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 ***
  • 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 ***
    • arv
      • implements/extends
*** polymorfi *** abstrakte klasser **
      • polymorfi
      • abstrakte klasser
    • parametriserte/generiske
***
      • kovarians/konvarians
***
      • brukt
      • i
      • Collection-rammeverket
*** egendefinerte **
      • egendefinerte
    • instanser/instansiering
* unntakshåndtering ** throw **
  • 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:
    • 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
    • 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