Home / Study with us / Introduction to Scientific Computing
Brightly coloured light trails in a blue room full of computer servers

Study scientific computing

Introduction to the bash shell (Unix/Linux): Online, November 2023
Introduction to Python programming: Leeds, November 2023
Python programming – working with data & Introduction to Git/GitHub: Leeds, November 2023
Location: NCAS Headquarters, University of Leeds

The Introduction to Scientific Computing (ISC) course covers the skills needed to start using Linux (bash shell) and Python in environmental science research. The course is designed for complete beginners to Linux and Python as well as those who have used them a little and wish to further their knowledge. Some prerequisite Python knowledge is necessary to study the “Python programming – working with data” module.

The course is taught as a series of hands-on workshops. Students may register for the whole course as a package, or individual modules to suit their own learning needs.

We aim to equip students with fundamental knowledge and build the skills that are essential for almost all researchers in modern scientific disciplines. Each topic will be introduced and students will then apply their learning by working through practical exercises, supported by the trainers. The course is highly interactive – students are encouraged to ask questions and request support as needed.

The course will also provide you with the necessary experience to attend our Data Analysis Tools course. The Linux module is useful preparation for attending our JASMIN workshops.

How to apply

Applications opening soon

Our next set of Introduction to Scientific Computing modules will take place in our training centre at the University of Leeds. If you would prefer to be notified when we schedule our next set of online modules please register your details.

Subscribe to our Reach for the Skies mailing list to be kept in the loop about upcoming courses.

Learning outcomes

In each course module you will gain an understanding of the topics listed below.

Introduction to the bash shell (1 day)

  • Introducing the shell – why is it useful?
  • Navigating files and directories
  • Working with files and directories
  • Combining commands using pipes and filters
  • Loops
  • Shell scripts
  • Shell variables
  • Finding files and searching file contents
  • Working on a remote computer
  • File and directory access permissions
  • Job control (tracking and controlling multiple processes on a machine)
  • Command substitution (what is it and how to use it)
  • Git and GitHub for software version control (1 hour)

  • Why use version control?
  • Why choose git and GitHub for version control?
  • Making and accessing a GitHub account
  • Creating a Github repository
  • Cloning a Github repository to your local machine
  • Using git commands to work with your local repository
  • Saving your changes to GitHub
  • Introduction to Python Programming (3 days)

  • Why use Python?
  • Python variables and data types
  • Control flow using ‘while’ and ‘for’ loops
  • Lists, indexing and slicing
  • Tuples
  • Input and output – working with files
  • Strings
  • Aliasing
  • Functions
  • Python libraries
  • Sets and dictionaries
  • Handling errors and exceptions
  • Debugging Python programs
  • Object Oriented Programming (OOP) in Python
  • Suggestions for further Python learning
  • Python programming – working with data (3 days)

  • Handling numeric arrays: the NumPy library
  • Data visualisation using MatPlotLib
  • Working with standard file formats and metadata
  • Working with NetCDF and CF/NetCDF files: the NetCDF4 library
  • Weather exercise: students will bring together all their Python data handling skills to obtain data from a web service, reformat it to NetCDF with appropriate
  • metadata and produce visualisations for data analysis
  • Prerequisites

    The Introduction to bash shell module will use Zoom and Slack technologies. Details of the Zoom link and dedicated Slack workspace will be emailed the week before the first module (Linux bash shell) commences.

    There are no prerequisites for the Linux, git/GitHub and “Introduction to Python programming” modules.

    Basic Python programming skills are required to study the final module, “Python programming – working with data”. If you wish to skip the “Introduction to Python programming” and go straight to the “Working with data” module, you may indicate your preference in the application form. You will then be asked to complete a quiz to test your Python knowledge. A score of 7 (out of 9) or higher is needed for acceptance directly onto the “Working with data” module; a lower score means you will need to study the Introduction to Python programming module first.

    Some familiarity with software version control using Git/GitHub is recommended for attending the “Python programming – working with data” module.

    Teaching staff

    The workshop will be led by software developers and data scientists drawn from our Centre for Environmental Data Analysis (CEDA), Computational Modelling Service (CMS), and the Operations Group. All the trainers use Linux and Python in their day-to-day work.

    Course schedule

    Course timings are as follows:

  • Introduction to the bash shell (Unix/Linux): November 2023
  • Introduction to Git/GitHub: November 2023
  • Introduction to Python programming: November 2023
  • Python programming – working with data: November 2023>
  • Costs

    There is a charge to attend the Introduction to Scientific Computing Modules. You will be asked to pay for your place on the course via the University of Leeds online store once you have been offered a place. Prices for the November 2023 modules will be confirmed soon.

    The educational discounted rate may be available to those students or post-docs not eligible for the subsided rate.

    The subsided rate is available to UK & EU students attending UK universities or students supervised by National Centre for Atmospheric Science staff.

    Once you have been offered a place on this course, you will be asked to pay the course fees via the University of Leeds online store.

    Commercial rate

    Attendees from commercial organisations should contact training@ncas.ac.uk to discuss the course fee. Please contact training@ncas.ac.uk.

    The course fee includes all tuition, activities, and materials.

    Terms and conditions


    Attendees are required to pay in full by credit/debit card or provide a valid purchase order from their home organisation by the confirmation deadline. All payments and refunds are processed by the University of Leeds.

    Cancellations/ refunds

    Attendee cancellations are subject to a £50 administration fee, plus any accommodation cancellation costs incurred by us, where the cancellation is made more than six weeks (twelve weeks for the Atmospheric Measurement Summer School) before the date of the training course. The remaining balance of the course fee will be refunded.

    No refund is payable for a cancellation made within six weeks (twelve weeks for the Atmospheric Measurement Summer School) immediately prior to the training course – in this event the full course fee will remain payable. In the event that a place can be filled by another student then the full fee (less the £50 administration fee) will be refunded once the replacement student has paid in full.

    All cancellations must be sent in writing to training@ncas.ac.uk.

    Amendments and cancellations

    It may be necessary for us to change the content and timing of a course, the staff, the date or the venue. In the unlikely event of the course being cancelled, we will provide a full refund. For all bookings, the liability of the National Centre for Atmospheric Science/University of Leeds shall be limited to the amount of the fee paid to the National Centre for Atmospheric Science/University of Leeds by the delegate.