DM072 - 3. semester       til andre ugeplaner

Ugeplan for Softwarearkitektur og Distribuerede Programmer

Tema: Grafer og Sprogteori

Sidst ændret: 2008.11.30

Uge 45
Dag Tidspunkt Emne Litteratur / Opgaver
Torsdag    Binære søgetræer - se opgaver nedenfor

(Selvstudie da Bjørk er sygemeldt)

http://msdn.microsoft.com/en-us/library/ms379572.aspx  

Supplerende materiale:
- Binær søgetræ: http://en.wikipedia.org/wiki/Binary_search_tree
- Begreber i forbindelse med binærer træer
- (*)C# s 175-176 (IComparable og IComparer interfaces)
- Eksempel med brug af IComperable og Collections.Comparer til sortering af varer i arraylist på forskellige kriterier (varenr, betegnelse og pris)
- Binære søgetræer i med visitor pattern i CSharp

  Opgaver med træer  
Fredag    Balancerede binære søgetræer, (AVL, rød/sort), SkipList

Opgave: Diskuter problemer med indsættelser og sletninger i et binært søgetræ. Forklar hvordan man med balancerede træer kan løse problemerne.

(selvstudie evt. sammen med DM071 - Bjørk syg)

http://msdn.microsoft.com/en-us/library/ms379573.aspx  

 

  Opgaver med træer

Grafer, graf-algoritmer
Opgave: I et binært træ anvendes begreber som root, node, leaf, parrent, child - beskriv tilsvarende de centrale begreber i en graf.
Hvad menes med "directed" og hvad menes med vægte i forbindelse med en graf.

 

http://msdn.microsoft.com/en-us/library/ms379574.aspx

Note om grafer af Niels Otto Knudsen

Afleveringsopgaver (obligatoriske) denne uge: Opgave Ws04
(*) Core C# and .NET, Stephen C. Perry
(**) .Net Application Development with C#..., Hanspeter Mössenböck - se BlackBoard
 

 

Uge 46
Dag Tidspunkt Emne Litteratur / Opgaver
Tirsdag 08:30 - 11:50  EBNF - Extended Backus-Nauer Form

(Sammen med DM071 - Bjørk syg)

http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form

http://www.garshol.priv.no/download/text/bnf.html

Syntaks diagrammer: http://dotnet.jku.at/applications/Visualizer/

EBNF eksempler

- 14:30 Opgaveløsning EBNF opgave 01
Torsdag 08:30 - 11:50  Selvstudie (Bjørk fortsat syg)  
- 14:30    
Fredag 08:30 - 11:50  Tabelstyret indlæsning 
(Sammen med DM071 - Bjørk syg)
TabelstyretIndlæsning.pdf (afsnit 2.4 pp. 61-70)
- 14:30 Opgaveløsning Gennemgang af BST løsninger 
    OBS. Her er link til nogle udemærkede videoer fra YouTube (tak til Morten fra DM071) som dels gennemgår hvorledes man kan implementere datastrukturen graf samt gennemgår Dijkstra's "Shoretst Path" algoritme i en graf: Her er graf-opgaverne fra sidste uge: GrafOpgaver


Uge 47
Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 - 11:50  Opsamling
http://en.wikipedia.org/wiki/Visitor_pattern
http://www.dofactory.com/Patterns/PatternVisitor.aspx
http://dvanderboom.wordpress.com/2008/04/09/the-visitor-pattern-in-c-30/
- 14:30 Opgaveløsning Allans vejl. løsning på binært søgetræ: BST.zip
Inspiration til impl. af State design pattern ifm. parsing: State.cs (Tak til Peter Kjærsgaard).
Torsdag 08:30 - 11:50  Opsamling Note om EBNF se BlackBoard under SDP
BNF problem!: om venstrefaktorisering og elimination af venstre recursion

Programeksempel i C# på ebnf syntakstyret indlæsning  (regelstyret / tabekstyret / med statepattern) - en medlemsliste - eksempel lånt af Niels Otto Knudsen - solution indeholder txt-fil med ebnf.
Slides om sprog-/compiler-teori (fra Niels Otto Knudsen)

- 14:30 Opgaveløsning  
Fredag 08:30 - 11:50  Projektstart  
- 14:30