University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Advanced Programming Techniques

LEVEL 05 - Postgraduate Modular Diploma or Degree Course


DEPARTMENT Institute of Space Sciences and Astronomy

DESCRIPTION This study-unit exposes students to the increasing need for specialised software required to meet the exponential growth in computational requirements of current and future telescopes, both to process data in real-time as well as to perform data analysis on the reduced data sets. These instruments and experiments push the boundaries of current state-of-the-art hardware and software systems.

High performance techniques for parallelising and distributing processing across multiple machines, including compute clusters and distributed networks, are discussed and utilised to tackle challenges which are presented during the study-unit, where current and future data sets need to be processed to extract signals and information of interest. These techniques include serial code optimisation, shared memory processing and message passing mechanisms for distributed systems. In-depth knowledge of advanced concepts in systems programming is also presented.

A recent trend is to include additional hardware accelerator to traditional compute clusters, including Graphics Processing Units and CPU-based accelerators. Their architecture is discussed in detail, contrasting the different programming paradigms required to get the required speed-up when writing specialised software.

Study-unit Aims:

The main goal of this study-unit is to introduce the students to advanced programming techniques, including systems programming, high performance computing and the use of accelerators to speed up software. Through the various tutorials and exercises student will enhance their programming skills, gain a good understanding of compute cluster and accelerator architectures and be able to write software which can run efficiently on them.

Various problems will be presented throughout the study-unit which will strengthen the students' problem solving skills. They will apply the skills and techniques presented in this study-unit to process and analyse various astronomical data sets through the course as well as in the assignment.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the study-unit the student will be able to:
- Understand the need for advanced computational techniques to meet the ever-increasing compute requirements of science experiments;
- Understand the different architectures available to speed up software;
- Understand standard practises in systems programming, high performance computing and accelerator programming;
- Match appropriate techniques to different problem domains depending on the behaviour the algorithms to be used and limitations of techniques used.

2. Skills:

By the end of the study-unit the student will be able to:
- Design, write and debug software utilising specialised techniques, including system software and high performance software;
- Use appropriate profiling tools to understand the limitation of the code and be able to counter these limitations;
- Apply these skills to a wide variety of problems sets outside of the astronomical and science community.

Main Text/s and any supplementary readings:

- Advanced Programming in the UNIX Environment by W.R. Stevens. Addison-Wesley, 2005. ISBN 0201433079.
- Foundations of Multithreaded, Parallel and Distributed Programming by G. Andrews. Addison Wesley. ISBN 0-201-35752-6.
- CUDA Handbook: A Comprehensive Guide to GPU Programming by Nicholas Wilt. Addison-Wesley. ISBN 0-321-80946-7.

STUDY-UNIT TYPE Lecture and Tutorial

Assessment Component/s Resit Availability Weighting
Examination (2 Hours) Yes 40%
Assignment Yes 60%

LECTURER/S Alessio Magro

The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Members of ISSA join the KiDS Consortium
Members of ISSA, in collaboration with the Department of Physics, has recently joined the KiDS Consortium
University of Malta Awarded Title: 'CUDA Research Center'
The Institute of Space Science and Astronomy (ISSA), in collaboration with the University of Malta’s Department of Physics and the Faculty of Information and Communications Technology, announces that the University of Malta has been awarded the title of 'CUDA Research Center' by NVIDIA.

Log In back to UoM Homepage