DM1302DK - 3. semester

Softwarearkitektur og Distribuerede Programmer (SDP)

Eksamens information


2014.12.22

Eksamens regler:

Pensum fremgår af:

Ud over litteraturen indgår opgaver, projekter, programeksempler og videoer fra ugeplanerne.
Der lægges her særlig vægt på afleveringsopgaver (herunder projekt)

Litteratur (opsummering fra ugeplaner):

Tråde, synkronisering og socket programmering:

.Net App kap 4.4 (socket) ,
kap 4.3.1 - 4.3.3 (socket)
C# Network side 354-358  (socket)
C# to the point kap 11.1  (delegater)
Core C#
kap 3.7 (delegater)
kap 13.1 + 13.3 (tråde)
kap 13.4 (tråd synkronisering)
Noter og slides Slides om socket part 1 (nokn)
Slides om socket part 2 multitrådet (nokn)
Slides om tråde og synkronisering
Links Non-Blocking synchronization
Locking and thread safety
Fowler Mønstre: Observer

 

Distribuering med WcfService (webservices) og web:

.Net App Side 403-409 kap 7.1 Overview
Side 413-415 kap 7.3 SOAP (intro)
Side 415-417 kap 7.3.1 SOAP formats
Side 429-430 kap 7.4.4 Life Cycle of a Web Services (session)
Side 430-433 kap 7.5 WSDL
Side 433-434 kap 7.6 UDDI / DISCO
AspBeg side 1-11 (lidt intro om web og dynamiske sider)
side 202-206 (Event-Driving & Post Back)
side 381-430
AspProf side 132-134,142-143
Core C#  kap 18.3 (side 884-885)  (web-service)
Noter og slides Pp_WebServiceBegreber.ppt
Pp_WCF_Basic_Intro.ppt
Pp_WCF_Basic_Client.ppt
Pp_WCF_Basic_Server.ppt
Pp_WCF_Session.ppt
Pp_WCF_Async_Client.ppt
Slides om Proxy mønster
Slides om ValidationControls m.m.
Udvalgte slides fra "C# to the point" om ADO connections herunder transaction
Slides kort om JavaScript - fra tidligere javascript-kursus
Pp_JavaScriptCodeBehindOgPageMethods.ppt
Links Om WebServices
Om XML Schema
Om SOAP protokollen
Om WSDL

- Om remote facade: http://martinfowler.com/eaaCatalog/remoteFacade.html
- Om datatransfer object: http://msdn.microsoft.com/en-us/library/ff649585.aspx
- Om service layer:- http://martinfowler.com/eaaCatalog/serviceLayer.html
- Om Optimistic Offline Lock: http://martinfowler.com/eaaCatalog/optimisticOfflineLock.html
- Om Pessimistisk Offline Lock: http://martinfowler.com/eaaCatalog/pessimisticOfflineLock.html

The HTML DOM (Document Object Model)

Javascript specifik læsestof fra diverse sider:
Variables, Functions, Operators, Conditionals
JavaScript Objects
JavaScript Object Examples
onMouseover: Your first Script

Fowler Mønstre: Singleton, Session controler, Proxy, Remote Facade, DTO, Transaction Scripting, Domain Mode, Tabel data-gateway, Row data-gateway, Active record, Optimistic offline lock

 

Træer, grafer og sproglære:

CompilerC Kap 1 - side 1-15 (comliler komponenterne, gramatik, parsertræ, synkaks diagram
Kap 2 - side 32-33 (leksikalske analyse / scanneren)
AOD9006 Sådan arbejder en compiler - Artikel
Noter og slides Induktionsbeviser - bevis for korrekt virkemåde at algoritmer
Begreber i forbindelse med binærer træer (binære søgetræer)
Note om grafer af Niels Otto Knudsen
Generiske datastrukturer (template baserede) - her en dårlig stak 173_StackTemplate
Slides om Sprog og compiler
Compilering_af_symbolsk_maskinsprog med brug af  Symboltabel
Note om EBNF-grammatikker: regel-, tabel-styret indlæsning (kopi fra KBH iniversitet)
Links: Om algoritme kompleksitet
http://en.wikipedia.org/wiki/Best,_worst_and_average_case
http://en.wikipedia.org/wiki/Algorithmic_complexity#Complexity_classes (afsnit 1-3 som orientering)Datastrukturer:
http://en.wikipedia.org/wiki/List_of_data_structures

Træer:
http://msdn.microsoft.com/en-us/library/ms379572.aspx (binære søgetræer)
http://en.wikipedia.org/wiki/Binary_search_tree (binære søgetræer)
- http://da.wikipedia.org/wiki/Binært_søgetræ (evt. dansk alternativ)

Grafer:

http://msdn.microsoft.com/en-us/library/ms379574.aspx (grafer)
Gennemgang af datastrukturen graf ift. implementering - YouTube-video
Prims algoritme på graf - minimum spanning tree  - YouTube-video
Prims algoritme: javakode og applet for simulering af algoritme
Kruskals algoritme på graf - minimum spanning tree  - YouTube-video
Kruskals algoritme: javakode og applet for simulering af algoritme
Gennemgang af Dijkstra's "Shoretst Path" algoritme i en graf - YouTube-video
Simulerings af Dijkstra's algoritme

Sproglære:
http://en.wikipedia.org/wiki/Context-free_grammar
 http://en.wikipedia.org/wiki/Parsing#Programming_languages
- vigtigste er: http://en.wikipedia.org/wiki/File:Python_add5_parse.png
http://dotnet.jku.at/applications/Visualizer/ (Syntaks diagrammer)
http://en.wikipedia.org/wiki/Lexical_analysis
http://en.wikipedia.org/wiki/Bottom-up_parsing
http://en.wikipedia.org/wiki/Recursive_descent_parser
http://en.wikipedia.org/wiki/Parse_tree
http://en.wikipedia.org/wiki/State_pattern

Fowler Mønstre: Visitor pattern, State pattern

Bog-referencer:

Core C#

"Core C# and .NET", Stephen C. Perry, Prentice Hall, ISBN: 0-13-147227-5

.Net App ".Net Application Development with C#...", Hanspeter Mössenböck, Addison-Wesley, ISBN 0-321-17349-X
C# Network "C# Network programming", Ricard Blum, Sybex, ISBN 0-7821-4176-5
C# to the point "C# 2 the point", Hanspeter Mössenböck, Addison Wesley, ISBN 0-321-25290-X
AspBeg Beginning ASP.NET 1.1 with Visual C#.NET 2003, af Ullman et al., Wrox
AspProf Professional ASP.NET 1.1, af Homer, Wrox
CompilerC Compiler design in C, Allen I. Holub, Printice-Hall
AOD9006 Alt Om Data  6/90
Fowler "Patterns of Enterprise Application Architecture", Martin Fowler,  Addison-Wesley, ISBN 0-321-12742-0