Week |
Dates |
Topics |
Readings |
Exercises |
35 |
25.08 - 29.08 |
- Introduction to the course
- ReSharper
- Unit testing
- Exceptions
|
|
- Make sure you have a new version of Microsoft Visual Studio (version 2012 or 2013).
- Install ReSharper (a plug-in for Visual Studio).
An installation key can be found in Fronter
- Unit Test Generator (a plug-in for Visual Studio)
- Unit testing, getting started (again) | Solution
|
36 |
01.09 - 05.09 |
- Exceptions (continued)
- Contract based programming
- Code Contracts
- Concurrency: Threads (getting started)
|
|
- Parameter checking, test first | Solution
- Boundary values testing | Solution
- Library, with homemade exception | Solution
- Code contracts: Book | Solution
- Extra: Other unit testing frameworks
- Extra: LayeredLibrary needs more features
|
37 |
08.09 - 12.09 |
- Concurrency: Threads
- Concurrency:
- Parallel architectures: Task + data parallelism (starting)
|
|
- First thread (again?) | Solution
- Adding threads to an existing program | Solution
- Producer-Consumer | solution
|
38 |
15.09 - 19.09
|
- Parallel architectures: Task + data parallelism (continue)
- Logging
- Trial exam
|
|
- In the exercise Adding threads ... (Find Smallest) make sure you did the "Use Task with Result" part
- In the exercise Adding threads ... use Parallel.For(...) to start the tasks.
- In the exercise Adding threads ... use Parallel.ForEach(...) to start the tasks.
- In the Producer-Consumer exercise start Producer, Consumer etc. using Parallel.Invoke(...)
- Partitioner: Find smallest
|
39 |
22.09 - 19.09 |
- Program documentation
- Profiling
- Thursday: No programming lessons
|
|
- Add logging to one (or more) of your previous exercises like Producer-Consumer.
- Download and install Doxygen
- Document some of your previons projects and try to extract documentation using Doxygen
|
40 |
29.09 - 03.10 |
|
- Program your own HTTP server.
- A very simple version (empty + test class) can be forked from GitHub https://github.com/RO133050dc3i/httpserver
- Your final group solution to the HTTP server must pushed to GitHub no later than Friday 3 October at 15:00.
|
|
41 |
06.10 - 10.10 |
- Data structures for concurrency
- Mid-term evaluation
- Tuesday + Friday: No programming lessons
|
- Data structures for concurrency
|
|
42 |
13.10 - 17.10 |
|
|
|
43 |
20.10 - 24.10 |
|
|
|
44 |
27.10 - 31.10 |
- Architecture project, continued
|
|
|
45 |
03.11 - 07.11 |
- Generics
- Interfaces
- Responsiveness: async + await
- Types in programming languages
- Friday: Presentation of password cracking results
|
|
|
46 |
10.11 - 14.11 |
- Collections: Algorithms and data structures
|
|
|
47 |
17.11 - 21.11
|
- Refererence types and value types: struct + enum
- Delegates
- Lambda expressions
- Events
- Trial exam
|
|
|
48 |
24.11 - 28.11 |
- LINQ + Anonymous types
- Extension methods
- PLINQ
- Trial exam
|
|
|
49 |
01.12 - 06.12 |
- Design patterns
- Trial exam
|
|
|
50 |
08.12 - 12.12 |
- Refactoring
- More refactoring examples
|
|
No new exercises.
You have already done some refactorings in previous exercises
- Adding Threads to an existing program
- Producer-Consumer
- MultiValueDictionary: Strategy + Template method
|
51 |
15.12 - 19.12 |
- SOLID designDependency injection
- The Repository pattern
- Going through selected exercises
- Trial exam
|
|
|
|
|
|
|
|
52 - 1 |
22.12 - 02.01 |
|
- Read the curriculums: Computer network + programming
|
|
january |
Tuesday 13.01 |
|
|
|
january |
14.01 - 16.01 |
|
|
|
january |
21.01 - 22.01 |
|
|
|
5 |
26.01 |
|
- Monday: Next semester starts (I guess)
|
|