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

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

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

Uge 05
04/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
11/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
18/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 08
25/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 09
04/mar

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 10
11/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

Mandatory Assignment

Uge 11
18/mar

Reflection -> metadata of objects at run-time                         NOTE at 1 PM you have a course in CV writing
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

Training (extension method) OOP4.3 + OOP4.4

Mandatory Assignment

Synopsis : Formular: https://docs.google.com/forms/d/e/1FAIpQLSc7-wvW5m6TdrKjVz30p03q9gdFc47zUwAPd8gfELKkkX0flQ/viewform

Uge 12
25/mar

Simple Game Framework

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

Slides SOLID.pdf

Training: SOLID.1-3

Mandatory Assignment

Uge 13
01/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

Uge 14
08/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

Uge 15
15/apr

Easter

Easter

Uge 16
22/apr

Presentation (!! ONINE i.e. no classes at school )
Simple Game Framework - See Plan for presentation

Handin Mandatory assignment

Plan for Manadtory Assignement Presentation (link)

Uge 17
27/apr - wednesday

Individual study - Synopsis

Synopsis - Information and Previous

Synopsis Ideas

 

Individual study - Synopsis

Vejlednings-tider

Uge 18
06/may

Individual study - Synopsis        

Individual study - Synopsis

Uge 19
11/may - wednesday

Individual study - Synopsis

Individual study - Synopsis

Uge 20
20/may

Individual study - Synopsis

Individual study - Synopsis

Uge 21
25/may - wednesday

Individual study - Synopsis

Individual study - Synopsis

Uge 22-25
30/may-24/jun

Scheduled Exam: 07-10/june

Exam schedule - See Wiseflow