Not to nitpick, but why does the coding language jump from Scratch to C++ ? Wouldn't kids find Python less infuriating that Scratch and less intimidating than C++ ?
I can only speak for Vex V5 (one of the systems they teach) and VRC, but from a competition and user standpoint:
Scratch is used when coding isn't a focus, and mechanical engineering students just want to 'get the job done'.
C++ is used because it's probably the most 'pro' language. Close to bare metal unlike Python, but object oriented and stuff unlike C. C++ is used pretty much any time complex algorithms, threading, etc. are involved during competition.
Recently Vex has been trialing Python in Vexcode, but it's relatively new so they might not have built courses for it yet, if the even plan to.
Maybe it's me, but I've noticed that C++ isn't that intimidating at all. It has its intimidating things for sure, but I feel C is much more intimidating. The reason for that is that modern C++ has quite a few features. So in certain cases that means that you don't have to program things in a cumbersome way. I always felt like that with C.
seems like scratch more efficient in teaching basic concept of programming like while loops, control statements without learning specific language syntax, in addition to, scratch arguably is more visual and interactive.
I am tutoring my son in law and we started with Scratch following cs50. It was thankfully (to me) only 1 lesson before jumping to C. Do you have references for Scratch being more efficient in teaching basic concepts? Or just intuitive because no syntax (which very well may be true)?
Scratch is slower interaction for me just because I have muscle memory for text/ide/command-line, but I can see how Scratch would be a lot faster with novices given the pervasive threads and click-to-run.
It's not clear to me really where to start for somebody like that me that has advanced CS knowledge but knows nothing about robots. Still just start from the basics?
I built a two axis gimbal for tracking satellites with an RF antenna. I used a couple moteus controllers and a raspberry pi and just started hacking away. Took about four weeks to get something useful.
I’d come up with the project first and then find someone doing it (or something similar) on YouTube to get some ideas. Keep it functional but simple, 2-3 degrees of freedom to start. No quadruped robots unless you are ready to invest $5k+ and probably multiple years into it.
Do you know basic electronics? I bought one of those cheapie elegy arduino starter kits on Amazon and actually found it to be great. Lots of common commodity sensors and parts, and a useable manual to walk you through them. It helped springboard me into larger projects, and move on to ros.
I'm branching out a bit more and using some different sensors available on their site and learning low level microcontroller programming and interfaces, and having a good time with it. It's been a refreshing change from the normal high level x86 compiling.
Maybe try Making Embedded Systems by Elecia White, more of a software eng into firmware dev but it won't be C++ but maybe teach your LED to blink before you teach a robot to pathfind.
It really depends how far you want to go. For batchelor degree level robotics, the below is roughly what you'd want. That would let you write basic control software for most things from a plane to a production line.
Theres a fairly dense mathematical background to a lot of robotics, some of which is parallel to advanced CS but some which will be entirely new. Linear algrebra is a good starting point to jump into robot kinematics, and from there dynamics - kinematics(in robotics) is basically maths describing the position & motion of the end effector of a robot arm as a function of each of the joint values like angle or extention (and vice versa - called inverse kinematics!). Dynamics takes that further by looking at the force required at each joint to provide a certain acceleration of the end effector. A lot of things that might not seem "arm-like" can be modelled as arms for this, including 3d printer print heads or office chairs
Another topic to look into is control theory, which is used in a lot of fields but I wouldn't have thought it would be taught in CS classes (I'm trained in robotics so wouldn't know!). This is really critical to understand for robotics tho, a good start within this topic is understanding what PID control is.
Another useful thing will be understanding path planning basics. While you probably know some things that feel like path planning (Dijkstra's, a* etc) those are useful but not nearly the whole of it. New things could be cell decomposition (splitting a region containing obstacles into several sub-zones that contain no obstacles, useful for going from a global map to a local map), or calculating Configuration space (basically your robot isn't a point entity but actually is a physical shape, meaning you can't path arbritrarily close to an obstacle. Configuration space is "growing" obstacles such that the point you are using for navigation touching the edge of new obstacles is equivalent to the edge of the robot touching the old obstacles).
Some things that you probably already know such as computer vision are useful in robotics, so you aren't starting completely from scratch. Not sure if you're familliar with statistsics and/or Kalman filters and their variants, which would be very helpful. You're probably also familliar with low level networking stuff like packets and signal processing - knowledge on using an oscilloscope will be helpful!
Something you can use to practise some of this stuff is install a fresh linux partition with ROS (https://www.ros.org/ - best to keep it in its own linux parititon) and webots/gazebo (two robot simulation software - I like webots). Then you can dissect the control programs that come stock, and edit them or write your own. Also ROS is another thing in and of itself that might require a little bit of learning, but with good CS and the excellent ROS tutorials you should be able to figure out how to get nodes up and running in a day or two
I've been thinking about making a youtube channel with intros to some of this stuff one day, but thats a ways away yet
Each of these are really dense topics that will take a good few months to years to get truly proficient in, and they don't really cover stuff like electronics, biology (yes it comes up surprisingly often), materials or mechanical engineering which are also important for robotics, as well as stuff like knowledge about sensor types and their benefits and use cases (when to use LIDAR, when to use structured light sensors, sonar, ultrasound, infrared, radio etc). I tried to name-drop the most important topics in the hopes that it can start your search, but if you have any other questions feel free to ask.
Contrary to popular HN opinion, management jobs outside of big tech do not actually pay that well. I’m assuming the parent poster wants to switch career tracks entirely rather than stay within his/her currently available roles.
Can you write code? Can you manage stakeholders? Run complex projects with a moderate level of tech understanding? Can you understand a technical system and write documentation?
(Approximately) Nobody in tech cares about certificates and that goes 5x for non-technology certificates. What are skilled in doing matters way more than what paper with a stamped gold seal has your name on it.
Yes I can do all of those. In the Midwest, DC beltway, Northeast, paper is king. Much to the disbelief of HN tech enclaves that don't care about credentials are rare.
Snowden didn't have a degree and worked in DC beltway :P Anyway, most of the jobs that showed up when I googled "senior robotics engineer Virginia" don't mention a cert or degree (they ask for X-years of professional experience) or only mention a degree within a list of many desired qualifications ...
Idk what to tell you, everyone seems very reticent to hire despite actual experience. In some cases it's statute preventing the hiring of people without degrees.
It's not all roses like comes up on HN frequently.
I’m in the Northeast and been hiring tech people here for decades. I’ve never seen a place where paper was king, but if paper is what’s holding you back, go get it.