Kapitel 0
Objekt-orienteret Programmering og Algoritmik

Kurt 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.

Kurset i en Nødeskal
Slide Annoteret slide Indhold Stikord
Referencer 

  • 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

Skriftlig OOPA Eksamen
Slide Annoteret slide Indhold Stikord
Referencer 

  • 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

OOPA - Formål og Mål
Slide Annoteret slide Indhold Stikord
Referencer 

  • 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#

Programmering
Slide Annoteret slide Indhold Stikord
Referencer 

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

Objekt-orienteret Programmering
Slide Annoteret slide Indhold Stikord
Referencer 

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

OOPA i forhold til SAD og DIEB
Slide Annoteret slide Indhold Stikord
Referencer 

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.

Oversigt over kurset
Slide Annoteret slide Indhold Stikord
Referencer 

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

Litteratur på kurset
Slide Annoteret slide Indhold Stikord
Referencer 

  • 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

    • Artikler om unit testing

 

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