This course illustrates the key features of C language, with emphasis to modern programming style for scientific and technical applications particularly suitable to HPC environments. After a brief introduction on the C fundamentals we will discuss its flaws and strengths and the conceptual guidelines that allowed C to be one of the most widespread, efficient and general purpose languages even decades after its birth. We will show common idioms and best practices focusing on scientific and technical use cases.
Researchers and programmers interested in reading C codes, writing new programs, or modifying and extending existent ones with portable C code.
Anyone interested in writing high performance codes at a professional level.
An overview of C language;
our first C program and the tools needed to write it; the preprocessor; basic data types and aggregates; artihmetics; dynamic memory management and strings; I/O textual and binary; robustness and efficient code writing;
A basic knowledge of computer architecture and of any programming paradigm is recommended. A basic knowledge of Unix environment would be helpful.
The lunch for the three days will be offered to all the participants and some grants are available. The only requirement to be eligible is to be not funded by your institution to attend the course and to work or live in an institute outside the Roma area. The grant will be 300 euros for students working and living outside Italy and 150 euros for students working and living in Italy (except Milano area). Some documentation will be required and the grant will be paid only after a certified presence of minimum 80% of the lectures.
Further information about how to request the grant, will be provided at the confirmation of the course: about 3 weeks before the starting date.