Microsoft and NASA offer some ideas about how you could apply Python for space exploration

Microsoft has teamed up with NASA to create three project-based learning modules that teach entry-level coders how to use the Python programming language and machine-learning algorithms to explore space, classify space rocks and predict weather and rocket-launch delays.


Students need a Windows, Mac or Linux computer to complete the modules, which teach the basics of what a programming language is, how to use Microsoft’s Visual Studio Code (VS Code) code editor, install extensions for Python, and how to run a basic Jupyter Notebook within VS Code – some of the key ingredients to get started on a machine-learning project.


Microsoft’s learning modules don’t actually teach anything about how to code in Python but rather offer some ideas, focussing on NASA’s space exploration activities, to illustrate how Python could be used in space exploration.

It might suit students learning to code who need some ideas for how that knowledge could be applied to solving challenges NASA faces, or those considering programming to see how Python could be used.

The Introduction to Python for Space Exploration module contains eight units and offers background on NASA’s Artemis lunar exploration program, which aims to land the first woman and the next man on the moon by 2024.

It also details key technology behind the program, such as exploration ground systems, the space launch system, human landing systems, communication systems and more.

There’s not much information about how to learn Python in the first module, but it does explain how machines and robots used in lunar exploration give computer scientists and developers an important role, alongside astronauts and geologists. 

“Deciding how to program a robot to collect rock samples, collect metadata, and not disturb the sample area, is non-trivial, especially when you consider that developers can’t test the robots in a truly accurate environment before sending them on the mission,” it explains.

The second module, Classify space rocks by using Python and artificial intelligence, also has eight units and requires some “Python experience”. It details key data analysis and data visualization libraries for Python, such as PyTorch. Of course, Microsoft plugs its Azure AI services, too.

Again, there’s no real information about how to start programming in Python, but it explains how AI can be used to improve space rock research. For example, astronauts with a computer could take photos of rocks in space to quickly identify the type of rock it is.

The module for predicting rocket launch delays with machine learning explores what kinds of algorithms are more suitable for different types of analysis, such as classifying images, predicting values and generating recommendations. It also offers a high-level overview of training a machine-learning model.

While Microsoft’s NASA lesson doesn’t offer any actual lessons in Python programming, the company has previously released free video tutorials that do aim to learn Python. (Source:””)