Creating Resources for Specific Audiences

Creating Open Educational Resources for STEM Education

How to author open science, technology, engineering and math materials, including equations, simulations, data sets and code, with accuracy, accessibility and reuse in mind.

On this page
  1. Why STEM content needs its own care
  2. Equations and mathematical notation
  3. Units, numbers and precision
  4. Diagrams, graphs and charts
  5. Simulations and interactive models
  6. Data sets
  7. Code examples
  8. Practical work and experiments
  9. Check, then check again

Why STEM content needs its own care

Science, technology, engineering and mathematics resources share features that ordinary text does not: symbols and equations, diagrams, numbers that must be right, interactive models, and often data or code. Each of these creates a practical problem for open publishing, and an error costs more than a typo, because learners may not be able to tell what is wrong. This article concentrates on authoring choices; the subject content itself is only as good as the checks you apply.

Two rules underpin everything here. Only include well-established facts, and verify every calculation and code example yourself before publishing.

Equations and mathematical notation

Equations can be published in several ways, and the choice affects accessibility and reuse.

  • Images of equations look fine but cannot be read by a screen reader, resized cleanly or edited by someone adapting the resource. Avoid them when you can, or provide a text description.
  • Structured markup for math, such as widely used web standards and text-based notation systems, produces equations that scale, can be read aloud by assistive tools, and can be edited. Many authoring tools support this.
  • Plain text works for simple expressions, for example “2x + 3 = 11”.

Whatever approach you choose, keep the source. If your equations are stored as editable text, another author can correct or translate them.

Always explain symbols the first time they appear, state units, and write out steps rather than skipping them. For example, to solve the equation 2x + 3 = 11, subtract 3 from both sides to get 2x = 8, then divide both sides by 2 to get x = 4. Check by substitution: 2 times 4 is 8, and 8 plus 3 is 11, which matches. Including the check teaches a habit as well as an answer. Fuller coverage of these steps lives in material on linear equations and algebra basics, so a STEM unit can mention them briefly and move on.

Units, numbers and precision

Mistakes with units are among the commonest errors in science teaching. State units with every measured quantity, use them consistently and show conversions explicitly. When a measurement has uncertainty, say so; a reading is rarely exact, and learners benefit from seeing this acknowledged early. Resources on unit conversion and measurement uncertainty cover the basics, and your STEM unit should be consistent with them. Avoid giving more decimal places than the data justifies.

Diagrams, graphs and charts

Provide a text alternative for every diagram, describing what a sighted learner would take from it, not just that it is there. For graphs, label both axes with quantities and units, and give a caption stating the point being made. Skill in graph reading is part of the learning goal, so consider asking learners to interpret a graph rather than telling them everything. Do not use color as the only way to distinguish lines; vary patterns or add labels.

Vector formats such as scalable images keep diagrams sharp at any size and are easy to edit. Keep the editable original, not just the exported picture.

Simulations and interactive models

Interactive simulations let learners vary a quantity and see the effect. They can be powerful, but they need care when you author or reuse them:

  • Check the model. A simulation simplifies reality. State its assumptions and where it stops being accurate, so learners do not take it for the real world.
  • Provide guided questions. Open-ended play is not always productive. Tasks such as “predict what will happen if you double the length, then test it” make the purpose clear.
  • Plan for access. Some simulations need a modern browser or a good connection. Provide a static alternative, such as screenshots with a written walkthrough, for learners who cannot run it.
  • Make them keyboard accessible. Many interactive tools rely entirely on a mouse.
  • Check licenses. Embedding a simulation does not mean you can copy or alter it. If you are not the author, confirm its license allows what you intend, and credit the source.

Evidence on how well simulations improve learning varies with how they are used. Avoid promising results, and describe them as one tool among several.

Data sets

Data lets learners practice handling real or realistic information, and open data can be reused freely if the license allows. When including data:

  • Say where it came from, when it was collected and how, and under what license you are sharing it.
  • If it is invented for teaching, say so clearly, so no one mistakes it for real findings.
  • Remove personal information. Even data that looks anonymous can sometimes identify individuals, so be cautious with anything about people, and follow your institution’s and your country’s rules.
  • Publish data in an open, plain format that many tools can read, rather than one tied to specific software.
  • Include a short description of each column, with units.

Small, clean data sets work well for teaching. A table of ten values can illustrate the idea of an average without burying learners in detail, and spreadsheet basics are a natural companion when learners handle data. Working through a short example also shows how real data can have gaps and oddities.

A small check you can include: for the values 4, 8 and 6, the sum is 18, and dividing by 3 gives a mean of 6. Short, verifiable examples like this help learners trust the method.

Code examples

If a unit includes code, make sure it runs and does what you claim. Test it in a clean environment, state the language and version you used, and show the output. A short example for beginners might be:

values = [4, 8, 6]
mean = sum(values) / len(values)
print(mean)

This prints 6.0 in Python 3, because sum(values) is 18 and len(values) is 3. Keep examples short, explain each line, and avoid code that depends on software that learners may not have. Resources for people learning Python as beginners can then pick up from there. If code changes over time, say which version you wrote it for and where updates can be found, and keep it in a place where changes can be tracked, using the ideas behind version control.

Practical work and experiments

Where a unit describes experiments, pay careful attention to safety. Do not include instructions that could be dangerous to follow without supervision, and always advise following the safety rules of the school or laboratory involved. Choose low-risk activities for open resources. Design them as fair tests, with a clear question, what is changed, what is kept the same and what is measured. This links to ideas about controlled experiments and the wider scientific method, which your resource can reinforce.

Check, then check again

The best protection against errors is a second pair of eyes. Ask a subject expert, a teacher or an advanced student to review every worked example, number, equation and piece of code. Provide an easy way for readers to report mistakes, and respond to them. One advantage of open publishing is that corrections can be made quickly and shared widely.

The complete guide to creating resources for specific audiences

Creating Open Educational Resources for the 21st Century Learner
Read the guide

Keep exploring

Guides from other topics

All topics →