ReSC Training and Teaching
NERC Training Courses
Software Development for Environmental Scientists
Reading e-Science Centre, University of Reading.
Software engineering is a large and complex discipline and so this NERC short course will focus on the most important and relevant elements for scientists, crucial amongst which are usability, maintainability, accuracy, and readability. These are the foundations of professional code development skills. We will teach and demonstrate the benefits of good initial design, thorough testing, algorithm re-use and code progression, the ideas of elegance, abstraction, performance and scalability.
There will be two levels to run sequentially with the caveat that applicants for the second level must demonstrate competence at the first level through use of an online assessment.
29th Sep to 3rd Oct inclusive
~14 fully funded places
Application is now closed for these dates but we hope to run a second course later this year. Please email a completed form if you would like to be considered for it.
For those unable to attend or who missed the application deadline for this session, there will be another opportunity: the course will be re-run in late November or early December 2014.
Course Instructions are here.
~12 fully funded places, competence at Level 1 tasks a pre-requisite but attendance of previous course not required.
email to register interest in Level 2 and to be notified of application details.
The topics will be taught using widely employed industry standard techniques such as Jackson structured programming; Unified Modelling Language activity, data, class and sequence diagrams; functional and object oriented design patterns. The course will be language neutral but will use Python for examples as necessary, and CF-netCDF data. The theme of robust re-usable scientific code will be highlighted through the practical application of all the topics in exercises and an environmental science software project. The participants will also write modules for data processing and visualisation which they will be able to adapt for their own research. We will teach and demonstrate the benefits of good initial design, thorough testing, algorithm re-use and code progression, the ideas of elegance, abstraction, performance and scalability.
The courses are aimed principally at PhD students and early career scientists, but all applications will be considered. Priority will be given to NERC-funded researchers.