NITH 2012 - 2013 / Emner / Programmeringsemner (PG,IPG) / PG4100 Avansert Javaprogrammering 2  

PG4100 Avansert Javaprogrammering 2

Emnenivå
Bachelor

Emnekode
PG4100

Emnenavn
Avansert Javaprogrammering 2

Studiepoeng
7,50

Tilsynssensor
Morten Andersen-Gott

Godkjenningsdato
25.03.2012

Hensikt
Innenfor programmering vil man ofte ha et behov for å kunne ta i bruk kode som andre har skrevet. Emnet gir en innføring i hvordan man kan legge til tredjepartsbiblioteker i et Javaprosjekt, hvordan man kan benytte et byggverktøy for å forenkle denne prosessen, samt hvordan man kan ta i bruk Open-Source biblioteker. I produksjon og forvaltning er det nødvendig med logging og dokumentasjon, og emnet gir derfor en innføring i Log4j og javadoc. Videre vil tyngre programmer ha et behov for å parallellisere oppgaver og emnet gir derfor en introduksjon til trådprogrammering. Sockets tas i bruk for å lage programmer som kan kommunisere med hverandre over nettverket. Emnet avsluttes med en smakebit på funksjonell programmering som et alternativt programmerings-paradigme til objekt-orientert programmering.

Forutsetninger
Emnet krever videregående programmeringskunnskaper tilsvarende PG3100, samt grunnleggende kjennskap til versjonskontroll. Programmering krever en høy grad av nøyaktighet, tålmodighet, utholdenhet og evne til logisk tenkning.

Læringsutbytte

Kunnskaper

Etter å ha fullført emnet skal studenten

  • vite hvilke fordeler trådprogrammering kan gi og når det lønner seg å benytte dette
  • kjenne til forskjeller i objekt-orientert og funksjonell programmering
  • kjenne til minst ett open-source prosjekt i Java og ha lest deler av kildekoden til dette
  • kjenne til hvordan applikasjoner kan utveksle data med hverandre gjennom sockets og web-services
  • kjenne til begrepet "REST"

Ferdigheter

Etter å ha fullført emnet skal studenten kunne

  • konfigurere avhengigheter:
    • lage JAR/WAR
    • legge til tredjepartsbiblioteker manuelt i Eclipse
    • bruke Maven for å spesifisere avhengigheter og bygge et Javaprosjekt
    • anvende open-source biblioteker:
      • sjekke de ut fra versjonskontroll
      • bygge et open-source prosjekt som baserer seg på Maven
      • gjøre en endring i biblioteket
      • kjøre testene til biblioteket
      • konfigurere Log4j og skrive programmer som benytter seg av slik type logging
      • anvende Javadoc for å skrive dokumentasjon av kode
      • utvikle trådbaserte applikasjoner
      • utvikle klient/tjener applikasjoner ved hjelp av Sockets
      • tegne 2D-grafikk med Swing og skrive ut disse
      • gjøre HTTP kall mot en RESTful web-service
      • produsere applikasjoner som kan tolke XML og JSON

Generell kompetanse

Etter å ha fullført emnet skal studenten kunne

reflektere rundt fordeler og ulemper med tredjepartsbiblioteker

Gjennomføring
Forelesninger, øvinger med veileder, innleveringer og skriftlig vurdering.

Anbefalt tidsbruk

Aktivitet

Tidsbruk

Deltakelse i undervisning

24

Øving

24

Selvstudium

149

Vurdering

3

Anbefalt tidsbruk totalt

200

Verktøy
  • Java 1.7
  • Eclipse
  • Maven
  • Git/Subversion
Karakterskala
Letter grades A-E for passed and F for failure

Vitnemålstekst
Emnet har gitt en introduksjon til bruk av tredjepartsbiblioteker i Java og bruk av Maven. Videre har emnet gitt en innføring i trådprogrammering, sockets, logging, 2d-grafikk i Swing og enkel integrasjon mot REST-baserte webtjenester som returnerer XML/JSON. Emnet ble avsluttet med en smakebit på funksjonell programmering som et alternativt programmerings-paradigme til objekt-orientert programmering.

Pensum

Se PG3100

Vurderingstype
Mappevurdering

Vurdering

Mappe bestående av innleveringer og avsluttende skriftlig vurdering.