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.
However, for other non-traditional delivery such as the Fast-track MEng which will be delivered over the summer, the pattern will be (1:n)2 (1:20)4 for a 6 week period. This is exactly the same number of hours, although the timescale for delivery is reduced.
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 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 Special Admissions Requirements
Prior study of CE00312-1 Introduction to C Programming or equivalent.
Module Texts
C# for Programmers, 2nd Edition, Deitel, Deitel (2006), Prentice-Hall, ISBN: 0-13-134591-5
The C# Programming Language, Heilsberg, Wilamuth, Golde (2003), Addison-Wesley, ISBN: 0-321-15491-6
.NET Compact Framework Programming with C#, Yao, Durrant (2003) Addison-Wesley, ISBN: 0-13-032584-8
C# in a Nutshell 2nd Edition, Drayton, Albahari, Neward (2003) Prentice-Hall, ISBN: 0-596-00526-1
Principles of Concurrent and Distributed Programming, Ben-Ari (1990), Prentice-Hall, ISBN: 0-137-11821-X