I grew up in a small town in the middle of nowhere in the 80's and 90's. Dial-up was only really available to the town the last year I was there. We had computers, no Internet. Our computer guy for the school was shared between four other (and larger) schools.
Computer classes were pretty much non-existent.
What did help, though, was my parents. We had a Vic20 at home, a Commodore 64 later, and then a 486. Between there and the school, I figured out how to get to the command line and do things.
I was "into computers", and my parents were both teachers, so everyone told me I was going to university and taking computer science. Some of it interested me, but I didn't know what I was getting into. I knew what programming was, but it wasn't my favourite.
(That's a lot of I's in there... I'm getting to my point...)
I would have killed to have the Internet and Wikipedia in my teen years. Even more so, I would have loved the ability to take a course to experiment with parts of the "computer" field before I decided (or rather, my parents decided) how I should spend my time after high school.
Not everyone is the same. Everyone doesn't need to be a programmer. But I think it's valuable to make kids take some computer usage courses, and in their later years, make them take some more specialised courses and ALLOW THEM THE CHOICE of what they'd like to experiment with.
Online courses are probably more beneficial for this, as you can offer more specialised courses, and kids who are in smaller towns or in more inaccessible or poor parts of a city have the opportunities they wouldn't have otherwise.
I also suspect a lot of them don't know about other alternatives for extra or other credits. A lot of schools will let you take intro university courses for credit, or arrange for you to job shadow someone for credit, but I'll bet a lot of students don't know about this.