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#Exercises 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#Exercises OOP.4.4

MyOwnJsonConverter

C#Exercises OOP.4.3

Uge 10
03/3

SOLID
C#Note Solid pp.1-48

Quality factors ISO 25010

C#Note SOLID.1-SOLID.4

 

Uge 11
10/3

SOLID
C#Note Solid pp.1-48

Quality factors ISO 25010
Slides SOLID

C#Exercises SOLID.1-SOLID.4

Uge 12
17/3

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

Warm up straight Linq
C#Exercises PRO.3.7 - PRO.3.8
Advanced LINQ
C#Exercises PRO.3.10 - PRO.3.14
Operator Overload
C#Exercises OOP.4.1, OOP.4.2, OOP.4.5

Mandatory Assignment

Uge 13
24/3

Framework for Simple games

C#Note Design Patterns – Creational Patterns, Structural Patterns, Behavioral Patterns OOProg3 pp.18-58
C# Site om Design Patterns: https://www.dofactory.com/net/design-patterns


Note video meeting of internship for the comming semester in english at 2 PM.

C#Exercises OOP3.1, OOP3.2, OOP3.3, OOP3.7, OOP3.9

C#Exercises OOP3.4, OOP3.5, OOP3.6, OOP3.8
Pizza with design Patterns

Uge 14
31/3

Framework for Simple games
Working with mandatory assignment - including supervision and help

Remember to hand in expected idea and or issues you will work with during the synopsis
You need to fill out a formular before the end of 1st april with expected elective and expected issues - PLEASE :-)

Ideas for Synopsis i this course

 

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                   Description     |   examples of previous synopses

Ideas for Synopsis

Individual study - Synopsis

Time schedule for supervision

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

HANDIN in wiseflow before 29. maj 2020 11:00

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")