Learning How to program on HPC cluster (part II: C, Python)
Wednesday, 6 November 2024 -
09:30
Monday, 4 November 2024
Tuesday, 5 November 2024
Wednesday, 6 November 2024
09:30
Introduction to programming with C language
-
Olivier Mattelaer
(
UCLouvain/CISM
)
Introduction to programming with C language
Olivier Mattelaer
(
UCLouvain/CISM
)
09:30 - 10:45
Room: SCES A.04B
<p>C is a very performant language on which are build C++ but also Python (and many others). Even if this language is now mainly superseeded by C++, it is important to understand the basic of the language if you want to learn C++ and or Cuda programming (for GPU).</p> <table border="0" cellpadding="10px"> <tbody> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Basic of C programming</li> <li>pointer concept</li> <li>array</li> <li>memory management</li> </ul> <p> </p> </td> <td> <p><strong>Prerequisite:</strong></p> <ul> <li>Being able to use SSH with private keys </li> <li>Being familiar with a text editor </li> <li>Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)</li> </ul> <p><strong>Prerequisite for:</strong></p> <ul> <li>CUDA programming</li> </ul> <p><strong>Type:</strong> Hands-on<br /> <strong>Target audience</strong>: Rookie programmer<br /> <strong>Must: </strong>This session is a nice-to-have for those who need to develop fast scientific software.</p> </td> </tr> </tbody> </table>
11:00
C++
-
Nicolas Potvin
(
ULB département informatique
)
C++
Nicolas Potvin
(
ULB département informatique
)
11:00 - 12:30
Room: SCES A.04B
Introduction to object-oriented programming, classes and templates in C++. Learn useful design patterns that will help you design the architecture of your project. **Content:** - From C to C++ - What is a class ? What is an object ? - Template programming - Inheritance, abstract classes and interfaces - Some more design patterns - Good practices - Some *pointers* to libraries and projects of interest **Prerequisite:** - Being familiar with a text editor - Being familiar with programming (at least beginner level) - Understanding what a compiler is **Target audience:** Rookie programmer
13:45
Introduction to Python
-
Jérôme de Favereau
(
UCLouvain/IRMP/CP3
)
Introduction to Python
Jérôme de Favereau
(
UCLouvain/IRMP/CP3
)
13:45 - 16:45
Room: SCES A.04B
<table border="0" cellpadding="10px"> <tbody> <tr> <td colspan="2"> <p>Python is a programming language that can be used both for scientific computing (as a replacement for Fortran or C/C++) and for everyday scripting (as a replacement for Bash or Perl), but also to develop full programs with a GUI as well as headless services. It is a very nice tool to include in any scientist's toolbox.</p> </td> </tr> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Language syntax</li> <li>The core modules</li> <li>Installing external modules</li> <li>Writing and distributing modules</li> </ul> </td> <td> <p><strong>Prerequisite:</strong></p> <ul> <li>Being able to use SSH with private keys </li> <li>Being familiar with a text editor </li> <li>Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)</li> <li>Notions of programming</li> </ul> <p><strong>Type:</strong> Hands-on<br /> <strong>Target audience</strong>: Rookie programmer<br /> <strong>Must: </strong>This session is a nice-to-have for those who do not know Python.</p> <p> </p> </td> </tr> </tbody> </table>