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

Study scientific computing

Dates:
Introduction to the bash shell (Unix/Linux): 11th November 2022
Introduction to Git/GitHub: 14th November 2022 10:30-12:00
Introduction to Python programming:  15th – 17th November 2022
Python programming – working with data: 22nd – 24th November 2022
Location: Online

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, virtual 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 open

Complete the application form

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

    All course modules 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. This topic is introduced in the 1.5 hour taught session, if you have not previously used Git/GitHub we strongly recommend you attend this short session.

    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): 11th November 2022 09:30 – 16.00 GMT
  • Introduction to Git and GitHub: 14th November 2022 10:30-12:00 GMT
  • Introduction to Python programming: 15th – 17th November 2022 09:30 – 16.00 GMT
  • Python programming – working with data: 22nd – 24th November 2022 09:30 – 16.00 GMT
  • With the exception of the short Git/GitHub module, all days of the course will include a one hour lunch break 12.30 – 13.30 GMT and scheduled coffee times to allow regular breaks from the screen. The Slack workspace may be used by all students to post course related questions, even outside the formal study times, and staff will endeavour to respond in a timely manner.

    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.

    Introduction to the bash shell (Unix/Linux)

    Full academic rate £157
    Educational discounted rate £97
    National Centre for Atmospheric Science subsidised rate £53

    Introduction to Git and GitHub

    Full academic rate £19
    Educational discounted rate £11
    National Centre for Atmospheric Science subsidised rate £7
    Free of charge when booked with any other module

    Introduction to Python programming

    Full academic rate £457
    Educational discounted rate £293
    National Centre for Atmospheric Science subsidised rate £149

    Python programming – working with data

    Full academic rate £457
    Educational discounted rate £293
    National Centre for Atmospheric Science subsidised rate £149

    Discounted package when booking all four modules

    Full academic rate £967
    Educational discounted rate £617
    National Centre for Atmospheric Science subsidised rate £317

    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

    Fees

    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.