Skip to content
SPASCLE
Python for Scientific Computing · Free, no sign-up

Learn programming through the science concepts you know

SPASCLE teaches Python from the very first line using examples from materials science, chemistry, physics, biology and biochemistry. Write and run code in your browser, get instant feedback, and build skills you can use in your field.

Examples drawn from

  • Materials Science
  • Chemistry
  • Physics
  • Biology
  • Biochemistry
  • General Programming
Why SPASCLE

Programming, taught in the language of your science

General coding courses rarely use scientific examples, and computational science resources often assume you can already program. SPASCLE bridges that gap.

  • Starts from zero

    No programming experience needed. Every term is explained before you use it.

  • Grounded in your field

    Concepts are taught with problems scientists recognise, not shopping carts and to-do lists.

  • Nothing to install

    Python, NumPy and Matplotlib run in your browser. Open a lesson and start coding.

How learning works

From your first line of code to real scientific analysis

Read a concept, try it straight away, and get feedback that tells you what to do next.

  • Structured lessons

    Short, beginner-friendly lessons organised into modules, with clear objectives and next steps.

  • Code in your browser

    Edit and run real Python alongside each explanation, with output and readable error messages.

  • Instant feedback

    Exercises are checked automatically. See which tests passed and ask for an AI hint when you're stuck.

  • Guided labs

    Work through step-by-step computational materials science problems with supplied data and starter code.

Scientific contexts

Same concept, examples from your field

See a programming idea in a setting you recognise. Choose chemistry, physics, biology, biochemistry or general programming wherever examples are available.

  • Materials science is the default for every lesson
  • Set a preferred field for the whole course
  • Switch fields for a single lesson without changing your default

Lesson: Variables and Data Types

unit_cell.py
# Lattice constant of copper (FCC), in ångströmslattice_constant = 3.615volume = lattice_constant ** 3print(f"Unit cell volume: {volume:.2f} ų")
Output
Unit cell volume: 47.24 ų
Available now

Python for Scientific Computing

A beginner course that introduces Python through computational materials science, from your first program to analysing and visualising materials data with NumPy and Matplotlib.

Level
Beginner
Modules
7
Lessons
24
Cost
Free
Start the Python course

Course outline

  1. 1

    Introduction to Python

    3 lessons

    Introduction to Programming · Setting Up Your Python Environment · Your First Python Program

  2. 2

    Python Fundamentals

    4 lessons

    Variables and Data Types · Operators and Expressions · Strings · Input and Output

  3. 3

    Data Structures

    4 lessons

    Lists · Tuples · Dictionaries · Sets

  4. 4

    Control Flow

    3 lessons

    Conditional Statements · For Loops · While Loops

  5. 5

    Functions

    3 lessons

    Introduction to Functions · Function Arguments · Return Values

  6. 6

    Scientific Python

    4 lessons

    Introduction to NumPy · NumPy Arrays · Array Operations · Introduction to Matplotlib

  7. 7

    Computational Materials Science

    3 lessons

    Representing Materials Data · Working with Scientific Data · Visualizing Materials Properties

Write your first line of scientific Python today

No installation and no account. Open the first lesson and start coding in your browser.

Start Learning