Starter Pack
Context
New starters in computing roles at STFC join with a broad range of prior experience, and are generally faced with learning many new tools, programming languages and methodologies from day one. To aid with this, a series of Software Carpentry courses will be delivered later this year (see below), providing a basic level of knowledge in some of the most widely-used computing technologies here at STFC.
These hands-on workshops will cover basic concepts and tools including version control with Git, task automation with the Unix shell, and software development techniques employed in a scientific research-oriented environment using Python.
Some new starters will start well in advance of these courses, and will soon require the basic skills covered within them; therefore, links are provided below for the course material, produced by The Carpentries, which can be self-taught if desired. We also provide some additional links for further reading, covering a few techniques and tools that are outside the scope of these courses.
Workshop information
The dates for the Software Carpentry workshops are below, with links to the course material, which will be delivered in a hybrid format both online via Zoom and in-person at RAL. We have a page to help you identify which courses are right for you.
On each date listed, the workshop will run 9am-1pm.
- 4-5 Oct: The Unix Shell & Version Control with Git
- 11-12 Oct: Programming in Python
- 1-2 & 7-9 Nov: Intermediate Research Software Development (in Python)
For more information, see the workshop website.
Help for Self-Learners
If you’re working through the courses by yourself and run into problems, you can seek help in the #support
channel of the Software Carpentry at STFC Slack workspace. Alternatively, you can email any of the instructors listed on the workshop website.
For the intermediate course, you may prefer to learn Visual Studio Code (aka VS Code) rather than Pycharm - VS Code is the IDE of choice for many STFC staff, and it’s what we plan to teach at the workshops. When you hit a part of the course about PyCharm, you can reference this supplementary material for VS Code instead. Try to make sure you can get the same functionality in VS Code that is described for PyCharm.
Additional resources
Some links to tools and techniques that are beyond the scope of the Carpentries courses.
- Learn how to write good commit messages
- Pro Git: a freely-available book on Git
- explainshell: understand the function of a given command-line
- Software Carpentry course: Databases and SQL
- VSCodium: an alternative version of VS Code which does not include Microsoft’s telemetry/tracking features. Note that adding certain extensions can be more challenging than in regular VS Code.
- SCD Early Careers Technical Resources and Courses: a page on the Scientific Computing Department’s Early Careers SharePoint for collating technical resources. The majority of these resources could be of use in any STFC computing role.
Other groups and events
- Code Jamboree @ STFC: join us for lunchtime coding challenges on the fourth Monday of every month!
- UK RSE Slack: a Slack workspace for Research Software Engineers (RSEs) across the UK, open to anyone. Run by the Society of Research Software Engineering.