Module Descriptors
CONCURRENT NETWORK APPLICATIONS
COSE50647
Key Facts
School of Digital, Technologies and Arts
Level 5
15 credits
Contact
Leader: Davin Ward
Hours of Study
Scheduled Learning and Teaching Activities: 36
Independent Study Hours: 114
Total Learning Hours: 150
Pattern of Delivery
  • Occurrence A, Stafford Campus, UG Semester 1
  • Occurrence A, Stoke Campus, UG Semester 1
  • Occurrence A1, Stafford Campus, UG Semester 1
  • Occurrence B, Gulf College, Muscat, Oman, UG Semester 1
  • Occurrence B, APIIT LANKA (PVT) LTD - Colombo, UG Semester 3
  • Occurrence C, Global Institute of Software Technology (GIST), UG Semester 1
  • Occurrence D, Ghana Technology University College, UG Semester 2
  • Occurrence E, APIIT LANKA (PVT) LTD - Colombo, UG Semester 2 to UG Semester 3
  • Occurrence E, APIIT LANKA (PVT) LTD - Colombo, UG Semester 3
  • Occurrence F, APIIT LANKA (PVT) LTD - Colombo, UG Semester 1 to UG Semester 2
  • Occurrence F, APIIT LANKA (PVT) LTD - Colombo, UG Semester 2
  • Occurrence G, APIIT LANKA (PVT) LTD - Colombo, UG Semester 1
  • Occurrence G, APIIT LANKA (PVT) LTD - Colombo, UG Semester 2
  • Occurrence GH, Ghana Technology University College, Z1~1
  • Occurrence H, APIIT LANKA (PVT) LTD - Colombo, UG Semester 3
  • Occurrence Z9, Global Institute of Software Technology (GIST), Z1~1
  • Occurrence Z9, Global Institute of Software Technology (GIST), Z2~R DO NOT USE
Sites
  • Global Institute of Software Technology (GIST)
  • APIIT LANKA (PVT) LTD - Colombo
  • Gulf College, Muscat, Oman
  • Stafford Campus
  • Stoke Campus
  • Ghana Technology University College
Assessment
  • ASSIGNMENT weighted at 100%
Module Details
Texts
C# 5.0 in a Nutshell: The Definitive Reference 5th ed., Albahari, J. and Albahari, B. (2012) O'Reilly Media, ISBN: 978-1449320102
Principles of Concurrent and Distributed Programming: Algorithms and Models 2nd ed., Ben-Ari, M. (2006) Addison-Wesley, ISBN: 978-0321312839
Concurrency: State models & Java programming, Magee, J. and Kramer, J. (2006) Wrox, ISBN: 978-0470093559

Learning Strategies
18 lectures presenting key topics and concepts.
18 supervised practical sessions for the completion of formative exercises.
Normally 2 hours lecture and 1 hour practical per week for the first six weeks, following by 1 hour lecture and 2 hours practical per week.
Additional Assessment Details
ASSIGNMENT Weighting 100%; Design and implement using concurrency mechanisms a multi-user, multi-tier client-server application that is distributed over a network, and write a report (1000 words) documenting the solution and explaining the selection of the concurrency mechanisms used. (Learning outcomes 1 and 2)
Indicative Content
Multithreading in programming
Synchronisation primitives: mutex, monitor, send/receive mechanisms
Concurrency concepts: Concurrency types; Round Robin Scheduler; Priority; Processes v Threads; Synchronisation; Asynchronicity; Mutual exclusion; Indivisibility; Advantages of concurrency; Standard safety issues, liveness, starvation, race-condition
Classical problems e.g. Semaphore, Producer/Consumer
Thread-safety
Programmatic communication over a network (i.e. socket programming)
Multi-user, multi-tier client-server applications
Security issues
Resources
Suitable IDE for C# development such as Visual Studio
Special Admissions Requirements
Prior study of COSE40577 Introduction to Software Development or equivalent.
Web Descriptor
Using C# .NET students will create networked application using sockets and multi-threading.