Что делать... Начинать тренироваться в том, чем программист будет заниматься всю свою карьеру. А именно - планировать свою дальнейшую стратегию действий с учётом наличествующих ресурсов, стараясь построить наиболее реалистичный план работы, который приведёт тебя к успеху.
Шаг первый. Как следует осмыслить свою цель. В программировании каждая деталь важна. Общими словами отделаться не удастся. Какую роль ты отводишь высшему образованию? Чем, по твоему, отличается один вариант образования от другого (разные ВУЗы, разные специальности)? Что конкретно ты приобретаешь/теряешь в зависимости от обучения на разных ВУЗах/специальностях? Как будет отличаться твоя дальнейшая карьера?
Шаг второй. Осмыслив цель, нужно провести учёт всех наличествующих ресурсов, которые тебе необходимы и которые могут помочь достичь цели. Подумать, какие ресурсы наиболее критичны, чего не хватает.
Шаг третий. С учётом имеющихся ресурсов, выбрать хорошую, но при этом реалистичную цель, и начать прорабатывать стратегию достижения этой цели. Имеет смысл начать с общих рассуждений в духе "какие наиболее глобальные вещи предстоит сделать", в частности, узнать, какие требуются знания для поступления на разные ВУЗы и специальности, оценить собственные знания, взять подкурсы (если родители согласны и есть деньги - на подкурсы ВСЕГДА нужно ходить, отказ от подкурсов - это огромный проигрыш остальным абитуриентам, которые на них ходили). Постепенно нужно продумать и решить все непонятные вопросы. Стратегия должна стать ясной.
Шаг четвёртый. Построить план: общий, на ближайший месяц, на ближайшую неделю. В эти планы вписать всё то, что необходимо сделать, и когда это необходимо сделать.
Шаг пятый. Начать делать. Придерживаться плана. И время от времени думать о том, правильный ли это план, не следует ли его как-то скорректировать. По мере исчерпания недельных/месячных планов писать следующие недельные/месячные планы.
Примечание. Нужен баланс. Важно не халтурить и не переусердствовать. Настроение должно быть нормальным. Ожидания - реалистичными. Делай то, что возможно делать. Выше головы не нужно пытаться прыгнуть, это только навредит. Но то, что имеет смысл сделать - лучше, всё-таки, сделать.
Так работает профессиональный программист над проектом. Ты можешь начать нарабатывать нужный навык уже в школе :)
Надо сказать, что в школе я не делал настолько хорошо, как сейчас написал. Обычно, для этого не хватает самодисциплины. Но привычка планировать длинные и сложные задачи, разделять их на простые, вырабатывать планы - действительно очень полезна и для программирования и вообще. Так что... Может, у тебя получится лучше, чем у меня :)
Тут такая штука. Либо за тебя всё решат родители и будут тебя толкать к результату, как умеют. Либо нужно брать всё основное в собственные руки. Усилия никогда не пропадают зря. Нужно хотя бы попробовать сделать.
Главная мысль: сколь бы сложной ни казалась задача, её =всегда= можно разделить на более простые составляющие, а потом - ещё на более простые. И так - до тех пор, пока каждая задача не окажется простой. Для школьника от всех этих планов, кучи вещей, должно быть - голова кругом. Ну и что. Сложность не важна, не имеет значения. Всегда можно разделить на простые задачи, которые сможет сделать любой. Главное - делать. "Ставить галочки" напротив каждого простого пункта. Так из элементарных действий получаются грандиозные результаты. Ну а ещё - очень полезно действовать сообща, искать помощь, искать людей, которые могут что-то подсказать.
Я думаю, что нужно начинать строить свою программу подготовки. Понять, на что хватит сил, на что - не хватит. Пойти на подкурсы. И на этих подкурсах - начать собирать информацию. Поговорить с ребятами о том, кто как готовится. Может, подскажут новые идеи. Поговорить с преподавателем. Он вообще может кучу всего полезного подсказать. Преподавателей вообще не следует бояться. Большинству преподов нравится, когда ученик пытается сам что-то сделать, куда-то продвинуться. Если спрашивать и слушать, что они говорят - тебе с удовольствием расскажут про разные варианты. Ну а то, что ты, вроде как "олух", а вокруг - крутые ребята и преподаватели - это ерунда. На самом деле, умный человек так не рассуждает. Преподаватель почти наверняка ответит каждому, кто готов задать осмысленный вопрос.
Если речь идёт о престижной "корочке", которая нужна, чтобы пускать пыль в глаза, и "стартовать" побыстрее в плане продвижения по карьере - это одно. Если ты готов много трудиться - это вполне-себе вариант.
Если же речь идёт о том, что нужно получить ценные знания, чтобы потом своей работой доказать, на что ты готов, на что ты способен - это другое. Здесь конкретный ВУЗ - не очень важен. Достаточно что-то простое, средненькое, чтобы просто взяли для начала. А дальше уже - имеющиеся навыки и знания будут решать. Более подготовленный, более "умный" программист - быстро обойдёт по работе обладателей престижных дипломов, которые не любят программирование и ходят на работу просто, чтобы отсидеть рабочее время. Диплом не даёт ничего волшебного. Через пару лет работы на диплом уже и вовсе смотреть не будут. Имеет значение конкретные должности, конкретные фирмы и конкретные проекты, над которыми ты работал. Так что ВУЗ для работы не принципиален.
Спасибо вам огромное!)