Scratch (see https://scratch.mit.edu/) is a programming language aimed at introducing coding litteracy to schools and education. Yet you can implement even complex algorithms and games. It is visual, multi-platform and critically, open-source. Also, the web-site educates to sharing code and it is very easy to "fork" an existing project to change details or improve it. Openness at its best!
During a visit of a 14-year schoolboy at the lab, we used that to make a simple psychopysics experiment available at https://scratch.mit.edu/projects/92044597/ :
The instructions are as follow:
Flash-lag effect ================ Start a session by pressing the space bar. Then move the ball with the left and right arrows until you perceive that it is aligned with the player at the moment the ball flashes. Press the "up" key to unravel the true position of the player at the flash and the one you perceived (the ball) .
As such, we had to handle several "problems" such as interacting with the keyboard, making loops ("while"), adding conditions ("if") and displaying the different layers (see "inside" the program @ https://scratch.mit.edu/projects/92044597/#editor). Importantly, we also found mathematics to be important and useful to compute the velocity of the football.