For: FRC fabrication-focused students joining High School Engineering Boldly cohort
Platform: macOS (with SSH access to Linux/ROS 2 robot or dev box)
Non-negotiable outcomes by the end of the prep day:
Can navigate around in Terminal (
cd,ls,pwd,mkdir,rm).Can open a sandbox repo in Cursor, run a Python script, and change it.
Can do the basic git loop:
status → add → commit → push.Can SSH into a remote Linux machine (robot / dev box) and run a ROS 2 demo like
talker/listeneror a pre-made launch file.Have a 1-page cheat sheet printed or saved.
Proposed Day 0 Schedule (≈ 6 hours of focused work)
1. Terminal & Unix Basics on macOS (60–75 min)
Goal: Terminal feels like a new—but friendly—tool.
Open Terminal.app and work through:
Where am I / what’s here?
pwd # print working directory ls # list files
Move around & make stuff
cd ~ # go to home mkdir dev_prep # make a folder cd dev_prep mkdir projects notes cd projects touch hello.txt ls
View & edit
open hello.txt # opens TextEdit
Delete (with respect!)
rm hello.txt ls
Slightly more advanced
cd .. ls mv projects code_projects ls
History & tab-complete
Up arrow = previous commands
Tab = auto-complete names
Mini-mission:
Create dev_prep/playground, make 3 text files, rename one, delete another.
2. Cursor + Python + GitHub Sandbox (90 min)
Goal: You can open a project in Cursor, run a script, edit it, and commit/push.
Prep (do in advance)
Create GitHub repo:
engineering-boldly-day0-sandbox.Add
hello.py:
print("Hello from Engineering Boldly!")
Add
README.mdwith 3–4 short tasks.Ensure Git is installed:
git --version
Clone the repo
cd ~/dev_prep git clone https://github.com/YOUR_ORG/engineering-boldly-day0-sandbox.git cd engineering-boldly-day0-sandbox ls
Repository = a folder that git is tracking.
Remote (GitHub) = cloud copy.
Open in Cursor & run the script
From the repo folder:
cursor .
In Cursor:
Open
hello.py.Run in the integrated terminal:
python3 hello.py
Mini-mission:
Change the print message to include your name, then run it again.
3. Git in One Hour (Beginner Mode) (60 min)
Goal: One loop internalized:
edit →
git status→git add .→git commit -m "..."→git push
After editing hello.py:
git status # see what changed git add hello.py # or: git add . git commit -m "Personalize hello script" git push
Refresh GitHub in a browser to see the change.
Analogy:
add= putting parts in the “ready to weld” staging area.commit= doing the weld and stamping this version.push= sending that version to the team repository.
Mini-mission:
Add math_test.py:
a = 5 b = 7 print(a + b)
4. Linux + SSH + ROS 2 Demo (90 min)
Goal: Bridge from Mac dev → robot brain.
Assumptions:
Pi or Ubuntu box ready with ROS 2 installed.
SSH into the robot/dev box
On your Mac:
ssh rcr@192.168.1.1 # or your hostname/IP
Once connected:
pwd ls cd ~ ls
Basic Linux flavor
mkdir day0_test cd day0_test touch robot_notes.txt ls
ROS 2 “just run it” demo (recipe-driven)
source /opt/ros/kilted/setup.bash # or your setup script ros2 run demo_nodes_cpp talker
In a second SSH terminal:
source /opt/ros/kilted/setup.bash ros2 run demo_nodes_py listener
In a third SSH terminal:
source /opt/ros/kilted/setup.bash ros2 node list ros2 topic list ros2 topic echo /chatter
Map to FRC:
Node = a subsystem.
Topic = a data channel.
Message = the packet going over the channel.
Mini-mission:
Start
talker+listener.Confirm
/chatterwithros2 topic echo /chatter.Then Ctrl-C everything cleanly.
(If you have an RCR bringup launch file, you can substitute that here, but still end with node list/topic list.)
5. Wrap + Teach-Back + Cheat Sheet (30 min)
You can teach back live:
Show: how to clone a repo.
Show: where you put code on the Mac.
Show: the git loop.
Show: how you'd SSH into the robot and start a ROS 2 demo.
Day 0 Cheat Sheet
Terminal (Mac)
pwd– where am I?ls– list filescd folder_name– go into foldercd ..– go upmkdir name– make folderrm file– delete fileopen file.txt– open with default app
Git (inside repo)
git status– what changed?git add .– stage changesgit commit -m "message"– save snapshotgit push– upload to GitHubgit pull– download latest from GitHub
Cursor
Open repo:
cursor .(from terminal in repo folder)Use sidebar to open files
Use built-in terminal to run:
python3 file.py
SSH to robot / Linux dev machine
ssh 192.168.1.1(or your hostname/IP)Then use the same commands:
pwd,ls,cd.
ROS 2 basics
source /opt/ros/kilted/setup.bashros2 node list– see running nodesros2 topic list– see topicsros2 topic echo /chatter– see messages
Demos:
ros2 run demo_nodes_cpp talker ros2 run demo_nodes_py listener