For better or for worse I’ve concluded that the best “textbook” for teaching ROS to Python developers is “Programming Robots With Ros” by Quigley, Gerkey and Smart. It is a few years old and uses Indigo. Many of the code and other instructions don’t work exactly as written. But the sequence of explanation and examples is really excellent.
My question: have any of you developed course notes, powerpoints or similar to go with that particular book that you’d be willing to share? I am starting to write some myself to see how it goes and thought I would reach out.
For teaching students they should be well versed in both C++ and Python, and perhaps any other language tricks of the trade. It would be doing them a disservice as with ROS in my experience I actively use both, all the time, sometimes both in the same day to achieve a goal.
I have been teaching ROS with C++ at least two times at Universities, and it was clear that students struggled more with C++ syntax and build requirements that with ROS concepts.
Last ROS courses I used Python with student with zero background on Python and it was much more easier for them to grasp faster ROS concepts.
So, I think, unless you have students with good background in C++, it will be painful for them.
It seems with new C++ 11 supported in ROS2, programming in C++ with ROS will be less tedious.
@Anis_Koubaa I totally agree and have reached the same conclusion. Our students know Java and Python (and many know additional languages. But C++ is a rare bird.) I do agree that to get a “job” in the ROS world you probably are going to need to know C++ but for teaching Python is the way to go.
(Anyway I have no desire or intention to start a debate on this. Everyone has their own experiences.)
@ricopicone yes, I did. They have been tested with melodic. They assume and refer to the Turtlebot 3 robot. And I also have copies of all the scripts in the book updated for those versions of software and hardware. They are all open source: