I teach a robotics lab and my students lose about a week each semester to
workspace and sourcing problems before they write any robot code. I recorded
the whole thing end to end on Jazzy, including the errors rather than a clean
take: workspace, package, first node, entry points, --symlink-install, and
why sourcing is per-terminal.
It’s aimed squarely at first-week beginners. Happy to take corrections —
I’d rather fix a video than leave something wrong in front of students.
In our robotics course, we have however decided to hide most of these things from the students. Our startup script autoruns colcon build, sources the correct file, changes the shell prompt and that’s how students know that “ROS works in this window” (it also runs everything in the correct Apptainer image).
Our students never try to create a ROS package, they never create a new file in the packages we provide, and they never write any file from scratch (so they can’t forget shebangs). All they do is fill in TODOs we’ve left them in the code and then run the code and debug its behavior.
I was long opposing this approach, but in the end I agree.
The things you describe in your video are beginner mistakes that are relatively easy to find answers for once students need them (although it takes some time). We try to focus on the more complex parts - writing and testing algorithms in real and in sim, finding out if a part of the system works as expected, hitting real-world limits and noise, or high-level behavior design.
Of course this is not a criticism of your course. It’s definitely great you care about your students in this way and you tech them ROS! I just wanted to add our point of view which (I hope) might be useful to others.