Module Descriptors
CONCURRENT PROGRAMMING IN C# (EPITA)
COSE50643
Key Facts
School of Digital, Technologies and Arts
Level 5
15 credits
Contact
Leader: Robert Hobbs
Hours of Study
Scheduled Learning and Teaching Activities: 36
Independent Study Hours: 114
Total Learning Hours: 150
Assessment
  • COURSEWORK weighted at 100%
Module Details
Module Additional Assessment Details
Coursework (100%) assessing Learning Outcomes 1, 2 and 3

The assignment is a concurrent system simulation eg an Airport comprising between 1000-1200 lines of documented C# code.
After the first quarter of the module, students are helped/directed with their design but not numerically assessed. The programming assignment is undertaken during the second half of the module with some of the timetabled practical hours being available during that period for the assignment. After handing in, the code and its embedded documentation will be formally assessed and is worth up to 100%.




Module Indicative Content
Overview - .NET framework, FCL structure, CLR, CIL, namespaces
Programming Concepts - Parameter passing modes, C# classes, modifiers, leightweight classes, enumerated types, get and set properties, generics
Concurrency technology - C# threads, delegates, events, event handlers. Synchronisation primitives: mutex, monitor, send/receive mechanisms.
Graphics technology - C# Forms, Visual Studio. GDI+
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-safe concurrent GUIs.
Module Learning Strategies
The normal delivery pattern will be (1:n)1 (1:20)2.

The following learning strategies will be applied:
- Keynote lectures introducing the main points for the topics covered
- Student-centred practicals to develop and underpin the main topics
- Web-based online documentation
- Studio-based online documentation
- Formative exercises
Students will also be encouraged to develop their intellectual, analytical, problem solving and application skills.
Module Special Admissions Requirements
None
Module Resources
Students will be provided with a Module Handbook including the descriptor, schedule of delivery and additional reference material to support student-centred study.
Additional case study material and practical workbooks will be provided as and when and appropriate to the schedule.
All lecture notes will be available throughout the running of the course
Access to a PC with both Console Window and Studio versions of C# platform.
Module Texts
C# for Programmers, 2nd Edition, Deitel, Deitel (2006), Prentice-Hall, ISBN: 0-13-134591-5
C# 5.0 in a Nutshell 5th Edition, Albahari and Albahari, (2012) O'Reilly Media, ISBN: 978-1449320102
Principles of Concurrent and Distributed Programming, 2nd Edition, Ben-Ari (2005), Addison Wesley, ISBN:978-0321312839