1. я горячо поддерживаю совет общаться с учителем информатики. учитывая какие деньги учителям платят - он скорей всего энтузиаст, работающий в школе только ради одарённых детей вроде тебя
2. есть подозрения, что твой уровень уже выше того, что изучают не только в 9-м классе, но и во всей программе. просто потому что программа в лучшем случае ориентируеьтся на средних учащихся и самоучкам в этом смысле гораздо проще. тем не менее - учитель может дать советы что изучать сверх программы и помочь там где возникают сложности. советую вообще контактировать с теми, кто понимает как вкатиться в CS, а не пытаться построить план обучения самостоятельно
3. этот вопрос можно погуглить, вот один из известных ресурсов -
https://teachyourselfcs.com/
4. кстати, из всех навыков для CS самый важный - английский. чтобы читать, писать, случшать лекции, общаться с коллегами по всему миру. если он не fluent - советую налечь в первую очередь на него, поскольку мозг так устроен что детям гораздо проще освоить языки
исходя из моего опыта, наиболее важное для программиста в повседневной работе это
- базы данных (SQL, noSQL...)
- приницпы ЯП (ООП, ФП, типизация...)
- параллельное и распределённое программирование
- как работают ОС, CPU, трансляторы, DBMS...
но если ты больше заинтересована в том, чтобы не изучать всё самой, а подготовить матбазу для того, чтобы вкатиться в вуз, то лучше сосредоточиться на фундаменте для высшего образования - а это английский, математика, ну и ещё алгоритмика для прокачки мозгов (тот же leetcode)