Skip to content

OxfordRSE/softeng-daycourse

Repository files navigation

Crash Course on Software Engineering for Researchers

Course description

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

Associated repositories:

A number of repositories are associated with this course, providing practical work and examples:

Presenter notes

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.

Development

These slides are written in Slidev. To run slides in a hot-reload environment, clone the repository and run:

npm install
npm run dev

Changes pushed to github will automatically deploy.

About

One-day course covering the core components of software engineering. Aimed at researchers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 3

  •  
  •  
  •