Skip to content
forked from ncasuk/ncas-isc

Teaching material for the NCAS Introduction to Scientific Computing course.

Notifications You must be signed in to change notification settings

feggleton/ncas-isc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Scientific Computing course

This repository holds teaching materials for the NCAS Introduction to Scientific Computing course.

Overview

The course covers:

  • Introduction to the Linux shell
  • Introduction to basic Python (3.7)
  • Data manipulation and visualisation in Python

Presentations

Exercises and solutions

Example code directory used in Python sessions
Example data directory used in Pyton sessions
Repository of completed Python exercises

Index

Overview Presentations

The Linux Shell

  1. Text editors and terminals
  2. Git and Version Control
    1. Part 1
    2. Part 2
  3. Introduction
  4. Pipes and Filters
  5. Permissions
  6. Finding things
  7. Job control
  8. Summary so far
  9. Shell scripting
  10. The secure shell
  11. More tricks
    Exercises and solutions

Learning Python

  1. Introduction
  2. Basics
  3. Boolean types
  4. Scripts
  5. Control flow
  6. and, or and not
  7. Lists
  8. Slicing
  9. List comprehensions
  10. Tuples
  11. Input and Output
  12. Strings
  13. Aliasing
  14. Functions
  15. More on functions
  16. Libraries
  17. Combining scripts and modules
  18. Sets
  19. Dictionaries
  20. Errors and Exceptions
  21. Logging and Debugging
  22. Object Oriented Programming
  23. Classes and Objects
  24. Summary & where next?
    Exercises and solutions

Handling arrays

Visualisation

Read and Write data

  1. Data formats and metadata- why?
  2. Text formats
  3. Some more common text formats (at CEDA)
  4. Binary formats
  5. Overview of NetCDF
  6. The structure of "Classic" NetCDF files
  7. ncgen and ncdump to create/export NetCDF and CDL
  8. The CF Metadata Conventions (for NetCDF)
  9. Checking CF-compliance: cf-checker
  10. Reading NetCDF files with Python: netCDF4
  11. Creating NetCDF files with Python
  12. Reading and writing other formats
  13. Viewing NetCDF: Ncview and ncBrowse

Exercises and solutions

Data tools

  1. Iris
  2. cf-python and cf-plot

Logging data

Information

Want to re-use these materials?

Feel free to fork this repository on GitHub and re-use these materials however you like.

Acknowledgements

The foundations of our course are based on the superb materials provided by Software Carpentry who we are eternally grateful to.

About

Teaching material for the NCAS Introduction to Scientific Computing course.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 44.8%
  • Python 26.2%
  • TeX 20.8%
  • CSS 7.2%
  • Other 1.0%