VÅREN 2015

PROGRAMUTVIKLING

FAGNUMMER: DATS1600 / ITPE1600

OMFANG: 10 studiepoeng

FAGLÆRER: Eva Hadler Vihovde, kontor PS433.

FREMDRIFTSPLAN VÅREN 2015:.

FAGETS MÅL: Studentene skal lære seg avansert objektorientert programmering, samt utvikle grunnleggende ferdigheter i bruk av abstrakte datastrukturer. De skal også tilegne seg ferdigheter i vindusprogrammering med hendelseshåndtering, samt filhåndtering.

INNHOLD Følgende tema inngår:

  • unntakshåndtering
  • filbehandling
  • regulære uttrykk og tekstmanipulering
  • grunnleggende algoritmer for sortering og søking
  • enkle dynamiske datastrukturer (lister, køer og stakker)
  • generiske metoder og klasser
  • Javas Collections-bibliotek
  • GUI-programmering
  • Funksjonell programmering og Lambda-uttrykk
  • Databasetilknytning ved bruk av JDBC™

Som programmeringsspråk brukes java.

ORGANISERING OG ARBEIDSMÅTER: 4 timer fellesforelesning i auditorium med gjennomgåelse av nytt stoff, 2 timer fellesforelesning i auditorium med gjennomgåelse av ukeoppgaver, 2 - 4 timer veiledning på datalab.

PENSUM: Deitel & Deitel: Java How to Program, Tenth Edition. (Prentice Hall). I tillegg kompendiet som er lagt lagt ut på nettet.
Det forventes at studentene følger forelesningene, og alt som gjennomgås her anses som pensum.

ARBEIDSKRAV: En obligatorisk innlevering og en individuell test må bestås for å kunne delta på prosjektoppgaven. Den obligatorisk innleveringen løses i grupper på inntil tre studenter. Den individuelle testen løses uten hjelpemidler

VURDERING: Det er ingen skriftlig eksamen i faget. Avsluttende prosjektarbeid i grupper på inntil 3 studenter. Studentene må selv opprette grupper. ("Gruppe" på 1 student er normalt ikke tillatt.) Enkelte grupper kan bli trukket ut til individuell muntlig eksamen for å få fastsatt endelig karakter.

Kompendium som dekker pensum: Programutvikling

Diverse ikoner: Java look and feel Graphics Repository

Gratis tegneprogram for UML-diagrammer: http://argouml.tigris.org/.

Utviklingsverktøy: TextPad, JDK, Eclipse og Netbeans

GODKJENTE PROSJEKTGRUPPER: Se link fra nyhet på fronter

JAVA-RESSURSER

Databasetilknytning ved bruk av JDBC™

STUDENTASSISTENTENE:
Daniel Reinholdt(daniel_reinholdt@hotmail.com)
Lukas David Larsed (s198569@stud.hioa.no)

TIMEPLAN

FRAMDRIFTSPLAN VÅREN 2015

Uke Bokreferanse Tema Oppgaver
4   Dynamiske datastrukturer. Lister
Eksempler
Løsningsforslag til eksamen i Programmering H15
Ukeoppgaver
5   Dynamiske datastrukturer. Lister
Programmering av vinduslytter
Eksempler
Ukeoppgaver
6 D&D kap.11
D&D kap.15 
Unntakshåndtering (exceptions)
Strømmer (streams) og filer
Eksempler
Ukeoppgaver
7 D&D kap.15 Strømmer (streams) og filer
Eksempler
Ukeoppgaver
Obligatoriske oppgave
8   Studieuke. Ingen forelesninger. Laben går som vanlig.
Konte-eksamen i Programmering fredag 20. februar
Arbeid med den obligatoriske oppgaven.
9   Forelesningene denne uken er avlyst pga. sykdom. Ukeoppgaver
10 D&D kap.14  Tekstmanipulering.
Regulære uttrykk.
Eksempler
Ukeoppgaver
11 D&D kap.16 Innleveringsfrist for den obligatoriske oppgaven er mandag 9. mars kl. 15:00
Collections
Ukeoppgaver
12 D&D kap.16
D&D kap. 20
Collections
Bruk av generiske datatyper
Ukeoppgaver
 
13 D&D kap.12 Layout-managere
Grafiske brukergrensesnitt, grunnleggende komponenter
PROSJEKTOPPGAVEN våren 2015
Ukeoppgaver
Prosjektoppgaven våren 2015
14   Påsken
15 D&D kap.10.10
D&D kap.17
Interface-utvidelser i Java SE 8
Funksjonell programmering og Lambda-uttrykk
streams
Forelesningsnotater og eksempler
Ukeoppgaver
Arbeid med prosjektoppgaven.  
16 D&D kap. 12 Grafiske brukergrensesnitt, grunnleggende komponenter
Knapper
Kombobokser
Listebokser
Farger
Fonter
Panel brukt som tegneflate
Innleveringsfrist for kravspesifikasjonen mandag 13. april kl. 15.
Sendes på mail til evav@hioa.no
Tirsdag 14. april kl. 15:30: Individuell delprøve.
Prøven er en del av arbeidskravene og må bestås (minst 50% score) for å få godkjent prosjektarbeidet.
Ukeoppgaver
Arbeid med prosjektoppgaven.  
17 D&D kap.12 Musehendelser og lytteobjekter for mus
Tekstkomponeneter
Ukeoppgaver
Arbeid med prosjektoppgaven.  
18 D&D kap.22 Individuell delprøve (konte)
Sjekk din egen besvarelse!

Grafiske brukergrensesnitt, spesialiserte komponenter
Menyer
Fanekort
Rammer
Hvordan programmere tabeller av type JTable
Ukeoppgaver
Arbeid med prosjektoppgaven.  
19 D&D kap.23 Siste forelesning tirsdag 5. mai
JTable, fortsettelse

Arbeid med prosjektoppgaven.
20   Ingen undervisning
Arbeid med prosjektoppgaven
Aktuelt GUI-stoff (leses på egen hånd):
BoxLayout
Interne vinduer
Dialogvinduer Bruk av JEditorPane
Bruk av verktøylinje: JToolBar
Bruk av skyvere (sliders)
Bruk av Action-objekter
Bruk av formatterte tekstfelter: JFormattedTextField-objekter
Spinnere: JSpinner-objekter
Lagring av applikasjonstilpasninger (brukerpreferanser)
Hva er en Timer?
Dato og tid: bruk av Calendar-klassen
Litt om bilder
Progresjonsindikatorer
Hvordan lage splash screen
Hvordan få et javaprogram til å starte andre programmer som ligger på "skrivebordet" Multiprosessering
Oppdatering av brukergrensesnitt under utførelse av tidkrevende kode
Annotasjoner
Databasetilknytning ved bruk av JDBC™
Arbeid med prosjektoppgaven.
21   Innleveringsfristen for prosjektoppgaven:
Onsdag 20. mai 2015 kl. kl.15

Oppgaven kan leveres personlig på Evas kontor PS433 mellom klokken 12 og 15. Dere vil da samtidig får registrert at oppgaven er innlevert.
 

JAVA-RESSURSER

Diverse supplement til læreboka: Programutvikling
Javas standard klassebibliotek
En visuell indeks til swing-komponenter
The Java™ Tutorial
Experts Exchange