A practical course about design patterns with c#