Advanced School on Scientific Software Development: Concepts and Tools

Abdus Salam International Centre for Theoretical Physics (ICTP), Trieste, Italy

Abdus Salam International Centre for Theoretical Physics (ICTP), Trieste, Italy


During the last decade, the standards of writing scientific software and numerical libraries have been steadily improving. This resulted in a large number of available packages for scientific computing in many different research areas.

Young researchers and PhD students are now able to perform cutting-edge research just using such publicly available software. However, young scientists often need to enhance some software components, to add some new features to the existing software packages, or to write completely new scientific code, re-using some of the existing elements, or completely from scratch. This usually seems as a difficult task to young researchers, and often the effort to produce high quality scientific software is overestimated.
Young scientists, not formally trained in software engineering techniques, are not aware of important tools and often do not use good software designing and programming practices, thus lowering considerably their efficiency in either using scientific software packages or performing scientific software development.
The School is organized to address this and eliminate/alleviate identified obstacles for young researchers to be more easily involved in the software development, with specific focus on developing countries.

The goal of this School is to fill the identified gap in the training related to the software development, and to provide young scientists with the basic skills necessary to efficiently write their own scientific codes, optimize, port and benchmark them properly, and to employ the right computational infrastructure effectively.

The School will be organized in two weeks. The first week will be dedicated to scientific software engineering concepts/tools, with the emphasis on topics such as: software life cycle, writing and managing scientific software, compiling, debugging, and re-using the code etc. Theoretical lectures will be combined with the practical exercises in computer laboratories where students will practice the concepts discussed during the lectures on their own scientific software project. The second week will be then entirely dedicated to complete personal and/or group projects.

Students will work actively on their own specific software and computational problems that should be attached to the application, according to below template ("Research project questionnaire - case to work on during the School"). A preliminary good knowledge of Linux OS is required.

HOW TO APPLY FOR PARTICIPATION: The online application form can be accessed at below link. Once in the website, comprehensive instructions will guide you step-by-step, on how to fill out and submit online the application.
During the registration process, APPLICANTS WILL BE ASKED TO UPLOAD THEIR OWN PROPOSAL FOR A SHORT RESEARCH PROJECT TO WORK ON DURING THE SCHOOL. SUCH A PROPOSAL SHOULD BE PREPARED ACCORDING TO THE TEMPLATE AVAILABLE BELOW ("Research project questionnaire - case to work on during the School"). PLEASE DOWNLOAD SUCH FILE AND COMPLETE IT BEFORE GOING THROUGH THE ONLINE APPLICATION PROCEDURE. Since selection of candidates will be done mainly on the basis of scientific relevance and excellence of research projects submitted, the quality and the feasibility of such projects are essential. Therefore, applications without research projects will not be considered.

- 15 November 2011 (if financial support and/or visa are needed)
- 10 January 2012 (if neither financial support nor visa are needed)

More Information
The agenda of this meeting is empty