Google also has a few free courses: https://techdevguide.withgoogle.com/paths/new_to_cs/#sequenc...
Also see the getting started guide from r/learnprogramming: https://old.reddit.com/r/learnprogramming/wiki/faq
Personally, at least, I don't learn very well from these resources. I had more luck either learning from community college professors or from videos like LinkedIn Learning (paid). Also heard good things about frontendmasters.com (only for web frontends, not for generalist programming).
"I started with Mike Dane (Giraffe Academy) on YouTube. Watched his programming videos beginning with Python. I hadn't yet decided what area of programming I wanted. Then I found Bucky Roberts (The New Boston) next, and watched videos on areas I was interested in.
Then I started looking for frontend projects to code along to and I stumbled on Brad Traversy (Traversy Media).
So, personally, I'd recommend either of these guys I just mentioned. After getting the basics down, just start building stuff. That's the only way to TRULY learn. "