This course is aimed at learners who are working in academic research and have gained some basic software development skills, either by self-learning or attending for example a novice Software Carpentry course (shell, Python, Git). However, they increasingly require more intermediate computational skills for their work as their software development-related projects are facing new challenges, such as:
software is becoming more complex and more team development effort is needed to keep the software running.
software is going further than just the group developing the code - there are more stakeholders and an increasing need to add new features and support collaborations with others.
increased demands to add new functionality while ensuring previous development efforts remain functional and maintainable.
The course will cover topics such as:
using various tools and techniques for software development in a typical collaborative code development cycle.
setting up a test framework and writing tests to verify the correct behaviour of the code, and automating and scaling up testing with Continuous Integration (CI).
different software design paradigms to understand different ways of thinking about and structuring the code.
preparing and releasing software for reuse by others.
managing software improvements through feedback using agile techniques.
Please refer to the workshop website for a detailed schedule and training materials that will be covered. The workshop is for the members of the LSST:UK community and you will need a special code to register - for details get in touch with Terry Sloan.
Share this page
We also use analytics & advertising services. To opt-out click for more information.