To directly answer the question, yes, to those who would seek it in great depth, to everyone else a loose overview. It's likely these things will feature heavily in their lives, even if they don't actively notice them. It's sure to be relevant. If nothing else from a problem sovling angle.
I wish I knew programming and algorithm or had the opportunity to take a course when I was in school.
You have an oppertunity now? You don't need "school" you have the interwebs? There's more knowlege on there than you would care to imagine, it's not all pr0n and dogs in hats. This is a well documented subject, with many modern languages specifically aimed at being easy to learn. I would suggest Python or Java as some introductory forray, or if you're feeling "brave" take a stab at C/C++ that seems to scare most new, but really isn't that much of a chore. Between official documentation, various how-to type documents, freely downloadable books on the subject, open source examples and various forums you can render yourself semi-competent in not much time at all. The rest is just practise and more detailed education of various specific principles. You should be able to pull this off costless as tools and techniques are all freely available to the seekers, unless you'd also aim for hardware developments then some basic things like a breadboard, jumper cables, various components etc will possibly procude a cost.
If one would "learn well by doing" I would suggest getting a raspberry Pi - as this was specifically aimed at teaching hardware development for children. Even children can does it, it's that simple. It was attempted to be cheap enough to put one in every classroom, the Pi Zero can be as little as £4. A breadboard freindly Arduino nano clone can be about $2 tho. You can ofc program with whatever you use to access these forums, most commonly what you would require is a text editor(and possibly a compiler with some languages) What is "special" about the pi however is the GPIO - General Purpose Input Output - basically a row of pins like an old IDE connection on HD's that make it really simple to attach things to, and thusly control via a computer. Anything, pretty much. Can learn yourself some electrical engineering at the same time. After you've nailed yourself some "hello world", got a grip on variables, know your way into/out of loops etc Set yourself a simple and stupid problem to solve - like making an RGB LED operate as a "traffic light". Or a few, simulate an entire intersection. Then make the model a little more complex, and add in a button to get all the lights red so people can cross - then mulitple buttons so only relevant lights require be red. Truely not groundbreaking stuff but the lessons you learn in such simple things will teach you much for when it comes to actually solve a real problem the output you would have use for.
As for being a skill of the future, maybe not. "AI" is progressing, wonderfully, "AI" designing hardware was quite interesting, and after a few generations of refining it's designs after watching them perform, it was showing definite improvements, similar can be expected from the field of programming and agorythms themselves, they will be tuned by AI and then created by AI. Doesn't mean it's not something worth knowing, or useless to be knowing. Knowing how the planets revolve around Sol doesn't change anything much within itself - but it's good to know, and knowing this allows for other things.