Zealand  => Peter Levinsky  => Advanced Software Construction - 4.sem   => Semester plan 
Updated :  2024-08-26

Foreløbig plan for
"Valgfag: Advanced Software Construction" 4. semester efterår 2024

Ændringer vil forekomme

Uge nummer
Dato
Litteratur
Bold/alm : læses, Italic : læses let, Italic-green: ekstra læsning
Exercises / Solutions

https://github.com/orgs/RO24E-VF-ASWC/repositories

Uge 35
26+29/aug

mandag
Introduction to this elective
Design Patterns - template -- C#Note chap OOProg3 p.3-4 + 43-47

Slides: ServerFramework1.pdf

torsdag
Comments of code -- Corey's Tutorial: How to Comment & Document Your Code (video)
 Insert XML Comments https://docs.microsoft.com/en-us/dotnet/csharp/codedoc
 Download Doxygen

 How to use doxygen : http://www.doxygen.nl/manual/starting.html

Slides: ServerFramework2.pdf

MakeAnAbstractTCPServer-part1





MakeAnAbstractTCPServer-part2

Uge 36
2+5/sep

mandag
Configuration-files
XML -- https://www.w3schools.com/xml/default.asp
XML schema XSD -- https://www.w3schools.com/xml/xml_schema.asp
Read XML file in C# -- https://support.microsoft.com/da-dk/help/307548/how-to-read-xml-from-a-file-by-using-visual-c | https://www.c-sharpcorner.com/UploadFile/167ad2/read-xml-file-using-xml-reader-in-C-Sharp/

Slides: ServerFramework3.pdf

torsdag
Logging functions
Microsoft logging and debugging: https://docs.microsoft.com/en-us/dotnet/core/diagnostics/logging-tracing
Using TraceListeners: https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/trace-listeners

Slides: ServerFramework4.pdf

MakeAnAbstractTCPServer-part3








MakeAnAbstractTCPServer-part14

Uge 37
12/sep

mandag
ingen timer i dette valgfag

torsdag

Parallelism +  synchronous mechanism

C#Note Prog04 pp.1-21

Threads in C# :
Basic: http://www.albahari.com/threading/
Basic sync: http://www.albahari.com/threading/part2.aspx
Using thread: http://www.albahari.com/threading/part3.aspx
Advanced Threading: http://www.albahari.com/threading/part4.aspx
Parallel: http://www.albahari.com/threading/part5.aspx

Slides: Concurrency-Tasks.pdf

Prog 4.1-4.2
Bounded Buffer



Uge 38
16+19/sep

mandag
Afslut concurrency
Note i Moodle - 'Meterials, notes, etc' -> Interprocess Communication   - læs let

Slides: Concurrency-synchronous.pdf

torsdag
Start State machine
Wiki: https://en.wikipedia.org/wiki/Finite-state_machine

Theory: https://ocw.mit.edu/courses/6-01sc-introduction-to-electrical-engineering-and-computer-science-i-spring-2011/6d24bc51571a1a945a63ffa8343a5b55_MIT6_01SCS11_chap04.pdf p.117-123
Fun intruduction: https://www.c-sharpcorner.com/article/understanding-state-design-pattern-by-implementing-finite-state/
State Pattern: https://www.dofactory.com/net/state-design-pattern

Slides: StateMachine.pdf


 

Brewery simulation

 

 

 

Simple State Machine

Uge 39
23/sep

mandag
Regular expressions

