Throughout the day you will be introduced to elements of best practice in research software engineering. These will include version control, collaborative coding, testing and code documentation. By the end of the session you will have built a github code repository complete with documentation and automated testing; more importantly, you will have gained practical knowledge and practice about how to write sustainable code and interact with github in a collaborative environment through issues, pull requests and code reviews.
This session will focus on software engineering best practice in Python, though many of the skills taught will be transferable to other languages.
Requirements: a fully charged laptop with git, a github account
Topics covered include:
- Writing Clean Code
- Testing
- Dependency Management
- Version Control
- Project management with github
- Collaborative coding
- Continuous Integration
- Workflow managers
A number of repositories are associated with this course, providing practical work and examples:
The day is designed to be run in either a computer workshop, or a lecture theatre where attendees work on laptops; the morning/afternoon sessions are slip into digestible modules of approx 40 minutes with taught components and a mix of follow-along activities and task / exercises. The day is intended to introduce concepts and provide hands-on experience in tooling.
These slides are written in Slidev. To run slides in a hot-reload environment, clone the repository and run:
npm install
npm run devChanges pushed to github will automatically deploy.