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 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 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 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
Module Special Admissions Requirements
Prior study of CE00371-4 Introduction to Software Development and CE00882-4 Object-Oriented and Event Driven Programming or equivalent.
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.