A workshop on Python programming and other useful tools, for the Coastal and Environmental Remote Sensing (CEReS) group at the University of Edinburgh.
The workshop materials, including instructions for completing the tasks, are available here.
This is a hands-on workshop. The idea is to work through a set of tasks on a fork of this repository. Each task comes with a set of tests which (if the instructions are followed correctly) will run on pushes to the forked repository.
These tasks generally involve taking some poorly structured (but not broken) code and bringing it up to a higher standard that is consistent with modern Python standards and conventions.
I've tried to design the workshop so as to be useful for people with various degrees of experience.
- For those with little programming experience
- Work through the tasks slowly, frequently referring to the workshop notes. Consider taking notes as you go. Don't worry about the extension tasks!
- For those with experience of languages such as MatLab, but not Python
- The completed tasks should serve as a useful reference for Python semantics and design patterns.
- For experienced Python programmers
- You'll probably find most of the tasks straightforward. Perhaps use this opportunity to dig deeper into issues such as dependency management and reproducibility. Try the extension tasks!
'Solutions', i.e. pull requests which pass all of the tests, will be uploaded after the synchronous workshop has finished. Of course there's nothing stopping anyone from continuing with this afterwards :)