Kursusbeskrivelse

for

Datalogi C

ved

Keld Helsgaun

 

1. Formål

Studiet af datastrukturer og algoritmer er en central del af datalogien. Ved udvikling af et program er det vigtigt, at man har et solidt kendskab til egnede datastrukturer og algoritmer og kan foretage et kvalificeret valg imellem disse.

Kursets formål er at give den studerende

2. Indhold

Kursets indhold kan overordnet beskrives ved følgende punkter:

Som programmeringssprog anvendes Java.

3. Forudsætninger

Datalogi A eller tilsvarende kendskab til programmering.

4. Undervisningsform

Undervisningen foregår ved forelæsninger (33 timer) og øvelser (33 timer).

Forelæsningerne afholdes på tirsdage fra 930-1200 i teorirummet i hus 42.2. Øvelserne afholdes på fredage fra 1300-1530 i datastuen og møderummet i hus 42.1.

5. Evalueringskriterier

Der vil i kursusperioden løbende blive stillet et antal øvelsesopgaver. For hver tilfredsstillende opgaveløsning gives et på forhånd angivet antal point. For at bestå kurset skal der opnås en pointsum, der udgør mindst 80% af pointsummen for samtlige obligatoriske opgaver.

Opgaveløsninger afleveres til kursuslæreren, enten individuelt eller af grupper på 2 personer. Afleveringsfrister skal overholdes, og der er ikke mulighed for genaflevering.

6. Undervisningsmaterialer

    Mark Allen Weiss,
    Data Structures & Problem Solving Using Java,
    Addison Wesley, 2nd edition, 2001.

7. Forelæsninger

Til stofgennemgang er afsat 12 forelæsningsgange. En foreløbig plan er vist nedenfor. Ret til ændringer forbeholdes.

(18/9) Objektorienteret programmering I (Kapitel 1, 2 og 3)
Typer. Sætninger. Referencer. Undtagelser. Klasser. Pakker.

(25/9) Objektorienteret programmering II (Kapitel 4)
Nedarvnning. Grænseflader.

(2/10) Algoritmeanalyse (Kapitel 5)
Data- og algoritmebegebet. O-notation. Binær søgning.

(9/10) Datastrukturer I (Kapitel 6)
Dataabstraktion. Elementære datastrukturer.

(16/10) Rekursion (Kapitel 7)
Algoritmedesign.

(23/10) Sortering (Kapitel 8 og 9)
Simple metoder. ShellSort, MergeSort og Quicksort. Randomisering.

(30/10) Anvendelser I (Kapitel 10 og 11)
Rekursion og stakke: spiltræer, aritmetiske udtryk.

(6/11) Anvendelser II (Kapitel 12 og 13)
Prioritetskøer: filkomprimering, simulering.

(13/11) Anvendelser III (Kapitel 14)
Grafer.

(20/11) Datastrukturer II (Kapitel 15, 16, 17 og 18)
Implementering af stakke, køer, hægtede lister og træer.

(27/11) Datastrukturer III (Kapitel 19)
Søgetræer.

(4/12) Datastrukturer IV (Kapitel 20 og 21)
Hashing. Prioritetskøer.

8. Øvelser

Der afholdes øvelser følgende fredage:

      28/9, 5/10, 12/10, 19/10, 26/10, 2/11, 9/11, 16/11, 23/11 og 7/12.

9. Kursusafrunding og -evaluering

Kursusafrunding tirsdag den 8/1 2002.
Kursusevaluering fredag den 11/1 2002.

Tilbage til hovedsiden


August 2001 Keld Helsgaun