Overall view Wikipeia: https://en.wikipedia.org/wiki/Regular_expression
Nice presentation (though not C#) https://cs.lmu.edu/~ray/notes/regex/
Microsoft - regular expressions: https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expressions
C# How to use: https://www.c-sharpcorner.com/article/c-sharp-regex-examples/
Interactive tutorial: https://regexone.com/

Slides: RegularExpressions.pdf

 

 

 

Regular expression #1

Regular expression #2

 


Uge 40
30/sep+3/okt

mandag
Reflection -> metadata of objects at run-time 
C#Note OOProg04 pp.23-28

MS references:
Object.GetType: https://docs.microsoft.com/en-us/dotnet/api/system.object.gettype?view=netcore-3.0
Type.GetType: https://docs.microsoft.com/en-us/dotnet/api/system.type.gettype?view=netcore-3.0
Reflection: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/reflection
C# Reflection Examples: https://www.dotnetperls.com/reflection

Slides: Reflection.pdf

torsdag
Fortsat Reflection -> metadata of objects at run-time 

JSON specification: https://www.json.org/json-en.html

Training OOP4.4 - se i chap oo-programminng 04
MyOwnJsonConvert


Mandatory Assignment

Uge 41
7+10/okt

mandag
Simple Game Framework (mandatory assignment)
SOLID -- C#Note Solid pp.1-26 + 42-48
Quality factors ISO 25010

Slides SOLID-part1.pdf

torsdag
  SOLID -- C#Note Solid pp.27-41

Slides SOLID-part2.pdf

Training: SOLID.1-3 - fra noten om SOLID

Mandatory Assignment- stadig den samme

Uge 42
-/okt

             Efterårsferie

    Efterårsferie

Uge 43
21+24/okt

mandag
Simple Game Framework (mandatory assignment)
Classes, interfaces, abstract, static -- C# Note: OOProg02 pp.4-14, OOProg01 pp.34,35
Deisgn Patterns -- C# Note: OOProg3 pp.18-36
C# Site om Design Patterns: https://www.dofactory.com/net/design-patterns

Slides: DesignPattern-part1.pdf

torsdag
  Deisgn Patterns -- C# Note: OOProg3 pp.43-58
C# Site om Design Patterns: https://www.dofactory.com/net/design-patterns
Strategy Design Pattern: https://www.dofactory.com/net/strategy-design-pattern

Slides: DesignPattern-part2.pdf

Training: C# Exercises OOP 3.1, OOP 3.2, OOP 3.3, OOP 3.7, OOP 3.9

Training C# Exercises OOP3.4, OOP3.5, OOP3.6, OOP3.8

Mandatory Assignment- stadig den samme

Uge 44
28+31/okt

mandag
Simple Game Framework (mandatory assignment)
Iterations, Linq -- C# Note: Prog03, s.30-48 (let Prog03, s.17-29)

Slides: LinqOperator.pdf

torsdag
  , Overload/overwrite + Operator overload -- C# Note: OOProg04, s.3-22

Training C# Exercises PRO 3.4 + PRO 3.7
Training C# Exercises OOP 4.1, OOP 4.2
Training C# Exercises OOP4.5

Mandatory Assignment - stadig den samme

Uge 45
3+7+8/nov

mandag
opgave

torsdag
  Buffer

fredag
Presentation
Simple Game Framework - See Plan for presentation
It will be online (zoom - see link provided on the day i moodle and on the plan)

Mandatory Assignment- stadig den samme

 



Handin Mandatory assignment

Uge 46
11-14/nov

mandag
Path Algorithm & (Simple Game Framework)
LET - Wiki Pathfinding: Pathfinding - Wikipedia
LET - Wiki OSPF: Dijkstra's algorithm - Wikipedia
LET - Wiki A* : A* search algorithm - Wikipedia

OSPF - Computer Network (3sem bog) kap 5.2 (se Moodle)
A-star Understanding A* Path Algorithms and Implementation with Python | by Adem Akdogan | Towards Data Science

Pathfinding Algorithms- Top 5 Most Powerful (graphable.ai)

Slides: grafer.pdf
Animation: binær træ: Binary Search Tree Visualization (usfca.edu) og balanceret binær træ: Balancing a binary search tree · Applied Go

torsdag
  Buffer (mere grafer)

Ekstra opgave -- Kun hvis du har tid -- Ekstra-Algoritmer.pdf

Ideer til Synopsis | Tidligere Synopser
Synopsis beskrivelse | Synopsis eksempler

Formular til Synopsis

Uge 47
18+21/nov

Individual study - Synopsis

No supersision

Individuel studier - Synopsis

Vejledningstider

Uge 48
25+28/nov

Individuel studier - Synopsis        

Individuel studier - Synopsis

Uge 49
2+5/dec

Individuel studier - Synopsis

Individuel studier - Synopsis

Uge 50
9+12/dec

Individuel studier - Synopsis

Individual study - Synopsis

Uge 51
16+18/dec

Individuel studier - Synopsis

Individuel studier - Synopsis - aflevering kl 12 fredag d. 20/dec

Uge 52-04
23/dec-24/jan

foreløbige datoer (kommer..)

Eksamensrækkefølge - Se Wiseflow