4 шага к IT: что делать школьнику, который мечтает стать программистом, прямо сейчас
Реклама. Рекламодатель ООО «Учи.ру», LjN8KVbwG
Программисты сегодня — это новые космонавты. Кажется, все мечтают работать в сфере IT: там много денег, работать можно удаленно, и на рынке вакансий всегда есть места. Но как войти в эту профессию школьнику? Рассказывает Сергей Шашков, руководитель направления «Программирование» в Учи.ру.
1. Найти мотивацию
Изучение программирования — это доступ к IT-сфере, возможность начать хорошо зарабатывать еще в школе и уже позже развиваться как востребованный и высокооплачиваемый специалист. Но только единицы детей в 8-м и 11-м классе этим вдохновляются настолько, чтобы погружаться в новую непростую область и активно учиться, преодолевать трудности и не опускать руки при первых ошибках.
Чтобы не забросить программирование, особенно на самых первых этапах, нужно найти цель, которая будет актуальна прямо сейчас. Не «зарабатывать 100 тысяч рублей через год», условно, а, например, «написать первый код, чтобы компьютер решил уравнение». Когда одна такая маленькая цель будет выполнена, можно ставить следующую. Чем короче будет период достижения, тем лучше. Потому что мотивацию ребенка будут поддерживать такие частые, пусть и небольшие, результаты. Каждое действие должно приносить практическую пользу, чтобы ребенок видел итог уже сейчас.
2. Подтянуть математику
Программист может и не быть высококлассным математиком, но знание математики помогает мыслить системно (навык, который пригодится не только программистам) и легче справляться с написанием кода. Многие разработчики сравнивают кодинг с решением задач в алгебре. Поэтому если у ребенка есть проблемы с этим предметом, то параллельно с занятиями на курсах программирования стоит разобраться и с математикой.
Насколько глубоко придется учить математику, зависит от направления, в котором будет развиваться ребенок как IT-специалист. Тем, кто планирует писать код для систем в научной сфере, понадобится матанализ, дискретная математика и многие другие разделы математики. А при работе с компьютерной графикой нелишним будет понимание линейной алгебры. Совершенно точно без математики университетского уровня никуда, если идти в машинное обучение, аналитику и другие направления.
Будущему программисту также не помешало бы выучить английский: в любом коде много английских слов, и иногда, чтобы просто прочесть чужой код, нужно понимать английские слова. Плюс если ребенок будет искать ответ на возникший вопрос по кодингу, технический гайд или справочные материалы ему, скорее всего, придется читать на английском: информации на русском в этой сфере очень мало, потому что локальное сообщество меньше международного, а международное говорит на английском языке.
3. Подобрать подходящий курс
Известность школы или преподавателей — это важно, но сама программа важнее. Она должна быть адаптирована под возраст ученика: нельзя одинаково погружать в программирование и условного студента 20 лет, и подростка 16 лет, и ребенка 12 лет. А ведь пробовать силы в IT могут даже дошкольники. Чем младше ученик, тем больше должно быть геймификации в программе и проще язык. Также для школьников важно, чтобы система сразу показывала все ошибки, а не заставляла искать самостоятельно, и предлагала варианты исправления.
Желательно, чтобы курс был не коротким и насыщенным, а длительным: так ребенок сможет и заниматься программированием, и не отвлекаться от школьной программы. Для подростков это особенно важно: у них колоссальная нагрузка в старших классах, это важно учитывать. Получить знания и навыки за полгода или даже год практически невозможно — только после сотен часов практики можно научиться хорошо кодить. Поэтому, например, курсы программирования по C++ и Python от школы онлайн-репетиторов Учи.Дома от Учи.ру длятся 2 года или 144 академических часа с двумя занятиями в неделю. В рамках проекта Минцифры «Код будущего» курсы Учи.Дома можно пройти бесплатно, успев подать заявку до конца октября на сайте «Госуслуги».
4. Выбрать язык для изучения
Если раньше ребенок совсем никак не соприкасался с IT, начинать лучше с JavaScript или Python — эти языки самые простые в освоении, а еще их интересно применять на практике: JavaScript используется для создания веб-приложений, а Python подойдет для автоматизации, разработки небольших игр или даже экспериментов с машинным обучением или телеграм-ботами.
Но простота не единственный критерий. Ориентируйтесь на интересы ребенка: он может мотивироваться практической ценностью любого из языков так, что будет прилежно учить его, несмотря на трудности. Например, тем, кто интересуется роботами, понравится Lua, а для разработки веб-сайтов стоит осваивать HTML и CSS. Создание приложений для iOS требует знать Swift, а кросс-платформенных — C++, Java, Python.
Не стоит переживать, если ребенок сейчас выбрал один язык, начал его учить или даже выучил, а потом мир перестроился, и популярным стал совсем другой. Или сам ребенок решил, что ему больше не интересен условный Java: он вообще сайты писать собирается, и нужен HTML. Потраченное на изучение любого из языков время не уходит впустую. У них всех есть общая база, на основе которой дальше расширять границы знаний и прибавлять к C++ Python, Ruby и Lua будет проще, чем учить любой из них с нуля.
И в целом, даже если после долгого изучения программирования подросток решит, что это не его специальность, он не хочет в ней развиваться, время, потраченное на учебу, не будет потеряно зря. В багаже останется не только умение писать код и читать чужой, но и аналитическое мышление, гибкость, адаптивность и многие другие soft skills, которые развивает программирование.
Если ребенок настроен учить один из самых востребованных языков — Python или С++, — приглашаем на двухгодичные бесплатные курсы, которые можно пройти в рамках проекта «Код будущего» от Минцифры и Учи.ру. Занятия проводятся 2 раза в неделю, программа разбита на 4 модуля, можно выбрать желаемый уровень обучения: Start или Pro. Заявки принимаются до 31 октября.
Иллюстрации: AlexandrWell / shutterstock / fotodom
Совершенно безграмотный пример.
Между, например С и Java есть, как и между другими языками программирования. Но вот HTM, как и CSS это совсем из другой оперы. Как роман и технический чертёж…
Если под «базой» понимать конструкции типа цикла и функции, то у Java/С++ и HTML/CSS общей базы нет. Если же что-то более «инженерное» в смысле необходимость продумывать то, как будет вести себя код/разметка в зависимости от ситуации, необходимости подчиняться строгим правилам формального языка (программирования или разметки), то общая база появляется. Ну и сложно представить себе современный HTML/CSS, в который не захочется добавить хоть толику javascript'а.
Программа рассчитана для учеников 8-11 классов, поэтому принять участие в программе пока не получится.