C is widely used in many contexts. This training focusses on using C for scientific programming.
Learning outcomes
When you complete this training you will be able to
- read and understand well-written C code;
- write intermediate-level C programs;
- have a good starting point to familiarize yourself with the more sophisticated aspects of C;
- know about best practices and pitfalls for C programmers;
- have a working knowledge of the C standard Library;
- know how to use third-party libraries such as GSL for numerical computing.
Schedule
Total duration: 8 hours, split over two sessions.
Session one
Total duration: 8 hours
| Subject | Duration |
|---|---|
| introduction and motivation | 5 min. |
| basics: control flow statements, data types | 85 min. |
| hands-on session | 20 min. |
| coffee break | 10 min. |
| functions | 15 min. |
| simple I/O | 10 min. |
| arrays and user defined types | 85 min. |
| hands-on session | 20 min. |
Session two
Total duration: 4 hours
| Subject | Duration |
|---|---|
| pointers & dynamic memory management | 80 min. |
| hands-on session | 20 min. |
| error handling | 10 min. |
| coffee break | 10 min. |
| using third-party libraries | 80 min. |
| hands-on session | 20 min. |
| wrap up | 10 min. |
Training materials
Slides are available in the GitHub repository, as well as example code and hands-on material.
Target audience
This training is for you if you need to use C as a programming language.
Prerequisites
You will need experience programming in another programming language, This is not a training that starts from scratch.
If you plan to do C programming in a Linux or HPC environment you should be familiar with these as well.
Level
- Introductory: 40 %
- Intermediate: 40 %
- Advanced: 20 %
Trainer(s)
- Geert Jan Bex (geertjan.bex@uhasselt.be)