Program - Datastrukturar og Algoritmer
(Sist oppdatert: $Date$)
Veke for veke
Veke 2: praktiske oppplysingar
- Innhald
- Praktiske opplysingar, repetisjon frå hausten,
Netbeans, sjølvstendige program, jar-filer
- Læringsmål
- Studentane skal kunna ta i bruk Netbeans og skriva sjølvstendige
program som køyer uavhengig av BlueJ
- Lesestoff
- Objects First kap. 8.
Foilar til kap. 8 (sjå Fronter).
- Øving
-
- Installer Netbeans.
- Opprett eit nytt prosjekt «HelloWorld»
- Skriv eit program som skriv «Hello World» på skjermen.
Kompiler og test programmet.
- Kopier øvinga frå i haust inn i Netbeans.
- Om du ikkje har gjort det,
skriv ei
main
-rutine som startar det
grafiske brukargrensesnitt.
- Kompiler og test programmet
Veke 3: Arv
- Innhald
- Arv, polymorfi
- Læringsmål
- Studentane skal skjøna kva arv er, kvifor det vert brukt og
vera i stand til å starta på å utforma objektorienterte design
som krev og nyttar arv.
- Lesestoff
- Objects First kap. 8-9.
Foilar til kap. 8-9 (sjå Fronter).
- Øving
-
- Teikna klasse- og objektdiagram for neste versjon av
spelprogrammet.
(Det er lov å bruka eit dataverkty, men eg ville ha gjort
det for hand for å spara tid.)
- Vurder designet frå minst éin medstudent.
- Få kommentarar på designet frå minst éin medstudent.
Tenk grundig gjennom designet før du startar å koda.
Neste veke må du ha ein klar idé om kva som skal kodast.
Det er ein god idé å samarbeide om design, men ein svært dårleg idé
å samarbeida om kodinga.
Innleveringane er individuelle, kopiering er fyfy, og
det er eit absolutt krav at ein forstår og kan forklara si eiga
løysing uavhengig av eventuell likskap.
Dersom du er nøye på å skriva koden sjølv kan du forsikra deg om at
du forstår han, og skriv dine eigne kommentarar og javadoc.
Veke 4: Meir om arv
- Innhald
- Polymorfi, abstrakte klasser, java interfaces
- Læringsmål
- Studentane skal ha kjennskap til alle dei mest sentrale
konsepta knytte til arv, og vera i stand til å bruka arv
effektivt for å løysa praktiske problem.
- Lesestoff
- Objects First kap. 9-10.
Foilar til kap. 9-10 (sjå Fronter).
- Øving
-
Arbeid med den obligatoriske innleveringa. I dag bør de
koma godt i gang med kodinga.
Utkast til vidare program
Merk at programmet er fleksibelt og vert justert
etter framgangen.
Veke 5: Frå arv til GUI
- Innhald
- Oppsummering av arv, introduksjon til hendingsbasert programmering
og GUI
- Læringsmål
- Studentane skal ha eit oversyn over dei objektorienterte
strukturane og metodane som vert brukte i GUI, som eit
grunnlag for å forstå tekniske detaljar neste veke.
- Lesestoff
- Objects First kap. 11.
Foilar til kap. 11 (sjå Fronter).
- Øving
-
Avslutt den obligatoriske innleveringa.
Hugs å kommentera og dokumentera koden.
Veke 6: GUI
- Innhald
- GUI, GUI-API-en i java
- Læringsmål
- Studentane skal kunna programmera fornuftige og oversiktlege
grafiske brukargrensesnitt.
- Lesestoff
- Objects First kap. 11.
Foilar til kap. 11 (sjå Fronter).
- Øving
-
Teikna (for hand) skjermbilete som viser korleis de ynskjer at
brukargrensesnittet til spelprogrammet skal sjå ut.
Veke 7: Design og GUI
- Innhald
- Fleirlags arkitektur, Layout Managers,
hendingshandsaming, m.m.
- Læringsmål
- Studentane skal kunna programmera fornuftige og oversiktlege
grafiske brukargrensesnitt.
- Lesestoff
- Objects First kap. 11.
Foilar til kap. 11 (sjå Fronter).
- Materiell
-
Kodedøme frå førelesinga.
- Øving
-
Avhengig av kor langt de er komne. Dei som er heilt i rute kan
starta med å skriva dei fyrste GUI-klassene basert på teikningane
frå forrige veke.
Veke 8: Feilhandsaming (og modale/ikkje-modale vindaugo)
- Innhald
- Modale og ikkje-modale dialogboksar,
viewklasser og dataklasser,
unntak og feilkontroll.
- Læringsmål
-
-
Studentane skal ha eit praktisk oversyn over bruk av
dialogboksar i Swing.
-
Studentane skal kunna designa og koda for å unngå køyretidsfeil,
og bruka unntaksmekanismen i Java.
- Emne
-
- To komponenthierarki i AWT/Swing: eigar og container
- Modalitet
- Top-level components: (J)Frame, (J)Dialog, (J)Applet
- View-objekt, og data-representasjon
- Exceptions (Chapter 12)
- Lesestoff
- Objects First kap. 12.
Foilar til kap. 12 (sjå Fronter).
- Øving
-
No er det viktig å koma godt i gang med GUI ASAP zulu.
Veke 9: Feilhandsaming og unntak
- Innhald
- unntak og feilkontroll.
- Læringsmål
-
Studentane skal kunna designa og koda for å unngå køyretidsfeil,
og bruka unntaksmekanismen i Java.
- Lesestoff
- Objects First kap. 12.
Foilar til kap. 12 (sjå Fronter).
- Øving
-
Når du har kontroll på GUI, er det på tide å tenkja på feilkontroll.
Er der plassar i programmet der det er stor risiko for feil?
I so fall er det grunn for å leggja inn ein kontroll og evt.
reisa eit unntak.
Veke 10: Filhandsaming
- Innhald
- filhandsaming
- Læringsmål
-
Studentane skal ha eit oversyn over bruken av straumar i
Java sitt API, kunna skriva og lesa tekstfiler samt
serialisera objekt.
- Lesestoff
- Objects First kap. 12.
Foilar til kap. 12 (sjå Fronter).
- Øving
-
Held fram med dei obligatoriske innleveringane.
Veke 11: Objektorientert design
- Innhald
- repetisjon og tips: designprosessen, utviklingsprosessen,
samarbeid, grensesnitt
- Læringsmål
-
Studentane skal finna løysingar på problem og feil som
dei har opplevd i øvingsoppgåvene.
- Lesestoff
- Objects First kap. 13.
Foilar til kap. 13 (sjå Fronter).
- Øving
-
Held fram med dei obligatoriske innleveringane.
Veke 12: Liste; array list og array
Veke 13: Rekursjon
Veke 14-15: Påskeferie
Veke 16: Avlyst pga. permisjon
Veke 17: Andre datastrukturar
- Innhald
- Stabel (stack), kø (queue), tre (tree) og
dynge (heap).
- Læringsmål
-
Studentane skal ha eit oversyn over vanlege datastrukturar og
kva eigenskapar dei har.
- Lesestoff
- Data Structures and Algorithms in Java kap. 5, 7, 8.
- Øving
-
Held fram med dei obligatoriske innleveringane.
Veke 18: Avlyst pga. 1. mai
Veke 19: Repetisjon og oversyn
- Innhald
- Kva treng ein
dataingeniør/programmerar/programutviklar/IT-leiar/automasjonsingeniør
å kunna om programutvikling?
Hans Georg /
hasc@hials.no