DM1402DK - 3. semesterUgeplan for Programmering
|
Sidst ændret: 2015.09.08
Uge 34 - Afklaring og introduktion til 3. sem. programmering | |||
Målsætning for denne uge:
|
|||
Dag | Tidspunkt | Emne | Litteratur / Eksempler/opgaver |
Torsdag | 08:30 - | Introduktion til 3. semester
programmering - om materiale / litteratur / fotokopier mm - forventningsafstemning (herunder 10 ects = 275 arbejdstimer for gennemsnitsstuderende) - praktiske ting om visual studio versioner mm - tilstedeværelse og studiegrupper Opsamling fra 1. år - lille programmeringsopgave/prøve - følger i fronter - aflevering aktiveres når klar. |
fronter struktur |
- om tråde - problemstilling med inkonsistens og behov for synkronisering |
Slides om tråde og synkronisering Trådeksempel4 - trådmetode i egen klasse - flere tråde - join - viser også synk fejl Trådeksempel5_Sync - synkronisering - primitiv uden resource-monitor - fællesdata |
||
- om tråd design og synkronisering samt "sikker" stop |
Den designmæssige gode løsning: Trådeksempel10_TrådOgResourceMonitor - med tråd klasse og resource-monitor - det gode design |
||
EVT:
Producer-Consumer mønsteret (push - pull) * flere producer/consumer til samme ressource - med bounded buffer problem * Guarded suspention |
Trådeksempel_Parkeringshus_wait_notify (korrekt behandling) |
||
12:30 - 14:00 | Opgaveløsning uden
støtte fra underviser
|
Simpel basistræning af - Basis_DatoOpgaver.htm (metoder, selektion, loops mm - en consol aftestning) - Basis_SeachAlgo.htm (loop, lister, algortimer, afvikling af unittest) Basis trådopgaver Design med tråde og synkronisering
-
Basis_ThreadOpgaverTermometer.htm (også simpel model) - Trådopgaver (7-8) - mere kompleks producer/consumer - brug af guarded suspention
- Opgave 10 med øl-sodavand soteringsanlæg - som PDF - mere kompleks trådopgave med producer/consumer
|
|
Fredag | 08:30 - | Opgaveløsning med delvis støtte fra underviser - sammen med den anden danske 3. sem. klasse | Opgaver se torsdag |
12:30 - 14:00 |
Opgaveløsning uden støtte fra underviser |
Supplerende materiale for dem, som måtte ønske mere læsestof om tråde Multithreaded Programming Using C# - CodeProject MSDN -Thread Class -Threading Objects and Features -Thread Pooling -Timer -Monitor -Interlocked -ReaderWriterLock
Mere om tråde i C#: |
Uge 35 Målsætning for denne uge:
|
|||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Torsdag | 08:30 - | Netværksprogrammering med Socket
Eksempel på socket-klient og socket-server Aftestning
af server kan starte med brug af Telnet der også kan køres fra
kommandoprompt |
.Net app(**) kap 4.4
(Socket) - se desuden senere i ugeplanen for yderligere læsestof Slides om socket part 1 (nokn)
Eksempel på simpel socket server og klient Programmer til test af
socketforbindelser: |
Opgaveløsning med
støtte fra underviser - diskuter og sammenlign, samt hjælp hinanden, men sørg for også selv at kode individuelt du forventes at arbejde med socket opgave 1-4 |
Opgaver med socket server og socket-klient | ||
Evt. opsamling og præsentation af
de første opgaver |
|||
12:30 - 14:00 | Opgaveløsning uden
støtte fra underviser - diskuter og sammenlign, samt hjælp hinanden, men sørg for også selv at kode individuelt du forventes at arbejde med socket opgave 1-6 Fredag vil der være støtte noget af tiden - du forventes også her at bruge noget af tiden på socket-programmering. |
Opgaver med socket server og socket-klient |
(*) Core C# and
.NET, Stephen C. Perry - se Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter (***) C# To the point -.., Hanspeter Mössenböck - - se Fronter |
|
Supplerende materiale for dem, som måtte
ønske mere læsestof om socket: An Introduction to Socket Programming in .NET using C# - CodeProject Socket Code Examples (MSDN) Using TCP Services (Socket server og klient - MSDN) How to C# Socket programming (csharp.net-informations.com) Network socket - Wikipedia, the free encyclopedia |
Supplerende materiale for dem, som måtte ønske mere læsestof om tråde Multithreaded Programming Using C# - CodeProject MSDN -Thread Class -Threading Objects and Features -Thread Pooling -Timer -Monitor -Interlocked -ReaderWriterLock |
Uge 36 | |||
Målsætning for denne uge:
Forberedelse: du bedes forud specielt have sat dig ind i materialet om delegater/event, observer og tråde, som i hvert fald delvis skulle være kendt stof fra 1. år Vi vil bruge en del af tiden på at se på og diskutere design - i Socket-projekterne vil du finde slides/pdf beskrivelser som vil være udgangspunktet - du finder også færdigkodede løsninger svarende hertil. |
|||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Torsdag | 08:30 - | Opsamling fra socket server
og klient og evt. gennemgang af opgave 3+4 fra sidste gang (en/flere studerende fremlægger) |
Kodeeksempel på trådet server - opgave 4 løsning |
Opsamling? om delegate/event
og observer - Generelt om delegate, - Observer mønster med delegate / event
|
C# to the point (***) kap 11.1 om
delegater C#(*) kap 3.7 (Delegater) Delegater eksempler ObserverPattern ObserverPattern_CascadeEvent Ekstra læsestof fra wikipedia
(publish/subscribe): |
||
Opsamling? om tråde og
synkronisering
|
Core C# (*) kap 13.1
(Thread intro) .Net app(**) kap 4.3.1-4.3.3 (Thread) Slides om tråde og synkronisering ObserverPattern_Tråde_og_Gui_Winform_og_WPF (Ny erstatning) Tråde-og-GUI (Det centrale - tricket i ovenstående) |
||
Designovervejelser - de første spæde forsøg på yderligere forbedringer af behandling af klient (på serversiden) - adskillelse af kommunikation og forretningslogik |
SocketEchoComandBased (eksempler med opdeling i kommunikation og
behandling) Indeholder tekstfil med indholdsbeskrivelse og PowerPoint Medtages: - SocketServerCmdBasedStatic - SocketServerCmdConnected - SocketServerCmdDisconnected_V01 |
||
- Proxy mønsteret (samme grænseflade på server og klient) |
Slides om Proxy mønster Eksempel på brug af proxy-mønster til echoservice'en fra tidligere Indgår også i næste eksempel |
||
- Design med windows og console
klient - Design med fortsættelse af kommunikation uden
blokeret tråd på server (brug af session) |
SocketEchoComandBased (eksempler med opdeling i
kommunikation og behandling) Indeholder tekstfil med indholdsbeskrivelse og PowerPoint Medtages - SocketClientMedRemoteFasade_ConsolApplikation - SocketClientMedRemoteFasade_WindowsApplication - SocketServerCmdSessionOnOff |
||
Socket-chatserver design: Broadcasting - push / observer |
Eksempel på design-muligheder: Chat server design i trin mod observer-mønster |
||
12:30 - 14:00 | Opgaveløsning uden
støtte fra underviser |
(*) Core C# and
.NET, Stephen C. Perry - se Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter (***) C# To the point -.., Hanspeter Mössenböck - - se Fronter |
|
Supplerende materiale for dem, som måtte
ønske mere læsestof om socket: An Introduction to Socket Programming in .NET using C# - CodeProject Socket Code Examples (MSDN) Using TCP Services (Socket server og klient - MSDN) How to C# Socket programming (csharp.net-informations.com) Network socket - Wikipedia, the free encyclopedia |
Supplerende materiale for dem, som måtte ønske mere læsestof om tråde Multithreaded Programming Using C# - CodeProject MSDN -Thread Class -Threading Objects and Features -Thread Pooling -Timer -Monitor -Interlocked -ReaderWriterLock |
Uge 37 | |||
Målsætning for denne uge:
Forberedelse: du bedes
forud have gjort dig helt klart på hvad du måtte mangle af viden
omkring tråde i forhold til behov i projekt 1. |
|||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Torsdag | 08:30 - | Trådmønstre / design skabeloner - trådmetode - fælles resource - producer-consumer - observer (event)
|
Slides om tråde og synkronisering (vi ser på lock og
producer-consumer)
Synkronisering/låsning - design
med resource-monitor og trådmetode objekt
Simpel producer-consumer eksempel |
Simpel klient der både kan sende og
modtage parallelt (flertrådet) - evt. kodning af simpel chat-klient |
Program der kan bruges som
test-server, så klient dialog kan testes Program til test af tekst kommunikation over socket Vi vil nok tage afsæt i dele fra dette eksempel (dog uden proxy interface) Eksempel på brug af proxy-mønster til echoservice'en fra tidligere |
||
12:30 - 14:00 | Opgaveløsning uden
støtte fra underviser |
(*) Core C# and .NET,
Stephen C. Perry - se Fronter (**) .Net Application Development with C#..., Hanspeter Mössenböck - se Fronter (***) C# To the point -.., Hanspeter Mössenböck - - se Fronter |
|
Supplerende materiale for dem, som måtte ønske mere læsestof om socket: An Introduction to Socket Programming in .NET using C# - CodeProject Socket Code Examples (MSDN) Using TCP Services (Socket server og klient - MSDN) How to C# Socket programming (csharp.net-informations.com) Network socket - Wikipedia, the free encyclopedia |
Supplerende materiale for dem, som måtte ønske mere læsestof om tråde Multithreaded Programming Using C# - CodeProject MSDN -Thread Class -Threading Objects and Features -Thread Pooling -Timer -Monitor -Interlocked -ReaderWriterLock |
Uge 38 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Torsdag | 08:30 - - 12:00 | Projektarbejde - socketprojekt (vejledning - bjbu) | Se fronter |
12:00 - | Projektarbejde |