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

Preliminary plan for "Elective: Advanced Software Construction" 4th semester spring 2021
changes will occur

WeekNo
Date
Literature/reading
Bold : Need to read, Italic : Read light, Italic-green: Additional-reading
Exercises
 
Solutions https://github.com/RO21F-VF-ASWC

Uge 05
02/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

MakeAnAbstractTCPServer-part1

Uge 06
09/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: ServerFramework2.pdf


MakeAnAbstractTCPServer-part2

Uge 07
16/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

 

Uge 08
23/feb

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

Slides: Concurrency.pdf

Prog 4.1-4.4

Brewery simulation

Uge 09
02/mar

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

Slides: StateMachine.pdf

 

State-machines-snake

Uge 10
09/mar

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

Slides: Reflection.pdf

MyOwnJsonConvert

OOP4.3 + OOP4.4

Obligatorisk Opgave

Uge 11
16/mar

Simple Game Framework

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

Slides SOLID.pdf

SOLID.1-3

SOLID.4

Obligatorisk opgave

Uge 12
23/mar

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

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

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

Obligatorisk opgave

Uge 13
30/mar

Easter

Easter

Uge 14
06/apr

Simple Game Framework

Classes, interfaces, abstract, static, Overload/overwrite + Operator overload
-- C# Note: OOProg04, s.3-17

Slides Operator.pdf

C#Exercises OOP 4.1, OOP 4.2

C#Exercises OOP4.5

Obligatorisk opgave

Uge 15
13/apr

Simple Game Framework
Iterations, Linq -- C# Note: Prog03, s.30-48

Slides Linq.pdf

C#Exercises PRO 3.4 + PRO 3.7

Obligatorisk opgave

Uge 16
20/apr

Presentation
Simple Game Framework - See Plan for presentation

Handin Mandatory assignment

Plan for Manadtory Assignement Presentation (link)

Uge 17
27/apr

Individual study - Synopsis

Synopsis - Information and Previous

Synopsis Ideas

 

Individual study - Synopsis

Uge 18
04/may

Individual study - Synopsis        

Individual study - Synopsis

Uge 19
11/may

Individual study - Synopsis

Individual study - Synopsis

Uge 20
18/may

Individual study - Synopsis

Individual study - Synopsis

Uge 21
25/may

Individual study - Synopsis

Individual study - Synopsis

Uge 22-25
31/may-25/jun

Scheduled Exam: 07-10/june

Exam schedule - See Wiseflow