Zealand  => Peter Levinsky  => Advanced Software Construction - 4.sem   => Semester plan 
Semester Plan
Advanced Software Construction 4.semester
Updated :  2020-01-27

Preliminary plan for ''Elective: Advanced Software Construction" 4th semester spring 2020
changes can occur

WeekNo
Date
Literature/reading
Bold : Need to read, Italic : Read light, Italic-green: Additional-reading
Exercises
 
Solutions https://github.com/rf18da2v4-a1
Uge 06
04/2

Introduction to this elective
Design Patterns - template -- C#Note chap OOProg3 p.1-17 + 43-47
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: XML
 

MakeAnAbstractTCPServer-part1
MakeAnAbstractTCPServer-part2

Uge 07
11/2

Parallelism / synchronous mechanism
Moodle - Note -> Interprocess Communication   
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

C#Note Prog.4.1-Prog.4.4

Brewery

Uge 08
18/2

More synchronous mechanism / State machine
Theory: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-01sc-introduction-to-electrical-engineering-and-computer-science-i-spring-2011/unit-1-software-engineering/state-machines/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

State-machines-snake

Uge 09
25/2

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

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

C#Note OOP.4.4

MyOwnJsonConverter

C#Note OOP.4.3

Uge 10
03/3

SOLID

 

Uge 11
10/3

Framework for Simple games
Classes, interfaces, abstract, static, Overload/overwrite + Operator overload

Mandatory Assignment

Uge 12
17/3

Framework for Simple games
More design patterns - Strategi, Composite, .

 

Uge 13
24/3

Framework for Simple games
Iterations, LINQ

 

Uge 14
31/3

Framework for Simple games
Comming ...

 

Uge 15
07/4
Easter Easter
Uge 16
14/4 *)

No Lessons

 

Uge 17
21/4

Framework for Simple games
Comming ...

Handin Mandatory Assignment

Uge 18
28/4

Individual study - Synopsis

Individual study - Synopsis

Uge 19
05/5 **)

Individual study - Synopsis

Individual study - Synopsis

Uge 20
12/5

Individual study - Synopsis

Individual study - Synopsis

Uge 21
29/5 ***)

Individual study - Synopsis

Individual study - Synopsis

Uge 22
26/5

Individual study - Synopsis

Individual study - Synopsis

Uge 23-26
01/6-26/6 ****)

Exam: 09-11/june

Exam schedule - See Wiseflow

Public holidays:

*)     Monday free -- 2nd Easterday
**)   Friday free -- kind of all saints day (dk-"store bededag")
***) Thursday and Friday free -- Ascension Day (dk- "kr. himmelfartsdag")
****) Monday free -- White Monday (dk - "Pinsedag")