{"id":13992715,"url":"https://github.com/gjbex/training-material","last_synced_at":"2025-06-10T18:33:35.099Z","repository":{"id":15847682,"uuid":"18587808","full_name":"gjbex/training-material","owner":"gjbex","description":"A collection of code examples as well as presentations for training purposes","archived":false,"fork":false,"pushed_at":"2024-09-03T14:48:00.000Z","size":192898,"stargazers_count":121,"open_issues_count":4,"forks_count":52,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-09-13T11:29:40.000Z","etag":null,"topics":["c","c-plus-plus","cpp","debugging","fortran","gpu","hdf5","hpc","linux-tools","math","mpi","netcdf4","openmp","optimization","profiling","python","sql","training-materials","virtualization","visualization"],"latest_commit_sha":null,"homepage":"http://gjbex.github.io/training-material/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gjbex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-04-09T06:35:58.000Z","updated_at":"2024-09-03T14:48:09.000Z","dependencies_parsed_at":"2023-01-11T20:24:04.822Z","dependency_job_id":null,"html_url":"https://github.com/gjbex/training-material","commit_stats":{"total_commits":3945,"total_committers":5,"mean_commits":789.0,"dds":"0.028390367553865703","last_synced_commit":"e748466a2af9f3388a8b0ed091aa061dbfc752d6"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjbex%2Ftraining-material","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjbex%2Ftraining-material/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjbex%2Ftraining-material/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjbex%2Ftraining-material/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gjbex","download_url":"https://codeload.github.com/gjbex/training-material/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225844824,"owners_count":17533160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","c-plus-plus","cpp","debugging","fortran","gpu","hdf5","hpc","linux-tools","math","mpi","netcdf4","openmp","optimization","profiling","python","sql","training-materials","virtualization","visualization"],"created_at":"2024-08-09T14:02:06.162Z","updated_at":"2024-11-22T04:42:52.757Z","avatar_url":"https://github.com/gjbex.png","language":"Jupyter Notebook","readme":"# Training material\n\nA collection of code examples for training purposes, mostly in the\ncontext of data processing and parallel programming.\n\nThis material is made available as is, i.e., anyone is welcome to use it,\nand to [contribute](CONTRIBUTING.md).  However, no support is guaranteed\nin any form.  All material is subject to the [license](LICENSE) included\nin this repository.\n\nTips and tricks can be found on this [repository's website](http://gjbex.github.io/training-material/)\nbut also in a [cheat sheet repository](https://github.com/gjbex/Cheatsheets).\n\nAn overview of all off-the-shelf training sessions is also\n[available online](https://gjbex.github.io/Training-sessions/).\n\n[![DOI](https://www.zenodo.org/badge/18587808.svg)](https://www.zenodo.org/badge/latestdoi/18587808)\n\n\n## What is it?\n\n### Accelerators\n[`Accelerators`](Accelerators): some sample code and information on using\naccelerators.\n\n### C\n[`C`](C): presentation based \"The C programming language\" by Kernighan and\nRitchie, as well as sample code to illustration the concepts.\n\n### C++\n[`CPlusPlus`](CPlusPlus): presentation based on \"A tour of C++\" by Stroustrup,\nas well as sample code to illustrate the concepts.  This part of the repository\nis considered obsolete and has been replaced by another repository for a C++ for\nscientific programming training.  See\n* [training website](https://gjbex.github.io/Scientific-C-plus-plus/)\n* [repository](https://github.com/gjbex/Scientific-C-plus-plus)\n\n### Data storage\n[`DataStorage`](DataStorage): sample code showing how to read/write HDF5 and\nNetCDF files from C, Fortran, and Python.  HDF5 can be used for parallel\nI/O, C sample code is provided.  The HDF5 material is part of a tutorial on\nthat subject.  Sample code on how to interact with a redis data\nstructure server is also provided, illustrating the hiredis C API.\nSample SQL covers the basics of querying relational databases\n\n### Debugging\n[`Debugging`](Debuggers): slides used for an info session on debugging tools\nand techniques, as well as sample code.  This part of the repository is\nsupplemented by the following repository:\n* [Defenesive programming and debugging](https://github.com/gjbex/DPD-online-book)\n\n### Fortran\n[`Fortran`](Fortran): presentation on \"Modern Fortran\" as well sample code\nintended to illustrate Fortran 95, 2003, and 2008 features.  This section\nof the repository has been superceeded by two other repositories:\n* Fortran for programmers\n  * [website](https://gjbex.github.io/Fortran-for-programmers/)\n  * [repository](https://github.com/gjbex/Fortran-for-programmers)\n* Fortran MOOC\n  * [website](https://www.futurelearn.com/courses/fortran-for-scientific-computing)\n  * [repository](https://github.com/gjbex/Fortran-MOOC)\n\n### Java\n[`Java`](Java): sample code mostly for demonstration purposes.\n\n### Linux Tools\n[`LinuxTools`](LinuxTools): some illustrations of using Linux tools such as\nthe `M4`macro processor, make files and autotools, as well as slides on\nversion control using svn and git.\n\n### Mathematics\n[`Math`](Math): sample code for using various mathematical libraries.\n\n### Miscellaneous\n[`Misc`](Misc): catch-all for one-time presentations, or special sessions.\n\n### MPI\n[`Mpi`](Mpi): illustration of distributed programming using the Message\nPassing Interface API.\n\n### OpenMP\n[`OpenMP`](OpenMP): sample code for OpenMP.\n\n### Optimization\n[`Optimization`](Optimization): illustrations of performance optimization\nopportunities.  This section of the repository has been superceeded by a\ntraining repository on code optimization.\n* [website](https://gjbex.github.io/Code-optimization/)\n* [repository](https://github.com/gjbex/Code-optimization)\n\n### PBS\n[`PBS`](PBS): sample PBS torque batch scripts to illustrate features.\n\n### Python\n[`Python`](Python): sample code to explore various Python features, standard\nlibrary packages and third party libraries.  Most of this material is\nused in a tutorial on using Python for scientific data processing.  This part of\nthe repository has in large part been superceeded by various training \nrepositories dedicated to specific Python-related topics.\n* Python for programmers\n  * [repository](https://github.com/gjbex/Python-for-programmers)\n* Scientific Python\n  * [website](https://gjbex.github.io/Scientific-Python/)\n  * [repository](https://github.com/gjbex/Scientific-Python)\n* Python for data science\n  * [website](https://gjbex.github.io/Python-for-data-science/)\n  * [repository](https://github.com/gjbex/Python-for-data-science)\n* Python for machine learning\n  * [website](https://gjbex.github.io/Python-for-machine-learning/)\n  * [repository](https://github.com/gjbex/Python-for-machine-learning)\n* Python for HPC\n  * [website](https://gjbex.github.io/Python-for-HPC/)\n  * [repository](https://github.com/gjbex/Python-for-HPC)\n* Python for systems programming\n  * [website](https://gjbex.github.io/Python-for-systems-programming/)\n  * [repository](https://github.com/gjbex/Python-for-systems-programming)\n* Python software engineering\n  * [website](https://gjbex.github.io/Python-software-engineering/)\n  * [repository](https://github.com/gjbex/Python-software-engineering)\n\n### R\n[`R`](R): some very simple illustrations of how to run R scripts from the\ncommand line, and to submit as (PBS) jobs\n\n### Virtualization\n[`Virtualization`](Virtualization): Information on how to use Singularity.\nThis part of the repository has been superceeded by a training repository\non using containers for HPC.\n* [website](https://gjbex.github.io/Containers-for-HPC/)\n* [repository](https://github.com/gjbex/Containers-for-HPC)\n\n### Visualization\n[`Visualization`](Visualization): data files, XDMF files and ParaView state\nfiles to use during a demo of scientific visualization with ParaView.\n\n\n## Contributors\n\n* Geert Jan Bex ([geertjan.bex@uhasselt.be](mailto:geertjan.bex@uhasselt.be)),\n  Hasselt University/University of Leuven\n* Stefan Becuwe, University of Antwerp\n  * suggestions for and correction of typos in Python presentation\n  * suggestions for Python programming exercises\n* Guillaume Jacquenot\n  * Python 3 version of XDMF generating scripts\n  * correcting typos in various README\n  * suggesting hyperlinking the README files, and providing a Python script for\n    it\n* Arnout Standaert, VITO\n  * update of deprecated Pandas API\n  * suggestions on Python OOP presentation section\n* Yana Maneva, KU Leuven\n  * suggestions on online C++ training material references\n\n\nYou are very welcome to contribute, please read\n[some guidelines](CONTRIBUTING.md) before you do.\n","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjbex%2Ftraining-material","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgjbex%2Ftraining-material","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjbex%2Ftraining-material/lists"}