Some Programming Resources
- Mars Rover Resources (NASA)
- Interactive realistic Mars rover driving (Mars Science Lab)
- Curiosity rover (Mars Science Lab)
- Perseverance rover (Mars 2020)
- Mars Rover Game(s)
- NASA games
- Make your own rover game
- Python Programming (online)
- Python interpreters online
- General (free) Python programming stuff for kids
- General (free) Python programming stuff for beginners (not necessarily for kids)
- More advanced stuff
- Miscellaneous Interesting NASA Stuff
- Interactive (WASD or mousepad) open-source rover driving
- Just click on the screen and use the WASD keys (or use your mouse on the control pad in the lower right) to control how it moves around(!): https://opensourcerover.jpl.nasa.gov/#!/home
- Interactive (waypoint) simulated rover driving
- Just click on the screen when in "Free Drive and Rover Replay" mode and it'll move to where you clicked(!!): https://eyes.nasa.gov/curiosity/
- General Curiosity rover resources:
- Main MSL page: https://mars.nasa.gov/msl/home/
- Explore with Curiosity in 3D (mostly images): https://mars.nasa.gov/msl/surface-experience/
- 3D model (click on components for more information): https://mars.nasa.gov/msl/rover-3d/
- General Perseverance rover resources:
- Main Mars 2020 page: https://mars.nasa.gov/mars2020/
- Explore with Perseverance in 3D (mostly images): https://mars.nasa.gov/mars2020/surface-experience/?drive=0&site=31
- 3D model (click on components for more information): https://mars.nasa.gov/mars2020/spacecraft/rover/
- Downloadable + installable Mars rover driving game (with educational info)
- Online Mars rover driving game (play in browser window)
- Instructions for creating a Mars rover game yourself! (will need to create a free Scratch account)
- Scratch website: https://scratch.mit.edu/
- Instructions: https://www.jpl.nasa.gov/edu/learn/project/make-a-moon-or-mars-rover-game/
- It is recommended that you open one of the Python interpreters in one browser window, and have one of the programming tutorials open in a separate browser window, side-by-side
- You may want to also use https://pythontutor.com/python-debugger.html#mode=edit as well to get a better sense of what the code is doing one step at a time as it runs -- this sort of thing is very good for debugging code that isn't doing what you expected
- I can add instructions for installing Python (and other things) locally if folks want, but keeping things online is safer in a sense, for beginners, because it makes it more difficult to accidentally delete important files and such on your computer when you first start learning about file I/O...
-
This is the best online interpreter I've found so far, in terms of flexibility (but not ease of use, necessarily): https://www.python.org/shell/
- Note that this uses PythonAnywhere...: https://www.pythonanywhere.com/
- ...and that it's running the "haggis" version with the libraries available as given here: https://www.pythonanywhere.com/batteries_included/
- I call this the best online interpreter to use because, while it only gives a simple command-line interface (CLI) instead of a file editor-type interface, it has a bunch of libraries that you can load in (with the "import" or "from __ import __" commands) and it shows what happens right away as you type things, immediately
-
This is the easiest online interpreter I've found so far (it allows files to be both saved to and loaded from disk, multiple files open at once, has lots of settings, etc.): https://www.online-python.com/
-
Alternate pretty-good online interpreter (does not require you to create a free account to use it, has some additional Python libraries available): https://trinket.io/python/
-
Yet another online interpreter (will need to create a free account to use it): https://replit.com/languages/python3
-
This is not a normal interpreter per se, but it can be used to visualize what your Python code is doing step-by-step and line-by-line: https://pythontutor.com/
- Copy all your code into here and then click "Visualize Execution" for it to create the visuals for you: https://pythontutor.com/python-debugger.html#mode=edit
-
...There are also 'iPython notebooks' that some folks create and share online -- these range from very complex to very simple
- Jupyter Notebook has a free online tool (Jupyter Lab) that allows ".ipynb" tutorials and such to be shared easily: https://jupyter.org/try-jupyter/retro/notebooks/?path=notebooks/Intro.ipynb
- Google Colab also has an online tool that runs ".ipynb" files as well: https://colab.research.google.com/drive/1YKHHLSlG-B9Ez2-zf-YFxXTVgfC_Aqtt
- Some iPython notebooks for programming for kids are discussed in this forum here: https://discourse.jupyter.org/t/python-for-kids/6747
- PythonTurtle (inspired by Logo) (requires local install)
- This is a self-contained tutorial that requires a local installation, but is pretty good: https://pythonturtle.org/
- Raspberry Pi Coding for Kids Tutorial Series
- Note that you do not need to create a free account at Trinket.io to run things, and you can just use https://www.online-python.com/ instead
- "Introduction to Python"
- Main page that gives an introduction/explanation for parents/adults: https://www.raspberrypi.org/blog/coding-for-kids-art-games-animations-beginners-python-programming/
- Tutorials page (does not require you create a free online account, but will allow you to save progress): https://projects.raspberrypi.org/en/pathways/python-intro
- "Moving Beyond The Basics"
- Main page that gives an introduction/explanation for parents/adults: https://www.raspberrypi.org/blog/python-coding-for-kids-beyond-the-basics/
- Tutorials page (does not require you create a free online account, but will allow you to save progress): https://projects.raspberrypi.org/en/pathways/more-python
- Note that the website also has tutorials for Scratch, if you're interested: https://projects.raspberrypi.org/en/paths
- Kids Python (YouTube video series)
- This is a playlist of 12 videos that one would play while having a Python interpreter open next to the video being played, you will want to click on "Courses" to skip to / see all video tutorials available): https://www.kidspython.com/#/
- Learn Python For Kids
- No need to buy anything, scroll down for a short and sweet tutorial, just try out the code in the interpreter and check to see if it works the way that you think: https://teachyourkidscode.com/learn-python-for-kids/
- Invent with Python (free eBooks online)
- Main page: https://inventwithpython.com/
- "The Big Book of Small Python Projects": https://inventwithpython.com/bigbookpython/
- "Beyond the Basic Stuff with Python": https://inventwithpython.com/beyond/
- (Not Python, but...) "Coding with Minecraft": https://turtleappstore.com/book/
- (Also not Python, but...) Also has a book on Scratch: https://inventwithscratch.com/book3/
- Tynker.com (mainly gives links to other resources)
- Scroll down to "What is The Best Way for Kids To Learn Python?" for useful links: https://www.tynker.com/blog/learning-python-for-kids-is-an-essential-21st-century-skill/
- CodeWizardsHQ (online, mainly gives links to other resources)
- Main page that gives a lot of links to tutorials and an introduction for parents/adults: https://www.codewizardshq.com/python-for-kids/
- Some free coding websites for kids (only Python one given is CodeCombat, Scratch is also noted here): https://www.codewizardshq.com/coding-websites-for-kids/
- Very basic step-by-step tutorial that includes a Python interpreter in the webpage itself(!!): https://learn-python.adamemery.dev/
- UC Libraries website, which has several tutorials that run within a Google Colab notebook online: https://guides.libraries.uc.edu/c.php?g=222622&p=1473174
- As an example, click on "Introduction to Python Part - 1", and then (under "Path") click on "Introduction_to_Python_Part_1.ipynb" to run the notebook
- The main Python website gives a much larger list of tutorials (some of which I also link to in this document):
- Lots of videos and transcripts / instructions: https://www.simplilearn.com/tutorials/python-tutorial
- Online tutorials are straightforward (just click "Next Tutorial" after you try things, don't "Take the Test"): https://www.learnpython.org/
- Has free courses in Python, but requires you create a free user account: https://www.datacamp.com/learn/python
- Mars Curiosity rover model (controllable ROS+Gazebo model)
- Post about ROSject online: https://discourse.ros.org/t/the-nasa-curiosity-rover-rosject-is-now-open-source/7635
- Direct link (will need to create a free account with TheConstructSim to fork and run project): https://rds.theconstructsim.com/tc_projects/use_project_share_link/ab7e9a02-8907-4208-996a-ba1f45c20db2
- Related YouTube tutorial on Mars Curiosity rover model in ROS+Gazebo
- Original post: https://www.reddit.com/r/ROS/comments/lmnqh5/nasas_curiosity_rover_in_gazebo_simulation/
- Direct link to video: https://www.youtube.com/watch?v=fq0DJSbwiZI
- All sorts of Solar System Tours (plus New Horizons/Pluto)!
- Main page with all links (these can be played online or downloaded locally): https://eyes.nasa.gov/
- NASA Pi Day Challenges
- This has a lot of worksheets and answer keys across a whole slew of missions: https://www.jpl.nasa.gov/edu/nasapidaychallenge
- Mars images (highly interactive with lots of images and data)
- Note that this is pretty beefy, not a simple interface here (far more complicated than Google Earth): https://trek.nasa.gov/mars/
- ROS2 Tutorials (Rolling Ridley):