Skip to content

sebsteinig/introduction-to-scientific-computing

Repository files navigation

Introduction to Scientific Computing

Material developed for the 2022/2023 "Introduction to Scientific Computing" course at the School of Geographical Sciences at the University Bristol. The material in this repo covers the first half of the course (see outline below) and has been created by Sebastian Steinig in the form of interactive Jupyter workbooks. Large parts of the material for the first weeks are adapted from Python introductory courses from the Advanced Computing Research Centre (ACRC) training courses, written by Matt Williams and Christopher Woods available here. You can find credits and licenses for different sections directly in the respective workbooks.

Unit Information

The unit will enable students to effectively utilise widely used tools in Data Science by introducing them to the fundamentals of scientific computing. Such tools include, but are not limited to, Linux shell and command line usage, GitHub and version control, SciPy, basic programming with Python for spatial applications, use and creation of metadata, parallelising code. This is a technical unit and the emphasis will be on how to use these tools using a variety of applications both from physical and human domains.

Upon successful completion of this unit, students will:

  • understand the complexity and the fundamentals of scientific computing
  • use scientific computing to solve Geographic Data Science problems
  • explain, understand, and employ analytical methods to analyse geospatial data sets
  • produce reproducible workflows
  • collaboratively develop and deploy scientific software with version control on Linux-based systems
  • develop high-performance computing strategies to do data science at scale

Outline

part 1: Python for Geographic Data Science (Seb Steinig)

  • week 1: Introduction and unit overview
  • week 2: Introduction to Python
  • week 3: Code structuring
  • week 4 Numerical Python
  • week 5: Analysing geospatial datasets
  • week 6: Review of part 1 and introduction to assessment #1

part 2: High-performance computing (Tony Payne & Steph Cornford)

  • week 7: Profiling, debugging and IDEs (Steph)
  • week 8: Version control with git and GitHub (Steph)
  • week 9: Linux introduction (Tony)
  • week 10: Using high-performance computing (Tony)
  • week 11: Parallelising code (Steph)
  • week 12: Review of Part 2 and introduction to assessment #2

About

Material developed for the 2022/2023 "Introduction to Scientific Computing" course at the University Bristol.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages