Zealand  => Peter Levinsky  => Advanced Software Construction - 4.sem   => Semester plan 
Updated :  2025-01-31

Preliminary
plan for "Elective: Advanced Software Construction" 4th semester spring 2025

changes will occur

WeekNo
Date
Literature/reading
Bold : Need to read, Italic : Read light, Italic-green: Additional-reading
Exercises
 
Solutions
https://github.com/orgs/DAT-RO-F-S23V-ASWC/repositories

week 06
07/feb

Introduction to this elective
Design Patterns - template -- C#Note chap OOProg3 p.1-17 + 43-47

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: ServerFramework1.pdf & ServerFramework2.pdf

MakeAnAbstractTCPServer-part1

MakeAnAbstractTCPServer-part2


week 07
14/feb

Configuration-files & 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
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 & ServerFramework4.pdf

MoreAbstractServer part3

MoreAbstractServer part4

week 08
21/feb

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

week 09
28/feb

Parallelism / synchronous mechanism
Note i Moodle - 'Meterials, notes, etc' -> Interprocess Communication   - læs let
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#1.pdf | Concurrency#2.pdf

Prog 4.1-4.2 + Prog 4.4

Bounded Buffer

Extra:
Brewery simulation

week 10
07mar

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

MyOwnJsonConvert

Training OOP4.4


week 11
14/mar

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
Wiki: https://en.wikipedia.org/wiki/Finite-state_machine
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
Finite State Machines: https://fabioutzig.com/posts/table-driven-state-machines/
More State Machine: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.2987&rep=rep1&type=pdf

Slides: StateMachine.pdf

State-machines-snake


Mandatory Assignment

week 12
21/mar

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

Algoritmer.pdf

 

 

Mandatory Assignment- stadig den samme

week 13
28/mar

Simple Game Framework

SOLID -- C#Note Solid pp.1-48
Quality factors ISO 25010

Slides SOLID.pdf

Training: SOLID.1-3

Mandatory Assignment- stadig den samme

week 14
04/apr

Simple Game Framework

More deisgn Patterns -- C# Note: OOProg3 pp.18-58
C# Site om Design Patterns: https://www.dofactory.com/net/design-patterns

Slides: DesignPattern.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

week 15
11/apr

Simple Game Framework
Iterations, Linq -- C# Note: Prog03, s.30-48
Classes, interfaces, abstract, static, Overload/overwrite + Operator overload
-- C# Note: OOProg04, s.3-17

Slides: LinqOperator.pdf

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
Vink til løsning af den obligatoriske opgave

week 16
18/apr

 

Easter

 

Easter

week 17
25/apr

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)

Handin Mandatory assignment

Ideas to The Synopsis | Former topics of Synopsises
Synopsis description  | Synopsis examples

Formular til Synopsis

week 18
02/may

Individual study - Synopsis

Individual study - Synopsis -- Vejledningstider

week 19
06-07/may

Individual study - Synopsis        

Individual study - Synopsis

week 20
16/may

Individual study - Synopsis

Individual study - Synopsis

week 21
23/may

Individual study - Synopsis

Individual study - Synopsis

week 22
26/may

Individual study - Synopsis

Individual study - Synopsis

week 23-27
02/jun-30/jun

Scheduled Exam:??? /june comming

Exam schedule - See Wiseflow