Kapitel 0
Objekt-orienteret Programmering og AlgoritmikKurt Nørmark ©
Department of Computer Science, Aalborg University, Denmark
Sammendrag Næste lektion Stikord Referencer Indhold | | Dette er en kort (15 minutters) introduktion til kurset i objekt-orienteret programmering og algoritmik 2010.
Introduktionen er en del af introduktionarrangementet for BAIT-2, som holdes 1. februar 2010.
|
| | - Forudsætninger
- Studerende på kurset har et introducerende kendskab til imperativ programmering, i C#.
- Projektunderstøttende studieenhedskursus
- Kurset skal støtte projektarbejdet i case blok 2.
- Det individuelle udbytet af kurset eksamineres i en skriftlig elektronisk eksamen
- Det kollektive udbytte eksamineres gennem den afleverede projektrapport
- Kursusform
- 9 forelæsninger - hver ca. to timer.
- Programmeringsworkshops - fælles problemløsning og programmering
- Projektvejledning inden for programmering
- Hjemmeside
- Tilgås via BAIT-2 hjemmesiden
- http://www.cs.aau.dk/~normark/oopa-10/html/oopa.html
|
|
| | - Tre timers varighed
- Ekstra tid til opsætning, opstart, kopiering af filer mv.
- Aflevering (og evt. udlevering) af materiale på memory stick
- Alle hjælpemidler tilladt, herunder dokumentation på nettet
- Trådløst net er aktiveret - også mulighed for netadgang via tråd
- Ingen mobiltelefoner
- Bestået/Ikke-bestået
- Ordinær eksamen i juni 2010
- Dernæst re-eksamen i august 2010
- Dernæst ordinær eksamen i juni 2011
|
|
| | Se fire tidligere eksamenssæt (ordinær og re-eksamen) via OOPA hjemmesiden |
|
| | - Formålet er
- at opnå viden om basale begreber i OOP, og at opøve grundlæggende færdigheder i praktisk OOP
- Målet er at kunne
- forstå indkapsling og synlighedskontrol
- organisere typer i specialiseringshierarkier ved brug af nedarvning
- benytte design patterns til løsning af velforståede problemer
- anvende OOP klassebiblioteker til implementering af algoritmer og datastrukturer med givne krav til tid og plads
- teste korrektheden af et objekt-orienteret program ved anvendelse af unit testing
- skrive et ikke-trivielt objekt-orienteret program af høj intern kvalitet i C#
|
|
| | Hvordan kan vi karakterisere programmering? |
|
| | - En slaveaktivitet efter de kreative indledende faser?
- Et håndværk?
- Kunst?
|
|
| | Kreativ aktivitet Konstruerende disciplin Programmet er det blivende resultatat af vore anstrengelser |
|
| | Et programmeringsparadigme - Et perspektiv på hvordan vi programmerer |
|
| | - Andre paradigmer
- Funktions programmering
- Imperativ programmering
- Logik programmering
- Inspiration
- Hverdags begrebsdannelse
- En teori om fænomener og begreber
- Styrker
- Primært egnet når vi skriver store programmer
- Fokus på strukturer, indkapsling og genbrug
|
|
| | En rød tråd - men ikke et tov - gennem de tre PE-kurser |
|
| | - OOP i forhold til SAD
- I SAD (= OOAD) lærer I objekt-orienteret forståelse af
problemet og objekt-orienteret modellering af løsningen
- Klassestrukturen og andre strukturelle forhold laves inden for rammerne af SAD
- OOP i forhold til DIEB
- DIEB diskuterer brugergrænseflade begreber og teknikker.
- DIEB kurset dækker C# faciliteterne til programmering af GUIer
- Programmering af den grafiske brugergrænseflade - GUI - foregår i DIEB blokken
- OOP kurset møder brugergrænseflade programmering gennem nogle vigtige designmønstre, samt delegates and events.
|
|
| | Et skarpt skel mellem OOD og OOP er kunstig. Den løse kobling mellem "model" og GUI er ønskværdig. |
|
| | Kurset lektion for lektion |
|
| | Introduktion til Objekt-orienteret programmering | | Abstrakte klasser og interfaces | Klasser og Objekter | | Exception handling og streams | Metoder og Properties | | Collection klasser | Test og dokumentation af objekt-orienterede programmer | | Søgning og sortering | Specialisering og nedarvning | | |
|
| | Ret til mindre ændringer forbeholdes |
|
| | - Det valgte undervisningsmateriale
- Supplerende C# programmeringsbøger - Se kursushjemmesiden
- Bishop and Horspool: C# Consisely
- Hanspeter Mössenböck: C# to the Point
- Lewis: C# Software solutions
- Sestoft og Hansen: C# Precisely
- Michaelis: Essential C# 2.0
- Litteratur om andre emner
|
|
Kapitel 0: Objekt-orienteret Programmering og Algoritmik
Kursets hjemmeside Forfatteren's hjemmeside Om frembringelsen af disse sider Forrige lektion (top) Næste lektion (top) Forrige lektion (bund) Næste lektion (bund)
Genereret: 1. Februar 2010, 15:13:49