Multi-threaded Programming
2015-2016 - IMT3801 - 5 ECTS

Prerequisite(s)

  • IMT2021 Algorithmic Methods

Expected learning outcomes

On completion of this course the students will be able to:Understand the classic examples of concurrency problems

  • Understand the benefits and difficulties of developing multi-threaded applications
  • Demonstrate knowledge of thread-safe implementations of design patterns commonly used in game development
  • Evaluate the performance of multi-threaded and optimised programs
  • Communicate the design decisions, data flow and synchronisation of parallel algorithms in both written and oral form

Topic(s)

  • Multi-threaded programming
  • Profiling and performance evaluation
  • Algorithmic complexity
  • Design Patterns
  • Function Pointers and Callbacks
  • Game programming techniques
  • Distributed programming environments

Teaching Methods

Lectures
Laboratory work

Teaching Methods (additional text)

Student will work primarily in C++ using various parallel programming libraries, in a problem based learning approach.  

Form(s) of Assessment

Oral exam, individually
Evaluation of Project(s)

Form(s) of Assessment (additional text)

  • Portfolio of internally completed work 60%
  • Oral exam 40%
  • Both parts must be passed

Grading Scale

Alphabetical Scale, A(best) – F (fail)

External/internal examiner

Projects evaluated by lecturer.
Oral exam will have two internal examiner and we will use external examiner every fifth year, next time 2016.

Re-sit examination

Oral exam may be repeated

Examination support

None

Coursework Requirements

None

Teaching Materials

No required textbooks.  Books, monographs, and research articles will be recommended during the course.

Additional information

In case there are fewer than 5 students which apply for the course the form of presentation and assessment may change to suit the class size.