** This repository is a work in progress, the lessons may be incomplete or unfinished. **
This repository contains classroom friendly lessons, tutorials, projects, and questions, and materials for the TurtleBot 4 (TB4).
The full index of units and lessons is available here.
Root
Media (Images, etc)
Tutorials (stand alone lessons, e.g. docker, vm, etc)
Tutorial000-Name
TutorialContent
Units
Unit00-Name
Unit00-Name-Lesson00-Name
Unit00-Name-Lesson00-Name
src
Unit00-Name-Project
Unit00-Name-Project.md
src
Unit00-Name-QuestionBank
Tools
Each TB4 lesson comes with an instructional Markdown file that can be easily converted into a Google Slides Deck or Microsoft Power Point slide deck. Instructors are encoraged to create, update and modify these slides as they see fit. For convience we have include the PowerPoint Slide and a link to a read-only copy of the slides in Google Slides.
Slides are generated using a utility called md2pptx. Md2pptx has some pecularities about its syntax but it is generally proficient at converting markdown notes to slides. These instructions for installation are tested and verified on Ubuntu 20.04.
Install the dependencies
pip3 install python-pptx
In the root of this directory clone md2pptx
git clone [email protected]:MartinPacker/md2pptx.git
cd md2pptx
sudo chmod +x md2pptx
<TODO> system level install
Md2pptx uses a template PowerPoint file as the basis for its slides. We've built a default TB4 template and it is located at . You are more than welcome to modify this template as you see fit.
md2pptx needs Python 3.8+ to run correctly, and on older systems you may encounter errors such as, "if RGBmatch := RGBRegex.match(str):", if this is the case you should use a virtual environment to run the script.
First install Python 3.8:
$ sudo apt-get install python3.8 python3.8-dev python3.8-distutils python3.8-venv
Next, go to the root of the directory, and create your virtual environment, activate it
$ cd TurtleBot4Lessons
$ python3.8 -m venv env
$ source env/bin/activate
Check that you got the right version of python using:
which python
Next we'll install all of our Python 3.8 dependencies
python3.8 -m pip install wheel python-pptx pyyaml
Now you should be able to generate the lessons correctly.
cd tools
python3.8 generate_lessons.py
Next time you want to run the lesson script, just activate the virtual env and be on your merry way.
source ./TurtleBot4Lessons/env/bin/activate
When creating slides it is helpful to see text and images a they render. The best solution I have found so far is to use a small python application called grip.
sudo pip install grip
grip -b index.md
To generate markdown tables use CSV2MD. Please keep a local CSV file.