Roskilde Handelsskole=> Peter Levinsky   => SODP =>Semester
MODULE PLAN
Updated : 2015-01-26

Provisional plan for 'Software Architectures and Distributed Programmes' spring 2015

Requirements: Microsoft Visual Studio 2013, Resharper

Information: General information of this course

Study Goals from study curriculum: Course goals and the whole study curriculum

Literature: notes + Literature from 1st year:

MSVC#: Microsoft Visual C# 2013 - Step by step, John Sharp, O'Reilly 2013, ISBN: 978-0-7356-8183-5
DS: Database Solutions - A step-by-step guide to building databases 2Ed , Thomas Connolly & Carolyn Begg, Pearson Education
C#-note: Note by Per Laursen

1st year curriculum: http://laerer.rhs.dk/henrikh/SWC2-2014e/Curriculum.html
3rd semester curriculum: ... coming end of May

WeekNo
Date
Remarks and issues Literature
Exercise
week 05
26/1
Introduction
Resharper
  1. Make sure you have a new version of Microsoft Visual Studio ( 2013).

  2. Install ReSharper (a plug-in for Visual Studio). An installation key can be found in Fronter

  3. Brush up exercise
week 06
2/2

Testing

  1. Concepts
  2. Constraint-class



  3. Unit Test Generator (a plug-in for Visual Studio)
  4. Unit testing, getting started (again)
  5. Parameter checking, test first
  6. Boundary values testing
  7. Library, with homemade exception
  8. Code contracts: Book
  9. Extra: Other unit testing frameworks
week 07
9/2

Testing

EXTRA:

  1. Extra: Unit testing, getting started (again)
  2. Extra: Boundary values testing
  3. Extra Code contracts: Book
  4. Extra: Other unit testing frameworks

 

  1. Unit Test Generator (a plug-in for Visual Studio)
  2. Parameter checking, test first
  3. Testing with exception
week 08
16/2

Exception
contract based programming

EXTRA:

week 09
23/2

Concurrency

week 10
2/3

Delegates

 

Extra:

 

SimpelDelegates

AdvancedDelegates

 

MoreThreadsAndTasks

week 11
9/3

HTTP-Server

HTTP-Server Combine exercise with CODS
Code your own web-server
   | a partlySolution
week 12
16/3

Monday HTTP-server

Tracing/Logging, Refactoring

Parallel

 

Tracing & Logging:
MSDN: Tracing(C# programming guide)

Parallelism
MSDN: Task Parallel Library (TPL)         ( slides )

Trace Exercise

 

Parallel (more af threads and tasks)

week 13
23/3

Synchronism

Program documentation (Version control (GIT))

Responsiveness

Synchronization
Classical problems

Joseph Albahari Threading in C#, part 2

  • Synchronization: Threads + monitors (slides)
  • Example: ThreadBank
  • Blocking Collections (slides)
  •  

    Producer-Consumer

    Producer - consumer 2 (Blocking Collection)

    Some Concepts (delegates,multithreading,tracing)

    week 14
    30/3
    EASTER HOLIDAY EASTER HOLIDAY EASTER HOLIDAY
    week 15
    6/4
    Architecture Project

    Architecture Project

    Two Architectural Design Pattern (Pattern oriented Software Architecture, Buschmann et.al)

     

     

     

     

    Combine exercise with SYM,Cods

    Password cracking

    week 16
    13/4
    Architecture Project Architecture Project

    Combine exercise with SYM,Cods

    Password cracking

    week 17
    20/4
    No Programming lessons - Revised schedule! No Programming lessons -
    week 18
    27/4

    Datastructures
    Collections
    Generics
    algorithms

    Generics (slides)
    MSDN Generics (C# Programming Guide)

  • Examples: GenericsUsing | GenericConstraints
  • Collections (slides)

    week 19
    4/5

    More collections
    Algorithms
    (Delegates) + Lambda

    Collections (slides)

    Algorithm

    Deitel&deitel chap :

    Lambda

     

    week 20
    11/5

    Design Patterns

    Larman chap 26

    codeproject.com Design patterns (Slides)

    week 21
    18/5
    Design Patterns

    Larman chap 26
    codeproject.com Design patterns

    week 22
    25/5

    Linq
    extension methods

    PLinq

    MS Visual C#: Chap. 21 (p. 485-497)

    Examples: linqFirstTry | LinqToSqlNorthwind | LinqToXmlTrying

    MSDN 

    MSDN: 101 LINQ Sample

    PLinq     (Slides Linq, PLinq- in the end)

     

    Trial2 - Make multithreaded solution using Plinq Query AND expression

    week 23
    1/6
    Rehearsal Delegates + design pattern
    week 24-26
    8/6-29/1
    Exam: Provisional date

    Curriculum for the exam

    Exam schedule

    1st day on 4th semster
    XX/august