Module Descriptors
TASK-BASED SOFTWARE ENGINEERING
COSE50584
Key Facts
School of Digital, Technologies and Arts
Level 5
15 credits
Contact
Leader: Craig Weightman
Hours of Study
Scheduled Learning and Teaching Activities: 36
Independent Study Hours: 114
Total Learning Hours: 150
Pattern of Delivery
  • Occurrence A, Stoke Campus, UG Semester 2
  • Occurrence A, Stafford Campus, UG Semester 2
  • Occurrence A1, Stafford Campus, UG Semester 2
  • Occurrence B, Gulf College, Muscat, Oman, UG Semester 2
  • 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
  • Occurrence F, APIIT LANKA (PVT) LTD - Colombo, UG Semester 3
  • Occurrence GH, Ghana Technology University College, Z1~1
  • Occurrence Z9, Global Institute of Software Technology (GIST), Z1~1
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 70%
  • EXAMINATION (1 HOUR) weighted at 30%
Module Details
Special Admissions Requirements
Prior study of COSE50647: Concurrent Network Applications
Resources
Visual Studio
.NET Framework 4.0 or above
Texts
Professional Parallel Programming with C#, Hilar, G. (2010). Wiley & Sons,
ISBN: 978-0470495995
Programming F# 3.0. Smith, C. (2013) Farnham. ISBN: 978-1449326050
Structured Parallel Programming: Patterns for Efficient Computation, McCool, M. (2012). Morgan Kaufmann, ISBN: 978-0124159938
Module Indicative Content
Task-based programming
Using Lambda expressions in C#
Task parallelism - Using the Task Parallel Library in C#
Scheduling, controlling and managing tasks
Data parallelism
Uses of task-based systems
Modelling parallel computing systems and parallel algorithms
Handling exceptions in tasks
Debugging parallel code
Profiling and optimising parallel code, including metrics and tools
Advantages and disadvantages of task-based programming
Module Additional Assessment Details
ASSIGNMENT: Weighting 70%. Design, implement, test and document a solution to a problem using task-based programming techniques (Learning outcomes 1 and 3).

EXAMINATION Weighting 30%; Duration 1 hour Questions will cover the lecture material, practical exercises, and analysis of code for errors and efficiency (Learning outcomes 1, 2 and 3) Final assessment.
Modukle Learning Strategies
13 lectures presenting key topics and concepts. 26 supervised practical sessions for the completion of formative exercises.
Web Descriptor
This module enables the student to utilise the task parallel library in C# to leverage the power of parallel processing within logical and physical cores.