How should I go about doing meaningful academic outreach as a graduate student?
Outreach comes in two flavours: creating interest (wow, this science thing is actually cool!), and educating (this is how you program). I think both are necessary, so take your pick (or both).

Also, don't even think of making it a one man effort. I don't advise to do it alone. There will be times where you will be swarmed in work, and then your outreach will just fall out of priority. Instead, team up with undergrads, schools, youth centres... whoever is willing to help you. If your university has something in place, you should probably go for it, as it will probably suit your primary needs the most. If you cannot find anyone, you can always start alone and get people on board along the way, but do make this a priority to ensure continuity.

Story time: when I was an undergrad, I joined the astronomy club at my university and we did a lot of outreach, mostly talks and workshops about different topics. It was a very good starting point, as I met people that have been in the business for some time, and could help me avoid some of the beginners mistakes. To give you an idea of our success, in some years, we (a dozen of undergrads), single handedly organised half of the events for the Science Week at the Physics Department, usually getting fully booked in less than a week since opening the registrations.

My experiences showed that:


Many teachers are overworked, underpaid, and frustrated; and they would take your activities as a way to relax for an hour. A few others are still passionate and will go out of their way to get you in the classroom and make the most of it.
Teenagers are difficult to begin with, but once you break the toughness layer, they have a bunch of interesting ideas. Also, beyond that point there are not many differences between posh and underprivileged schools.
Ideally, all fronts should be covered. This includes schools, family activities, talks for adults, elderly centres, giving teachers ideas... But of course, you don't have to do them all.
Be engaging. Get small groups, if you can. Prefer interaction in person. I wouldn't recommend teaching programming remotely, as it is too easy to ignore it. It would only work with kids that are really interested, but then, there are tons of online resources to learn.
Sometimes, kids behave like mushrooms, and there is nothing you can do about it. Don't let that frustrate you. Don't be impervious to (self) criticism, though.
Talk to professors active in outreach, even if they are out of your expertise. In my university there were a couple of them from the Optics department, that taught me a few nifty low budget experiments.