You can’t really “learn” public speaking except by DOING public speaking.
Courses may help a bit but simply taking course does nothing for your skills or abilities — this is NOT something that can be mastered by reading a book or taking a class. Only “doing” works. The only one in the list that is remotely helpful (and mostly free) is attending Toastmasters meetings.
Again, the best way to get better at public speaking is to do it. I “learned” advanced level by a combination of Decker Communications classes and working in sales, day-in and day-out presenting to customers. But before that I did other things.
I’m an ambivert — so half introverted. Public speaking was something that utterly frightened the hell out of me back in high school so I did two things: I took every opportunity I could to do public speaking (including some meatspace courses) and I joined a choral group and always volunteered for every performance and every solo opportunity because it scared me to death and yet I knew I’d never achieve any of my life goals if I let myself be scared out of doign things that needed to be done. Along the way I also did Toastmaster which is (compared to Decker) one of the gentlest ways to learn (Decker included being videotaped and then having group criticism of every little thing you did wrong — intense but that’s even better for burnishing off the rough edges very quickly).
At this point, I’ve spoken in front of small groups of CEOs, military brass and politicians up to theater and arena sized venues, and it’s really no different than talking to a friend or colleague, even if it’s an extemporaneous and ad hoc talk. Much of the “battle” is fear. The rest is self-awareness and muscle-memory technique. Theory is no more than 5% of it.