I'll go through galaxy formation later today when I have more time.
I'll also go through research later as well, this response took all of my extra lunch break time.
nopeStochast1c...what you want to do in highschool and college to prepare to learn about the topic.
Please do
Unfortunately, I won't be able to comment on the theory side of astro, I've never been in a theory group because I like experimental so much.
I guess I'll start from the beginning with what you can do to prepare yourself in HS, first with an anecdote about my experience. My high school was in the bottom 2/3rds of the state and offered nothing past AP Calc AB and AP Physics B (for anybody who doesn't know ap courses this corresponds to Calc I and Physics without Calc, also known as physics for non-majors). About the only thing decent about the school was that there were programming courses available each year (that I also ended up taking).
I was able to get into a top university and took the advanced lower division physics track which contained about as much math that could possibly be done with the topic at hand. Pretty much every student in that class had taken through Calc III (multivar calc) and both Physics C (the calc version of Physics B covering Mechanics and E+M) so I was at a severe knowledge gap below these students. However, as you will find with most physics text books the math is all covered and all the physics are built from the ground up, so outside of having to put in a lot of work to learn the math (that was to be formally taught to me a year down the road) I was still able to achieve decent marks in the class.
Moral of the story is, take as many physics and calc courses that your school offers, but don't feel like you won't be able to succeed when you find out you are the only person who came from a school that doesn't teach physics.
As for things that you can do before college that directly relate to astro, the biggest one would be to learn programming (with the reasoning coming with how research is done in astro). I recommend as formal a programming course that you can take, but if your school doesn't offer anything at least learn it through some online courses (codeacademy, university online courses, etc.) The biggest experimental language by far is python (using numpy and scipy libraries) although there are still some old people who refuse to move away from IDL (a pretty crappy programming language that has some really cool astro features). Most computational astro people use C, with some using FORTRAN, although if you want to learn FORTRAN you might want to seek a medical professional.
Outside of programming you might want to get involved in a local astronomy club, many of which are hosted by either local colleges or just amateurs who really like space. It is nice to take a step back every once in a while to just look at things in the sky. I personally do it so rarely that things you would expect astronomers to know like ecplises, meteor showers, and comets I learn about for the first time the day after when either my parents, friends, or now my stream chat mention if I saw them. The only event that I sometimes pay attention to are new moons since those are the best telescope nights.
Additionally you might want to learn LaTeX, since all your papers will be written in it, not to mention if you submit an essay/resume (e.g. for your university application) using it you will get some extra attention since it will look so much better than anybody else's. You also will probably want to familiarize yourself with linux since pretty much every computer in astro is running a distro of linux.