Graduate Modules
Many Irish graduate students are enrolled in structured PhD programmes where they must complete courses/modules and attain ECTS credits. In collaboration with the School of Physics at NUI Galway and other Irish universities, we offer some of our courses as accredited graduate modules. This means that graduates can attain ECTS credits upon successful completion of our modules based on participation in face-to-face lectures/practical sessions and grading of submitted homework assignments.
The following are details of graduate modules led by ICHEC, with ICHEC staff responsible for the majority of efforts of the module, i.e. syllabus design, materials development, delivery of. teaching to students as well as assessment.
ICHEC's Academic Graduate Modules
Module code | Institution | Module title | Credits |
---|---|---|---|
HPC and computational science modules @ NUIG |
|||
PH502 | NUI Galway | Scientific Programming Concepts | 5 ECTS |
AMC40660 | UCD | Scientific Programming Concepts | 5 ECTS |
SE6006 | UCC | Scientific Programming Concepts | 5 ECTS |
PH503 | NUI Galway | Software Design and Carpentry for Scientists | 5 ECTS |
PH504 | NUI Galway | High Performance Computing and Parallel Programming | 5 ECTS |
ACM40640 | UCD | High Performance Computing and Parallel Programming | 5 ECTS |
SE6009 | UCC | High Performance Computing and Parallel Programming | 5 ECTS |
PH505 | NUI Galway | Scientific Computing using Graphic Processor Units | 5 ECTS |
Part of Certificate in Artificial Intelligence at UL (2018 onwards) |
|||
CE4031 | UL | Introduction to Deep learning and Networks | 6 ECTS |
Part of MSc in Artificial Intelligence at UL (LM719, 2020 onwards) |
|||
CS5004 | UL | Deep Learning | 6 ECTS |
Part of MSc, PDip in Consumer Psychology at NUI Galway (2021 onwards) |
|||
PS6163 | NUI Galway | Data Analysis through R | 10 ECTS |
Part of Diploma in Applied Science (HPC system Design and Development) at NUI Galway (1DSD1, 2014-15) |
|||
CT1103 | NUI Galway | Fundamental Network and System Administration | 5 ECTS |
CT1104 | NUI Galway | HPC Technology and Administration | 5 ECTS |
CT1105 | NUI Galway | HPC Systems Operations & Management | 5 ECTS |
CT1106 | NUI Galway | Industrial Development Placement and Project | 15 ECTS |
Scientific Programming Concepts
This module is an introduction to programming concepts aimed at scientists who have had minimal or no formal training in the subject. The focus is on C and Fortran yet the general concepts should be applicable to other programming languages. The main topics covered in this module includes: overview of computer architecture, the Linux shell, the imperative programming paradigm, data types & arithmetic operations, loops & conditional statements, object-oriented programming, standard libraries, compilation, C pointers and memory management, modern Fortran, scripting languages and an introduction to HPC concepts.
On successful completion of this module, students should be able to:
- Gain an understanding of what constitutes a computer program and how it is constructed.
- Comprehend written source code.
- Write and compile basic programs in C/Fortran.
- Make use of standard libraries in own code.
In order to gain 5 ECTS credits for participation in this module, students must take online lectures, participate in live (online) Q&A and interactive sessions, complete assignments and take a final exam. Students must achieve an overall pass grade of 40%. The module is typically taught over a ~10 week period in the first semester.
Graduate module course code: PH502 (NUIG); SE6006 (UCC); ACM40660 (UCD).
HPC & Parallel Programming
This module introduces key topics in high performance computing (HPC), including parallel programming. Prior programming experience in C/C++/Fortran, as well as basic knowledge of UNIX/Linux shell is expected; Python programming experience by itself is usually not sufficient (see Scientific Programming module above which may be of interest). It covers topics such as evolution of computer architecture, HPC concepts and scientific applications, parallel decomposition, shared memory multiprocessing programming (OpenMP), the Message Passing Interface (MPI) and numerical libraries.
On successful completion of this module, students should be able to:
- Understand key HPC concepts and how they are applied in scientific research.
- Devise parallel strategies to solve computational problems.
- Develop basic parallel applications using OpenMP and/or MPI.
- Leverage numerical libraries for better performing code.
In order to gain 5 ECTS credits for participation in this module, students must take online lectures, participate in live (online) Q&A and interactive sessions, complete assignments and take a final exam. Students must achieve an overall pass grade of 40%. The module is typically taught over a ~10 week period in the second semester.
Graduate module course code: PH504 (NUIG); SE6009 (UCC); ACM40640 (UCD).