This training program consists of two modules that, taken together, provide tools, resources and support for combining Programming/Coding and 3D technology in extracurricular STEM education to achieve an engaging and effective learning in both fields. An additional introductory training resource is provided for teachers and students in educational systems where the Python programming language is not yet used in school.

The first module provides theoretical training by introducing relevant Python syntax and data structures, including the use of Python libraries. It starts with an overview of the micro:bit microcontroller and the EduBlocks visual programming environment that enables the creation of MicroPython using click-and-snap graphical blocks like Lego bricks. The rest of the module guides us in developing simple games, while also learning to use Python in the process. The final section of the module introduces Raspberry Pi Pico.

Each major element in the theoretical presentation is followed by practical tasks. We are assisted with the sample code. We are able to follow the procedures step-by-step, learning in the process. Additional exercises are suggested for practice.

>> Download Module 1: Using Python to Enable Creative Explorations of 3D Models

The second module focuses on procedural 3D content generation using a special Python library on top of the OpenSCAD 3D modelling language. It can also be useful for learning 3D modelling without Python, namely by using OpenSCAD’s own scripting language. The introductory section contains an overview of OpenSCAD and explains how it can be installed. This section also presents the Thonny environment and the SolidPython library. Following this introduction, the learning path is built around specific examples. By following the guidelines, we can create 3D designs of a chessboard with all its pieces. The final section guides us to develop a simple mini 3D game of chess and practice using OpenSCAD for animating moves on the chessboard.

>> Download Module 2: Using Python for Procedural 3D Content Generation for 3D Printing

The resources allow learning in the context of practical design or coding tasks or game creation. They can be used by teachers to design their own training, as well as by students who want to learn on their own.

The additional training resource Getting Started with Python is intended for teachers and students that are just starting learning Python. It presents the basics of programming with Python through examples, sample code and code-writing exercises. It also contains instructions on downloading and installing an Integrated Development Environment suitable for beginners. The module can be combined with Module 1 and/or Module 2 if an introductory training on Python is a necessary prerequisite for effective learning.

>> Download an Introductory Module: Getting Started with Python

The European Commission support for the production of this website does not constitute an endorsement of the contents which reflects the views only of the authors, and the Commission cannot be held responsible for any use which may be made of the information contained therein.