One of the questions that arise is - is it really a political action? For me, it looks like a pretty easy and obviously also quite effective way of taking over a project.
Of course it's a project take over, the politics are most likely just a tool used for somebody's personal ego's affirmation.
They could have just forked the project and continued happily without much fuss, but that would bring no power play.
It's weird to me how people can't see the fascistoid methodology being played out in the open though: if you don't bend to our ideology we'll ostracize you and we will "get rid" of you one way or another. I think there are a bunch of psycopaths that are abusing the trans right movement for personal gains, and are most likely bringing more harm than good to transgender people.
I mean, if i were an anti-trans, it would be actually the perfect tool - you harm the reputation of trans/lgbtq+ people by being abusive in their name and also get personal benefits by removing opponents from "your" project. win-win.
Start with C. Shannon and A. Turing for the CS, and E. Dijkstra and N. Wirth for software engineering (and also to understand the difference between CS, SE, and programming. Spoiler: CS is mathematics. SE is engineering. Programming is a craft.)
what about just directly helping people in your local area, your neighborhood, your city? it may not change the world, but for these people it would mean a lot. i am living in Europe, currently there are refugees from the Ukraine coming to my country, so I help them to get registered, to find housing, to get some basic stuff, and just feel welcome in the new country. that may not sound like a lot, but if you're fleeing from the war and have lost everything, even a little bit counts.
Lisp shows you a completely different way of thinking about soving problems and even if you never use Lisp itself (or any of its flavours) afterwards, you still can use the methods and concepts you'll learn to create much better software.
Are you trying to improve your own pronunciation or the English pronunciation of the Americans? I really hope for the latter, because it would make the world a better sounding place :)
It's a complex question. You have to be aware that most things you'll learn in CS will have basically nothing to do with your job. CS is basically maths. You'll learn formal logic, theorems and proofs, abstract models and algorithms, things like that. Don't get me wrong - they are or can be insanely interesting, but there is also a huge gap between CS (especially on master's level) and things that you encounter in daily job as a coder. So if you expect something that's directly relevant to your work, you'll probably be disappointed.
On the other hand, what you get is a problem-solving toolbox and improved ability to think on an abstract level and solve the general problem. It can be a significant asset if you are aiming at R&D positions or comanies that have a strong focus on that.
I don't know the USC program, so can't say much about it, but just as an additional idea - maybe you should also look into software engineering path - depending on the university, you can get a much more hands-on study. Just as an example - if you think about compilers and programming languages, in CS the focus may be (again, depending on the university and lecturers) on formal definitions of languages, their equivalence, provably correct transformations of expressions, and so on. In SE you may have a larger focus on compiler implementation, optimization techniques etc.
I hope it helps a bit. And just for the info, I do not regret my MSc ;)