Возможно ли изучить программирование за лето

Оглавление (нажмите, чтобы открыть):

В каком возрасте поздно начинать учить программирование?

Многие новички боятся, что уже не в том возрасте, чтобы учиться кодить. Поэтому, специально для пользователей GeekBrains, мы поинтересовались у разработчиков известных компаний, есть ли возраст, в котором уже поздно начинать изучать программирование.

Александр Агуленко, Software Engineering Intern в Google

«Программировать я начал в 9 классе, на уроках информатики в школе. Начинал я с Pascal, с участия в школьных олимпиадах по программированию. Олимпиады, в целом, дали огромный толчок, и эффект от участия в них до сих пор чувствуется на собеседованиях: многие задачи на них кажутся простыми.

Думаю, учиться никогда не поздно, было бы желание. Сейчас не нужно для этого учиться где-либо, можно дома, сидя на диване, найти огромное количество уроков в Интернете и, что самое главное, начать писать что-то, потому что, как мне кажется, лучше всего учиться на каких-то реальных проектах (я имею в виду, делать что-то работающее, пусть даже не выпущенное публично). Потом эти же проекты можно прикреплять в резюме, получая дополнительные бонусы «при прочих равных».

Я слышал историю о том, что двукратный чемпион мира по программированию Евгений Капун (из университета ИТМО) начал заниматься программированием только в университете и всего за несколько лет достиг больших успехов. Не берусь говорить, насколько правдива эта история, лучше уточнить её у ребят из ИТМО :)».

Сергей Миронов, руководитель направления eCommerce Software Development в Techport

«Весьма философский вопрос. В целом за свою не очень длительную карьеру, на собеседованиях я уже успел пропустить через себя больше сотни программистов разных возрастов и взглядов.

Я компьютерами увлекался ещё с детства. ZX Spectrum — с него всё и поехало, после школы поступил на факультет информатики и радиоэлектроники, там начал программировать, но по сути ничего не выходило, да и всё это был детский лепет. Программировать научился когда уже закончил универ и попал на работу стажером. Поздно, думаю, не бывает, тут больше вопросы «зачем?» и «для чего?». Научиться кодить — проще, чем кажется, а вот разбираться в бизнесе, в котором работаешь, и решать его задачи с помощью программирования намного сложнее. Основная проблема поколения, которое сейчас приходит в эту профессию, — это амбиции и заблуждения. Со старта каждый хочет получать не менее 100 тысяч рублей, и, конечно же, все думают, что это очень весело, все начитались красивых статей на хабре про сводный график, кучу еды, гамаки, насмотрелись красочных фото офиса Яндекса и т.п. На самом деле, платить просто так никто не будет, без хорошего опыта, какое бы не было образование, ты никому не нужен. Я начал с 12 тысяч (в Макдональдсе в то время платили бы больше) со временем эта цифра, конечно, изменилась более чем в 10 раз, но это было непросто».

Валерий Попов, iOS developer в Rambler&Co

«В 19 лет начал, до этого даже в школе не было программирования. Правда, был олимпиадником по математике. Начинал с Delphi в универе, потом C++, Java, и так далее. Мне кажется, что и в 19 с нуля учить достаточно поздно, но если более объективно, то, думаю, не позже 30 стоит начать. Зависит от таланта и состояния мозгов. Конечно, есть исключения, но обычно люди за 30 уже хуже обучаемы, да и не могут кодить сутками».

Юрий Волков, разработчик в Яндекс

«Несмотря на то, что мне программирование было интересно почти всю жизнь (первые попытки были классе в седьмом), «изучать» программирование я начал где-то на третьем курсе.Тогда это были академические «плюсы» и немного питон. Ну, и почитывал «совершенный код» и ещё что-то. Осознал, что такое «настоящая разработка», уже в 2013-м и то, это были свои маленькие домашние проекты из разряда «сделай себе идеальный линукс».

Насчёт возраста, когда уже поздно: всё зависит от предметной области. Если ты хочешь стать БОГОМ АЛГОРИТМОВ — то начинать следует очень рано и готовить математическую базу в университете, изучая вышмат, в том числе и самостоятельно, ибо именно то, что тебе понадобится, забудут рассказать. Если тебе интересно быть в IT и/или тебе просто хочется иметь ненапряжную работу с большой зарплатой/соцпакетом/и т.д. — вряд ли поздно. Разве что за твоей спиной могут пошучивать что-нибудь типа «стажёр в команде старше сеньора».

Возраст, когда не стоит идти в разработку, — это возраст, когда становится тяжело изучать что-то новое. И если тебе это тяжело уже сейчас — скорее всего, эта работа не для тебя.

О себе :). Зарабатывать деньги разработкой я начал чуть больше полугода назад (а почти все мои друзья из этой сферы — 3–5 лет назад). До этого год работал админом в вузе, потом два года — в яндексовом хэлпдеске. То есть, места, где программирование никогда не было основным занятием».

Поздно начинать изучать программирование, или нет, — зависит не сколько от возраста, сколько от мотивации, желания учиться и выбранной предметной области. Разумеется, шансы добиться значительных успехов больше у тех, кто начал раньше. Но, при большем желании и усердной работе, всегда можно стать исключением из правил. А если вы хотите попробовать себя в роли программиста для саморазвития или в качестве хобби, то тут уж точно никогда не поздно. Поэтому приглашаем вас на бесплатный интенсив по программированию для чайников.

Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».

Многие новички боятся, что уже не в том возрасте, чтобы учиться кодить. Поэтому, специально для пользователей GeekBrains, мы поинтересовались у разработчиков известных компаний, есть ли возраст, в котором уже поздно начинать изучать программирование.

Александр Агуленко, Software Engineering Intern в Google

«Программировать я начал в 9 классе, на уроках информатики в школе. Начинал я с Pascal, с участия в школьных олимпиадах по программированию. Олимпиады, в целом, дали огромный толчок, и эффект от участия в них до сих пор чувствуется на собеседованиях: многие задачи на них кажутся простыми.

Думаю, учиться никогда не поздно, было бы желание. Сейчас не нужно для этого учиться где-либо, можно дома, сидя на диване, найти огромное количество уроков в Интернете и, что самое главное, начать писать что-то, потому что, как мне кажется, лучше всего учиться на каких-то реальных проектах (я имею в виду, делать что-то работающее, пусть даже не выпущенное публично). Потом эти же проекты можно прикреплять в резюме, получая дополнительные бонусы «при прочих равных».

Я слышал историю о том, что двукратный чемпион мира по программированию Евгений Капун (из университета ИТМО) начал заниматься программированием только в университете и всего за несколько лет достиг больших успехов. Не берусь говорить, насколько правдива эта история, лучше уточнить её у ребят из ИТМО :)».

Сергей Миронов, руководитель направления eCommerce Software Development в Techport

«Весьма философский вопрос. В целом за свою не очень длительную карьеру, на собеседованиях я уже успел пропустить через себя больше сотни программистов разных возрастов и взглядов.

Я компьютерами увлекался ещё с детства. ZX Spectrum — с него всё и поехало, после школы поступил на факультет информатики и радиоэлектроники, там начал программировать, но по сути ничего не выходило, да и всё это был детский лепет. Программировать научился когда уже закончил универ и попал на работу стажером. Поздно, думаю, не бывает, тут больше вопросы «зачем?» и «для чего?». Научиться кодить — проще, чем кажется, а вот разбираться в бизнесе, в котором работаешь, и решать его задачи с помощью программирования намного сложнее. Основная проблема поколения, которое сейчас приходит в эту профессию, — это амбиции и заблуждения. Со старта каждый хочет получать не менее 100 тысяч рублей, и, конечно же, все думают, что это очень весело, все начитались красивых статей на хабре про сводный график, кучу еды, гамаки, насмотрелись красочных фото офиса Яндекса и т.п. На самом деле, платить просто так никто не будет, без хорошего опыта, какое бы не было образование, ты никому не нужен. Я начал с 12 тысяч (в Макдональдсе в то время платили бы больше) со временем эта цифра, конечно, изменилась более чем в 10 раз, но это было непросто».

Валерий Попов, iOS developer в Rambler&Co

«В 19 лет начал, до этого даже в школе не было программирования. Правда, был олимпиадником по математике. Начинал с Delphi в универе, потом C++, Java, и так далее. Мне кажется, что и в 19 с нуля учить достаточно поздно, но если более объективно, то, думаю, не позже 30 стоит начать. Зависит от таланта и состояния мозгов. Конечно, есть исключения, но обычно люди за 30 уже хуже обучаемы, да и не могут кодить сутками».

Юрий Волков, разработчик в Яндекс

«Несмотря на то, что мне программирование было интересно почти всю жизнь (первые попытки были классе в седьмом), «изучать» программирование я начал где-то на третьем курсе.Тогда это были академические «плюсы» и немного питон. Ну, и почитывал «совершенный код» и ещё что-то. Осознал, что такое «настоящая разработка», уже в 2013-м и то, это были свои маленькие домашние проекты из разряда «сделай себе идеальный линукс».

Насчёт возраста, когда уже поздно: всё зависит от предметной области. Если ты хочешь стать БОГОМ АЛГОРИТМОВ — то начинать следует очень рано и готовить математическую базу в университете, изучая вышмат, в том числе и самостоятельно, ибо именно то, что тебе понадобится, забудут рассказать. Если тебе интересно быть в IT и/или тебе просто хочется иметь ненапряжную работу с большой зарплатой/соцпакетом/и т.д. — вряд ли поздно. Разве что за твоей спиной могут пошучивать что-нибудь типа «стажёр в команде старше сеньора».

Возраст, когда не стоит идти в разработку, — это возраст, когда становится тяжело изучать что-то новое. И если тебе это тяжело уже сейчас — скорее всего, эта работа не для тебя.

О себе :). Зарабатывать деньги разработкой я начал чуть больше полугода назад (а почти все мои друзья из этой сферы — 3–5 лет назад). До этого год работал админом в вузе, потом два года — в яндексовом хэлпдеске. То есть, места, где программирование никогда не было основным занятием».

Поздно начинать изучать программирование, или нет, — зависит не сколько от возраста, сколько от мотивации, желания учиться и выбранной предметной области. Разумеется, шансы добиться значительных успехов больше у тех, кто начал раньше. Но, при большем желании и усердной работе, всегда можно стать исключением из правил. А если вы хотите попробовать себя в роли программиста для саморазвития или в качестве хобби, то тут уж точно никогда не поздно. Поэтому приглашаем вас на бесплатный интенсив по программированию для чайников.

Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».

10 способов научиться программировать самостоятельно

Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker.

10. Выясните, почему вы хотите программировать

Выбранное направление в учёбе будет зависеть в большей степени от того, почему именно вы хотите научиться программировать и сколько времени вы готовы уделять этому процессу. Если вы хотите стать программистом, первое что следует сделать — это записаться на профессиональные курсы (Google скомпилировал список навыков и курсов для тех, кто хочет стать инженерами-программистами). Если вы хотите создавать игры и веб-сайты для развлечения в свободное время, лучшим выбором являются интерактивные курсы. Bloc создал сравнительную таблицу курсов в зависимости от загрузки, стоимости и причины изучения программирования.

9. Выберите правильный язык

Не существует лучшего языка программирования, и как только вы выучите один, вам будет нетрудно освоить и второй. Так что не стоит зацикливаться на выборе первого языка. Тем не менее, считается, что некоторые языки даются новичкам легче, чем другие.

Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования. Приводим инфографику для сравнения нескольких популярных языков программирования.

8. Начните с малого… и будьте терпеливы

Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.

7. Попробуйте приложения для детей

Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть новый курс обучения по Scratch).

6. Воспользуйтесь бесплатными онлайн-тренингами

Бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.

5. Пройдите онлайн-курс

Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности. Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов.

4. Бесплатные книги по программированию

Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.

3. Изучайте, играя

Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.

2. Найдите наставника или станьте им

Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge() — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.

1. Разберите чужой код

Переписывая чужой код, исследуя каждую строчку на предмет ошибок, вы сможете лучше понять общую картину. Благодаря открытым исходникам кода, вы имеете возможность узнать всё, что угодно — продолжайте учиться, используя инкрементально-хакерский подход. Только не забудьте поделиться своим кодом, если вам удастся улучшить часть ПО.

Почему научиться программировать не так трудно, как вы думаете, или Разрушители мифов об изучении программирования

Профессии IT-индустрии считаются одними из самых сложных в освоении, поэтому часто новички, боясь сложностей, теряют интерес к изучению новых технологий. Мы решили развеять самые распространенные мифы о сложности программирования и помочь вам раз и навсегда уяснить, что научиться программировать — не трудно.

Программирование — это сложно?

Самый распространённый миф о программировании — программирование требует огромных интеллектуальных возможностей. Чтобы начать писать код, не нужно быть семи пядей во лбу: достаточно иметь мотивацию, интерес и дисциплину. Если вы открыты для нового и готовы применять приобретенные навыки на практике, то вы научитесь программировать. Поможет вам, например, интенсив «Основы программирования», который за 2 часа даст вам базовую теорию, необходимую для понимания основных современных языков программирования, и первый опыт написания программы. Но для сложных задач также может потребоваться знание из специфических отраслей.

Но у меня не очень хорошо с математикой, а её во всех вузах полно…

Следующее заблуждение заключается в том, что знание математики — предмет первой необходимости для программистов. На самом же деле для программирования достаточно знать базовые понятия из курса школьной математики. Но только на первых порах: дальнейшее усложнение задач может потребовать знания тонкостей в определенной предметной области. Например, для верстки сайтов или написания мобильных приложений вам хватит и тех простых знаний, которые вы получили в школе. Однако для Data Science и научного программирования требуются знания из статистики, теории вероятности и матанализа, которые постигнуть в одиночку уже сложнее — но и тут следует помнить, что большую часть сложных вещей уже реализовали, а вам понадобится только использовать их.

Но мне ещё / уже X лет, наверно, рано / поздно начинать?

Вопреки закоренелым стереотипам, нельзя быть слишком старым или слишком молодым для программирования. Все зависит от того, способны ли вы заставить себя учиться. Конечно, физиология будет влиять на ваши успехи, но усердие может скомпенсировать недостатки, как и тщательный подбор материалов для обучения.

А ещё я девушка…

Странно слышать, что женщинам не место в программировании, в то время, как первым программистом была женщина, Ада Лавлейс, которая составила набор инструкций для вычисления чисел Бернулли на машине Беббиджа. Конечно, женщина, желающая посвятить себя программированию, должна быть готова к усмешкам со стороны коллег-мужчин и общества в целом, мол, «не женское это дело». Но в то же время нет никаких объективных причин женщине не становиться программистом — все зависит только от ее желания.

Видел я этих ваших программистов: сидят дома за компьютерами, раз в месяц за бичпакетами в магазин выходят…

Вспомните программистов из фильмов прошлого: сутулый человек непонятного пола в очках, неопрятной одежде, ведет странный образ жизни, да еще и питается чем-попало. Это далеко от истины: программисты ничем не отличаются от специалистов в других технических отраслях в этом отношении. Сюда же можно отнести миф об асоциальности программистов: программисты часто работают в командах, а в команде навык общения с людьми необходим. А ещё в команде необходимо знание полезных инструментов, например, Git — познакомиться с ним можно, посмотрев бесплатный видеокурс «Git. Быстрый старт».

Сидеть и писать код каждый день — жутко скучно, не так ли?

Некоторые люди считают, что программирование — процесс, лишенный какого-либо творчества. Это величайшее заблуждение: код перестал быть просто набором математических операторов, и теперь к нему стали применимы понятия гибкости, надежности и простоты. Так что программирование — это не только техническая, но и творческая деятельность, для которой, однако, не нужно иметь дар свыше: программирование — такой же навык, как и занятия спортом. Чем больше занимаешься, тем выше шанс успеха.

Мастер Йода рекомендует:  10 популярных вопросов с Java-собеседований

Ладно, убедили. Но как лучше учиться?

Образовательные интернет-площадки сделали получение знаний значительно проще, но вместе с тем и исказили мировоззрения новичков. Начинающие часто думают, что после прохождения курсов по той или иной технологии они могут закончить свое обучение. Такие мысли очень опасны. При любых обстоятельствах нужно быть в курсе событий. Рынок не стоит на месте: сегодня ты востребован, завтра твои знания уже никому не нужны.

С другой стороны, убежденность в том, что университет решит все ваши проблемы, не менее ошибочна. Университет, конечно, даст вам и диплом, и базовые (часто только базовые) знания, но не факт, что после завершения обучения вы станете востребованным специалистом.

И как же быть?

К счастью, есть компромиссы. Многие университеты позволяют удалённо изучать программирование, математику и прочие необходимые программисту дисциплины на онлайн-площадках вроде Coursera и Udacity. Нельзя не отметить и Geek University, платный онлайн-университет от Mail.Ru Group, за год обучения в котором вы изучите все тонкости Android- или веб-разработки на специальных факультетах и получите не только теоретические, но и практические навыки.

Вообще онлайн-курсы программирования — относительно новое веяние, но оно уже успело стать популярным. Теперь вы стоите перед выбором курса. Но какой выбрать? Не стоит полагаться только на рекламу и советы: выберите курс с тем преподавателем, который, на ваш взгляд, хорошо объясняет материал. Попробуйте несколько вариантов. Курсов много, все они разные, для разных аудиторий: вам остается только выбрать.

Посоветуете что-то конкретное?

Например, если вам ближе веб-разработка, то стоит обратить внимание на интенсив «Основы веб-разработки». Если то, что вы узнаете, вас затянет, то вы сможете продолжить изучение этой темы, благо в Интернете очень много различных руководств, книг и курсов.

Те, кто с детства хотел разрабатывать игры, тоже найдут себе курс по душе. Для разработки игр отлично подходит язык C#, на котором написан популярный движок Unity. Начать можно с C#, а потом перейти к более плотному изучению самого движка. Однако любой вопрос лучше изучать структурированно, поэтому мы советуем обратить внимание на курс «Разработчик игр», в рамках которого вы за 4 месяца изучите все тонкости этой профессии, а потом ещё и поучаствуете в командной стажировке.

Чтобы стать гитаристом, достаточно тратить 30 минут в день? Чтобы стать спортсменом, достаточно просто поотжиматься полчаса? Нет и нет. Забудьте о том, что C# можно выучить за 15 минут, JavaScript — за 3 минуты, а HTML — за наносекунду. Если у вас есть желание сделать программирование своей профессией, не думайте, что малая отдача даст вам большой результат. Знакомьтесь с разными направлениями разработки и не бойтесь изучать что-то новое.

Сколько нужно учиться на программиста с нуля

Новичкам кажется, что обучение разработке требует много времени. Отвечаем с преподавателями Skillbox на вопрос, как долго учиться программированию.

«Всю жизнь», — вот так лаконично отвечают разработчики на вопрос о том, сколько нужно учиться профессии. Это вполне справедливое замечание, ведь регулярно появляются новые технологии. Но мы решили более подробно рассмотреть, сколько времени нужно, чтобы стать программистом при различных исходных данных.

А ты точно программист?

Перед тем как начать изучать программирование, проанализируйте, зачем вам это нужно. Разработчиком может стать любой человек, если приложит усилия и наберется терпения. Но абстрактные деньги — не лучший мотиватор в этом деле. Поставьте более конкретную цель, для достижения которой понадобятся средства и инструменты, — именно она будет двигать вас вперед.

Вы хотите эмигрировать за границу? Хотите реализовать полезный для людей проект? Может быть, открыть собственную компанию по разработке сайтов? Это примеры мотивации, которая поможет преодолеть много ступеней профессионального развития.

Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».

Программирование позволяет переехать на ПМЖ за рубеж — останется только выучить иностранный язык в зависимости от желаемой страны. Хотя для контрактной работы в бизнес-инкубаторе достаточно и английского на уровне Upper Intermediate. Если вы станете трудолюбивым высококлассным специалистом, то переезд вполне реален. Так же как и открытие собственного бизнеса или создание онлайн-проекта мечты, приносящего постоянный пассивный доход.

Сколько времени потребуется на обучение

Временные затраты — вопрос конкретных обстоятельств и желаемого результата. Наверняка вы слышали выражение, что профессионалом в любой сфере можно стать, затратив 10 000 часов на эту деятельность. Чтобы стать разработчиком начального уровня, потребуется в несколько раз меньше.

Например, Даниил Пилипенко, программист с 10-летним стажем и ведущий курсов Skillbox, полагает, что для начального уровня достаточно 6–12 месяцев:

Зависит от талантов, конечно. Но полгода-год обычно достаточно, чтобы с нуля вырасти до уровня Junior.

Если у вас уже есть техническая база в виде математического вуза или колледжа, то освоить технологии Frontend на базовом уровне — HTML, CSS, JavaScript, фреймворки — можно за 4-5 месяцев. И после этого уже искать первые заказы на фрилансе для создания портфолио. Однако это зависит от степени интенсивности обучения: если вы работаете и параллельно учите программирование, то времени может понадобиться больше. Без технической специальности за плечами при нагрузке 2-3 часа в день вы будете постигать азы около года.

Этапы изучения веб-разработки для новичка

Обучение можно условно поделить на три этапа:

  1. Начальный или пробный. В течение пары-тройки месяцев изучаете две-три актуальные технологии, которые легко освоить. Например, те же самые HTML, CSS, JS или один из языков Backend — Python/Ruby/PHP. В это время прислушивайтесь к тому, нравится ли вам программирование, как быстро вы получаете результат и усваиваете знания.
  2. Самостоятельный этап. Если предыдущий успешно пройден, можете вкладываться в самообразование по-крупному. Изучайте программирование более комплексно и интенсивно: оплатите курсы, чтобы прогресс шел быстрее, или найдите ментора, если учитесь самостоятельно, — кто-то должен вас направлять и объяснять ошибки.
  3. Стажировка в компании. Первые заказы на фрилансе или удаленная работа в качестве junior-специалиста.

На гребне технологической волны

Что же делать, чтобы стать настоящим профессионалом разработки? Всегда оставаться в русле технологического развития и поддерживать полученные знания в актуальном состоянии. Первые несколько лет для новичка — очень насыщенный период. В это время нужно впитать массу знаний, отработать множество навыков и освоить много новых инструментов, порой не самых интуитивно понятных.

Программирование — это интенсивно развивающаяся сфера, где изменения происходят очень быстро. При этом динамичность сильно зависит от того, где работает программист выбранного языка. Например, в том же JavaScript изменения происходят почти каждый день — настолько велико его сообщество и популярность.

Чтобы стать хорошим программистом, нужно действительно учиться всю жизнь. Выучить один-два языка в совершенстве можно, лишь постоянно практикуясь.

Преподаватель Skillbox Вадим Шандринов так ответил на вопрос о том, сколько потребуется времени для становления IT-специалиста:

Как я выучил PHP и Python, не стал гуру кода, но собрал много других плюшек

История моего знакомства с программированием довольно забавная и поучительная. Давно обещал нескольким людям подробно ее описать. Хорошо, что срок приема работ для статейного конкурса блога Нетологии уже поджимает — иначе вряд ли собрался бы. Итак…

PHP: начало

Желание освоить PHP появилось, когда я начал заниматься собственными информационными сайтами. Лет пять назад, без кучи качественных современных плагинов для WordPress, работать всерьез, не имея навыков разработки было непросто. Постоянно возникали мелкие проблемы, для решения которых приходилось заказывать услуги на фрилансе или задавать вопросы на форумах.

Задача абсолютно элементарная для любого, кто уделил изучению программирования хотя бы пару недель.

Подлил масла в огонь и неудачный проект, где на подготовку ТЗ и контроль результатов ушло невероятное количество времени и сил. Да я чаще переписывался с программистом, чем с женой! Требовалось поменять ситуацию.

Попытка номер раз: как не надо учить язык программирования

Что делает современный человек, если ему надо чему-то научиться? Правильно: гуглит.

На меня вывалился ворох информации — официальный мануал, статьи в блогах, видео. Я прилежно изучал все это, подмечая отдельные конструкции языка и приемы, но толку было откровенно мало. Разрозненные сведения никак не складывались в общую картину. Мне казалось, что научиться кодить — это значит выучить миллион типовых приемов и действовать по аналогии. Представляя, сколько времени уйдет на подобный подвиг, я не раз хотел все бросить.

Попытка номер два: никогда не знаешь, где тебе повезет

Не знаю, во что вылились бы эти потуги. Но мне очень повезло.

А потому две недели провалялся на диване в обнимку с книжкой «Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5»

Не могу сказать, что это идеальный учебник (мне не с чем сравнить). Но основы он дает хорошо. А главное — в начале объяснения идут буквально на пальцах и с картинками. Это очень важно, потому что помогает разглядеть за закорючками в текстовом файле их смысл, понять суть программирования интуитивно. Помню, для меня поворотным моментом стало сравнение переменных и спичечных коробков. В переменную, как и в коробок, можно положить разное содержание, но сам коробок останется прежним.

Практика: мелкие скрипты just for fun и для облегчения работы

Когда самочувствие позволило переползти с дивана в компьютерное кресло, я взялся проверить на практике, чему научился. Оказалось, что в теории знаю довольно много, но практических навыков ноль. Приходит идея, вроде бы знаешь как ее реализовать (в памяти всплывают названия функций и конструкций языка), но вот как связать это все вместе?

Проблем, впрочем, не возникло. Свой первый простенький калькулятор на php я писал около 3 часов (сейчас справился бы за 15 минут). Потом пошло куда легче. Мне скучно было искать новые учебники и выполнять задания по порядку, я с первых дней работал над интересными задачами.

  • Инструмент для принятия рациональных решений.
  • Калькулятор расчета окупаемости бизнес-идеи (не дожил до наших дней).
  • сервис smmup.ru.
  • Система оплаты через Яндекс.Кассу, подключенная к лендингу.

Чуть позже стал писать скрипты для SEO, использующие API различных сервисов (Яндекс.Метрика, Search Console). Тогда я на потоке делал SEO-аудиты на заказ, так что экономия времени благодаря автоматизации оказалась очень существенной.

Еще один приятный бонус от новых навыков — стало гораздо легче общаться с программистами (этого SEO-шнику не избежать).

Еще больше практики: публичный платный сервис

Постепенно скриптов для анализа сайта накопилось около 30 штук. Некоторые существовали в пяти и более версиях, так что папка на сервере, где они лежали, напоминала неоднократно утрамбованное мусорное ведро. Жалею, что не сделал скриншот этого безобразия, прежде чем его удалить. Был бы настоящий памятник лени и криворукой организации кода.

В один прекрасный момент мне надоело копаться в этом хламе. Я решил упорядочить код и объединить разные инструменты в виде онлайн-сервиса. В июле прошлого года выпустил первую версию.

Не до конца верил в коммерческий успех проекта. Хотя львиная доля возможностей не только полезна, но и уникальна на рынке, опыта продвижения сервисов у меня не было. «В крайнем случае, буду с удобством пользоваться сам, уже польза», — подумал тогда я и c чистой совестью выделил на разработоку три месяца своего времени.

Сейчас я очень доволен, что начал этот проект. В сервисе зарегистрировано почти 3000 пользователей, есть ряд постоянных клиентов — при том что на рекламу за все время было потрачено ровно 500 рублей (стал спонсором SEO-календаря на 2020 год).

Еще пару лет назад я бы не поверил, что смогу своими руками соорудить что-то подобное, но факт остается фактом — 90% работы над https://bez-bubna.com/ выполнил сам, отдав на сторону только несколько частных задач. По ходу дела изучил много нового, но к текущему моменту перестал придавать этому особое значение. Главное — это удается ли тебе решать поставленную задачу, а сколько всего знаешь — неважно.

Я до сих пор не считаю себя настоящим PHP-разработчиком. Но знаю, что изучить недостающее не составит проблем, если вдруг возникнет такая необходимость.

Python за три недели

В начале 2020 вдруг оказалось, что стоит бешеная мода на машинное обучение. И SEO-шнику, по хорошему, надо бы в нем разбираться не на уровне желтой прессы («нейросети снова учудили»).

А в машинном обучении используется что? Много чего, но в первую очередь Python и R. Недолго думая, я выбрал Python — он как-то больше на слуху в моей среде общения. Первым делом я пошел учиться на онлайн-платформу Shultais Education. Ее основатель — мой хороший знакомый. Несколько дней позанимался и понял, что курс отличный, но не совсем подходит мне по уровню. Он предназначен для новичков и в Питоне и в программировании вообще. А во втором я уже не совсем новичок.

Стал искать учебное пособие с более сжато изложенным материалом и набрел на сайт Питонтьютор. Читая уроки и выполняя задания, получил хорошее представление о синтаксисе языка. Но — не появилось ощущения, что владею им по-настоящему. Все время хотелось сбиться на родной PHP, хотя с первых уроков было видно, что Питон гораздо изящнее и проще.

В конце концов, я решил зайти с другой стороны и занялся непосредственно машинным обучением с помощью курса « Машинное обучение и анализ данных » на Сoursera. Над первым серьезным заданием по программированию пришлось повозиться. Но оно было похоже на реальную задачу из практики, так что оказалось не только сложным, но и интересным. А главное — когда я добился-таки правильной работы кода, наконец появилось чувство интуитивного понимания языка.

Дальше пошло как по маслу. Сейчас я постоянно использую Phyton в работе, парочка новых инструментов в сервисе написана именно на нем (а именно — инструмент для поиска LSI с помощью word2vec и лемматизатор).

Обновление: летом и осенью 2020 учился также на курсах «Python для SEO»: https://py4seo.com от Сергея Черненко. Могу смело рекомендовать, отличный преподаватель. Более того, он предложил скидку для моих читателей — по промокоду «trudov» вы получите этот курс на 10% дешевле.

Напоследок: зачем и как учиться программированию

Как ни странно, программирование — в первую очередь свобода. Свобода обращения с данными. Ты можешь как угодно их комбинировать, сравнивать, обрабатывать сложными алгоритмами, класть в основу моделей машинного обучения… При этом тебя не отвлекают мелочи вроде разных форматов и источников (API? просто сайт? куча файлов? — без разницы! под все давно есть готовые решения). Исключительно ценное умение для SEO-специалиста и интернет-маркетолога.

В ходе обучения главное — как можно быстрее добиться этого ощущения свободы, родства с языком. Оно появляется, когда ты делаешь первый самостоятельный шаг, решаешь настоящую задачу. Очень похоже на прыжок с парашютом.

Сначала долгий период страха и сомнений. Суетливая, не слишком осмысленная подготовка (копание в статьях и мануале без системы).

И вдруг — полет наедине с небом. Все становится простым и понятным (чувство, когда написал свой первый настоящий скрипт).

Потом, конечно, тебя не очень дружелюбно встретит земля. Практика быстро покажет, что ты еще не самый выдающийся программист. Но память о небе вокруг останется навсегда. Незнакомые функции и библиотеки больше не пугают. Ты чувствуешь, что всегда с ними справишься, стоит только захотеть.

Инструкция для тех, кто хочет стать программистом с нуля

Кризис заставляет многих сменить место работы или даже полностью поменять специальность. Приходится осваивать новые навыки и профессии. Прекрасным выбором в этом случае может стать профессия программиста. Это интересно, комфортно и прибыльно. В этой статье мы постараемся ответить на вопрос, как построить карьеру программиста с нуля.

Начать свой путь к карьере программиста стоит с ответа на вопрос, нужно ли вам программирование вообще? Этот вопрос не относится к тем, кто учится или учился по специальности, близкой к программированию. Если вам в школе математика давалась лучше, чем гуманитарные науки, если вам нравится проводить много времени за компьютером, если вам хочется изучать что-то новое, тогда программирование вам подойдёт.

С чего начать

Есть несколько вариантов развития событий, в результате которых человек становится программистом. Первый — родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет. Второй вариант — модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось. И последний вариант — хобби, которое переросло в работу.

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

Когда вы станете программистом, через годик-другой будете вольны выбирать любой язык, который вам нравится. Но при выборе первого языка программирования новичок должен учитывать следующие критерии:

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.

Во-первых, не стоит ждать, пока вы прочитаете все книги по выбранному языку программирования. Начинайте писать свои первые строки кода уже после второй главы книги. Выполняйте все задания из книг, перепечатывайте примеры, разбирайтесь в них. Усложняйте примеры и задания из книг своими идеями. Создавайте свои задачи к пройденному материалу. Решайте эти задачи.

Во-вторых, вам нужно найти свои первые проекты. Это, наверное, самый сложный вариант, но рабочий. Вам придётся самому искать заказы, выполнять их, заморачиваться с оплатой. Для новичка это архисложно, но зато затем все остальные варианты покажутся плёвым делом. Выполненные проекты можно будет записать в опыт и показать вашему будущему работодателю. Реальные проекты являются большим плюсом в вашем резюме.

Если вы знаете английский язык, регистрируйтесь лучше на англоязычных биржах. Рынок там больше. Если не знаете английского, учите его. А пока что вам доступны русскоязычные биржи фриланса. Ищите небольшие проекты, которые соответствуют вашему уровню знаний или чуть выше него. Подайте заявку на пару десятков таких заданий. И приготовьтесь получить море отказов. Но если одна-две заявки выстрелят, у вас будет шанс получить реальный опыт.

Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или других сервисах для хостинга кода. Не стесняйтесь задавать там вопросы.

Четвёртый вариант получения опыта — помощь знакомым программистам. Попросите их передать вам маленькие и несложные задания. Если что-то не будет получаться, у вас всегда будет к кому обратиться. И при этом вы будете участвовать в реальном проекте.

Последний способ — собственные проекты, различные хакатоны или работа в коворкинге. Свои проекты сложно начинать самому, лучше поискать знакомых или друзей.

Почему стоит выбрать Python

Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.

Мастер Йода рекомендует:  Задача написать код, удаляющий дубликаты из несортированного связного списка

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.

Последние шаги

Вам нужно подготовить резюме. Не просто резюме, а хорошее резюме. Не стоит писать там лишней информации, но и умалчивать о своих умениях тоже не нужно. После того как вас пригласят на интервью, вы должны к нему подготовиться. Пройдитесь по материалу, который указан в вашем резюме. Вы должны быть уверены в своих знаниях. Просмотрите проекты, над которыми вы работали, вспомните технологии, которые вы применяли. И вперёд — к светлому будущему с новой профессией программиста.

Сколько времени необходимо потратить на обучение

10.05.2020, 23:26

Определить, сколько времени необходимо потратить на распечатку 20 страниц на матричном принтере
Матричный принтер печатает со скоростью 512 бит / с. Сколько времени необходимо потратить на.

Сколько займет времени обучение верстке
Привет всем верстальшикам у меня к вам вопрос за какое время можно освоить.

Сколько надо потратить на этот проект ?
Привет всем. У меня вопрос. Сколько примерно надо потратить, что бы заказать вот примерно такой.

Какую сумму необходимо потратить на ремонт, если цена одного рулона обоев K руб?
Хозяин хочет оклеить обоями длинную стену в своем доме. Длина этой стены равна A и высота B. В.

Необходимо обучение Access
Хотел узнать, возможно ли получить удаленное обучение по скайпу, по таблицам Access, на примере.

10.05.2020, 23:47 2

Если Вы не вундеркинд, который глядя на исходники видит в них подсвеченные закономерности, то без бумажки Вас вряд ли примут на приличную работу, тем более в наших постсоветских реалиях.

Возможно, я слишком жестко на все смотрю, так что не принимайте близко к сердцу, а сделайте свои выводы

11.05.2020, 00:26 3 11.05.2020, 00:31 4
11.05.2020, 00:31
11.05.2020, 00:52 5
11.05.2020, 01:03

Меню пользователя @ S_el
11.05.2020, 02:50 7

Я считаю так: если ты считаешь ,что это твоё ,а именно приносит удовольствие сам процесс а,в поисках решения какой либо задачи ты готов потратить огромное количество времяни.То тебя яно стоит попробовать и если тебе это не надоест успехов ты добьешься относительно быстро (в любом случае больше года,я думаю).Короче говоря все зависит от желания .По пробуй ,учится по видеоурокам касательно c++ могу посоветовать какнал Денис Марков очень полезно для новичков).

Если сам процесс не вызывает интереса или кажется нудным вникать в мелочи,а хочется все и сразу ,или если при при появление припядствия появляется желание бросить все ,БРОСАЙ.
Через силу не чему не начуишься.ИМХО

Если все-таки решил ,что это твоё то посвещай больше времяни практике(жалко смотреть на одногруппников которые вроде бы изначально все понимали ,но из за отсутствия практики не могут и простых вещей ).
Так же был опыт «репетиторства» ,а именно в течение полугода помогал одногруппнице (объяснял темы,решал задания,писал курсовые вместе с ней) и у неё все получалось,но из за отсутствия самостоятельной практики,она теперь не помнит фундаминтальных вещей)
Я имею ввиду не то,что все можно забыть,а то что не нарешав достаточно «упражнений» на какую либо тему вы её толком не запомните
Уачи в начинаниях.

11.05.2020, 02:56 8
11.05.2020, 02:58 9

Не меньше года. А то и 5 — все зависит от стартового уровня, развитой соображаловки, трудолюбия и самого главного — от интереса к делу. Если хотите гарантированно попасть на работу без бумажек — сделайте собственный проект. Например, веб-приложение, игру, библиотеку или небольшой фреймворк. Изучите не только язык, но и инструменты разработчика (IDE, системы контроля версий, популярные библиотеки). Помните две главные вещи:

1. Невозможно работать программистом без интереса к программированию, компьютерным технологиям и без любви к решению сложных инженернх задач.

2. Невозможно научиться программировать не программируя. Кратчайший путь к мастерству лежит через создание собственных программ и их улучшение.

Изучайте чужой код и самое главное — пишите свой. Если вы хотите что-то написать и у вас есть упорство — то все получится. Если вы не хотите ничего создавать как таковое, а просто хотите зарплату.

То есть второй путь. Это пойти на специализированные курсы обучения, которые проводят крупные софтверные кампании. Процентов 50-20 с подобных курсов обычно трудоустраиваются в той компании, которая их проводит. Но зачастую чтобы попасть на эти курсы нужно иметь бумажку — специализированное образование. Или хотя бы статус учащегося. Так что в этом случае — прямая дорога в ВУЗ за вторым образованием.

Сам я имею средне-специальное и высшее образование, работаю удаленно. Мой друг имел только средне-специальное, но в студенческую бытность активно интересовался компьютерами. Затем все позабыл и через пять лет смог попасть на курсы крупной аутсорсинг-компании. У него было что написать в резюме, потому что программированием он все-таки интересовался. С курсов на работу его не взяли, но он через полгода хорошо устроился удаленщиком.

Примерный рост зарплаты (по данным пятилетней давности): 10 т.р. — полгода курсы, 20 т.р. — полгода фриланс, 30 т.р. — полгода первая удаленноя работа, 60 т.р. — вторая удаленная работа, .

Из чисто утилитарных соображений лучше идти в веб-программисты — на них больше спрос и больше выбор контор. Это PHP/Java/JavaScript/Python/Ruby — программисты. Расположил в порядке популярности на мой взгляд.

Как разработчики учат своих детей программировать (и надо ли это делать)

С одной стороны, здесь собраны краткие и практически пошаговые руководства по обучению детей программированию. С другой — обычные жизненные истории о взаимоотношениях детей и родителей, размышления об особенностях детского восприятия мира.

Мы в IT-Академии Алексея Сухорукова не занимаемся детским обучением, но у нас и наших преподавателей есть много интересного и познавательного на эту тему. Однако начать мы решили с западного опыта. В этой статье профессиональные разработчики и основатели стартапов рассказывают о том, как обучали своих маленьких (иногда совсем маленьких!) детей кодированию.

Как мой четырехлетний сын изучал Python

Мэтт Лернер (Matt Lerner), VP Product & Design @redfin, co-founder of @walkscore

Я хотел научить своих детей программированию, потому что это отличное мастерство и мощный способ мышления . Мои дети проводили много времени за игрой в Angry Birds на моем iPhone, и я решил, что пришло время им заглянуть за занавеску и узнать, как работает программирование. Итак, вот вам мои советы. Они целиком и полностью взяты из личного опыта и пригодятся вам независимо от того, кто вы — хардкор-программист или человек, который вообще не имел дела с кодом до этого.

Совет №1. Начинайте с элементарного

Когда моему сыну Сай было четыре года, мы уже начали пользоваться программами по созданию логотипов на iPad (Mad Logo) и делать анимации, используя язык программирования для детей Scratch. Но я хотел, что бы сын заглянул вовнутрь, и придумал некоторые уловки, которые бы смогли увлечь его программированием на Python. Этот язык достаточно простой, чтобы ребенок мог его понять и при этом достаточно мощный, чтобы реализовать все идеи, которые приходят мне в голову и за которые мне платят хорошую зарплату.

Совет №2. Переходите на Python.

Вы знаете, что Python уже установлен на вашем макбуке? Вам достаточно открыть окно терминала и ввести python для запуска (для выхода нужно нажать ctrl+d). Все, что вам нужно, чтобы запустить Python и начать на нем программировать, есть вот в этом руководстве.

Совет №3. Говорите с компьютером.

Для того, чтобы ребенок обратил внимание, у меня есть специальный лайфхак. Заставьте компьютер говорить! Если у вас макбук, то просто откройте окно терминала и введите команду “приветствовать”. Компьютер ответит “привет”. Разве не магия?

Совет №4. Поиграйте в игру с угадыванием числа на Python.

Чтобы запустить эту программу:

  • Загрузите исходный код
  • Откройте окно терминала
  • Введите cd Downloads
  • Введите python mathquiz.py (и проверьте, включен ли у вас звук)

Это настоящая игра с угадыванием. Мой сын Сай сначала любил просто играть в нее, но потом мы изучили каждую строчку кода, чтобы понять, как она работает.

Откройте этот файл с помощью текстового редактора и попробуйте изменить max_number на 100.

Совет №5. Все остальное вы легко найдете в интернете.

Представьте, что вы хотите научить ребенка чему-то сложному. Допустим, рекурсии. Помните, что это такое? Я помнил, но, черт возьми, меня очень интересовало — как я могу объяснить ребенку что-то действительно сложное (такое, как рекурсия)? Я использовал отличное из Khan Academy, которое доступно рассказывает о рекурсивной факториальной программе.

Вот код, который мы использовали с моим сыном. Тогда ему было уже 6 лет, и я думаю, что он был слишком юн, чтобы понять рекурсию, но ему очень нравилось смотреть, как компьютер делает действительно большие факториалы.

Я уверен, что есть шестилетние дети, уже заработавшие миллионы долларов на игре для iPhone, которую они написали сами. Но мои дети не начали писать какие-то собственные программы. На самом деле, я даже не уверен, что им интересно программирование!

Однако, благодаря этим упражнениям, мой сын Сай увлекся факториалами и, самое главное, увидел, что программирование — это то, что может абсолютно каждый. Советую вам Code.org — там много материалов для эффективного обучения программированию.

Как мой восьмилетний сын учится программировать на Java (и ваши дети тоже так могут)

Мой восьмилетний сын сейчас очень хорошо знает Java и любит этот язык программирования. Я использовал целый ряд интересных интуитивных инструментов, которые нацелены на то, чтобы обучать 8-14-летних подростков программированию.

Я очень увлечен поиском таких инструментов. Сегодня общеобразовательным школам трудно идти в ногу со временем, родителям приходится самим думать, как сделать своих детей креативными, научить их разрабатывать и проектировать. Я написал маленький путеводитель о том, как мой сын учился Java . Я надеюсь, что он сможет помочь кому-то начать кодировать вместе со своим ребенком.

Шаг 1. Minecraft и YouTube.

Первый этап был такой же, как и у всех. Моему сыну исполнилось 7 лет и он очень интересовался Minecraft. Чуть позже он начал смотреть различные ролики на YouTube, он увидел, как люди создают новые текстуры, предметы, скины и добавляют их в игру. Ему всегда нравилось Lego, и возможность создавать новые блоки и персонажи в Minecraft очень увлекла его. Я считаю, что это самый яркий творческий инструмент для его возраста. Вместе с друзьями они встречаются, заходят в игру и получают по настоящему коллективный творческий опыт.

И обязательно разрешайте смотреть им ролики на YouTube. Это вдохновляет детей, показывает им их настоящие возможности. Потом они перейдут на ролики о науке, искусстве и обучении.

Шаг 2. Нужно научиться Java, чтобы самому делать моды в Minecraft

Мой сын очень сильно захотел сделать свои моды для игры. Я сказал ему, что единственный способ — это научиться кодировать на Java. Он принял решение, что пора, а я начал думать как.

Шаг 3. Летняя школа Minecraft Redstone

Сын уже знал Scratch, но он наскучил ему. Я согласен — думаю, что интерфейс и возможности Scratch уже устарели. В итоге прошлым летом мы отправили его в технический летний лагерь на неделю, где он прошел курс цифровой инженерии Minecraft Redstone. Там он изучал цифровую логику, создавал сложные машины (например, лифт), осваивал командные блоки (Scratch это дать не может). Это был летний лагерь от Funtech в Лондоне, и я могу смело рекомендовать его. Диапазон и разнообразие их курсов просто потрясающие.

Шаг 4. Прорыв с Youth Digital

Мы пытались самостоятельно создавать моды на компьютере, но это оказалось сложно. Тогда я случайно наткнулся на сайт YouthDigital.com, на котором мой сын и научился программировать на Java. Этот ресурс, созданный Джастином Ричардсом, блестящ во всех отношениях. Система сочетает в себе интерактивные обучающие видео, пользовательскую версию инструмента кодирования Eclipse и Minecraft. Дети смотрят ролики, редактируют на Java в Eclipse, а результаты своих изменений смотрят в Minecraft. Вот, что значит XXI век!

Это правильное кодирование, а не интерфейс для перетаскивания. Вот скриншот из работы моего сына в доказательство.

При этом здесь все не сложно. Особенно хорош Джастин, который сам снимается в роликах — он так сильно вдохновляет, что любой ребенок все понимает и делает.

У них много совершенно фантастических курсов — дизайн одежды, дизайн игр, дизайн сервера и так далее.

Шаг 5. Игра CodeKingdoms

Сам я начал кодировать с 12 лет и с тех пор увлекаюсь поиском новых способов и инструментов. Сегодня я соучредитель и партнер инвесторского фонда SparkLabs Global Ventures, дочерней компании SparkLabs Korea. Один из стартапов, в который мы вложились, это проект CodeKingdoms. Это восхитительная игра с умными способами привлечения и обучения детей кодированию. Мой сын проникся ей и рассказал всем своим друзьям.

Я уверен, что у этого проекта впереди яркое будущее, и я смело рекомендую игру всем родителям, которые хотят увлечь своих детей кодированием.

Этим летом мой сын хочет опять отправиться в летний лагерь. Скорее всего, он выберет курс робототехники. Сейчас он и его друг самые технически продвинутые ребята в школе. Здорово видеть, как он лидирует в школьных кружках и помогает остальным погружаться в мир программирования.

Еще я бы упомянул здесь вдохновляющий моего сына мультфильм Big Hero 6. Он отлично демонстрирует детям, как круто заниматься творчеством и технологиями. После его просмотра он стал мечтать о создании собственной лаборатории с роботами.

Как я учил своего десятилетнего сына JavaScript

Рич Клейн (Rich Klein), Full-stack web developer, автор детских книг.

Моему сыну было семь лет и он спросил меня, чем я зарабатываю на жизнь. Естественно, он сразу захотел понять, что такое “веб-разработчик”, и с этого все и началось… Родители любят учить своих детей — это инстинкты. Мы учим их говорить, пинать мяч, рассказываем о ценностях, но что насчет программирования? Это не так весело, как новые игрушки, как конструктор Lego, но это одна из полноценных форм творчества и самовыражения.

Начинаем с нуля

Scratch — это очень забавно и интуитивно понятно. И эта платформа как раз и похожа на то самое Lego. Мой сын активно пользовался ей больше двух лет и даже сейчас иногда туда заглядывает.

Перемещение из теплого и уютного мира визуального программирования в суровый и холодный мир обычного ввода текста в командной строке (и следующих за этим сообщениях об ошибке) — это большой и важный момент.

Я прочитал рекомендации и выбрал Python. Сам я работаю HTML / Javascript, PHP / Laravel, Node / Express, опыта с Python у меня не было. Но я сразу понял, что это лучшее решение и заказал книгу “Python для детей”. Python — легко читаемый и элегантный язык. На нем не надо писать так много кода, как это происходит на Cи-подобных языках.

Я взял ноутбук своей матери и установил на нем Python и Sublime. Навыки в Scratch позволили ему быстро освоить переменные, условные обозначения, циклы и списки. Все началось довольно весело, но потом мой сын остановился и потерял мотивацию. Задания из второй части книги не могли конкурировать с тем же Scratch, не говоря уж о Xbox. Но я понимаю, что это был отличный опыт для нас обоих, и уверен, что в будущем мой сын еще вернется к Python, потому что у него так много применений.

JavaScript приходит на помощь

Я помню, как он был взволнован, когда понял, что может просматривать код на сайтах и менять содержимое с помощью Chrome DevTools. Добавление “poop” в заголовки веб-страниц очень веселит детей. Я решил, что ему надо осваивать HTML и JavaScript, и заказал книгу “JavaScript для детей”, где даются все основы. Он работал по книге чуть больше часа по выходным, но добился значительного прогресса.

Веб-разработка — обширная тема, и мне нужна была помощь. В определенный момент через пару месяцев его обучение потеряло первоначальный импульс и снова замедлилось. Мы подписались на CodeSchool и это сработало. Их смесь из музыки, видео-тренировок и онлайн-упражнений отлично подошли моему сыну, хотя иногда он просто слушал и искал новые джинглы. Потом он перешел к Javascript Road Trip Part 1, а сейчас мы работаем над Javascript Road Trip Part 3, и упражнения там сложны для нас обоих. Я сам многому научился вместе с ним.

Как объяснять детям концепции программирования

Тут важно переводить абстрактные компьютерные концепции на вещи из реального мира. Вот несколько примеров, которые отлично сработали для моего сына и помогли ему во всем разобраться.

Переменные. Переменные в JavaScript — это как обычные ящики, в которых хранятся вещи. Вы даете им имена точно так же, как клеите стикеры на коробки. Надо давать понятные имена, чтобы потом любые вещи можно было легко найти.

Массивы. Массив JavaScript похож на вашу книжную полку — на ней много разных вещей (книги, игрушки, рисунки, фотографии, карандаши) и она облегчает доступ к ним. Если вы попросите меня взять книгу о Гарри Поттере с левой стороны самой нижней полки, то я ее легко найду.

Функции. Они похожи на кулинарные рецепты. Если вы выпекаете печенье с шоколадной стружкой, то вам надо пройти через все этапы — собрать и смешать ингредиенты, выложить их на противень, предварительно прогреть печь и затем уже приступить к выпечке. Запуск функции также проходит через все свои этапы, пока не достигнет завершения (это как позвать вас на ужин).

Замыкание. Замыкание похоже на окаменелость динозавра. Вы можете получить информацию о динозавре из ископаемого, хотя сам динозавр исчез миллионы лет назад.

Файлы cookie. Я прихожу в пекарню и пекарь спрашивает меня, какое печенье я хочу. Потом я начинаю каждый день бывать в этой пекарне, и он уже просто спрашивает меня: “Вам как обычно?”. Этот пример был все же недостаточно четким (потому что пекарь все же совершал повторяющийся запрос), и тогда мой сын сам предложил пример с нашим парикмахером. Мы приходим, и он просто начинает стричь нас, потому что знает, чего мы хотим.

Программирование — это длинное путешествие

Оно требует времени, практики, терпения и приверженности, а для детей это не самые легкие вещи. Мы с моим сыном все еще находимся в самом начале этого пути, но потихоньку продвигаемся вперед. Я стараюсь не ограничивать его интерес к новым вещам. Например, мы недавно посетили одно небольшое событие, связанное с инди-разработкой компьютерных игр. Ему стало интересно, и теперь он смотрит видеоролики о Unity. Думаю, что следующим важным шагом для него станет разработка собственной программы или приложения. Не знаю, когда и как это произойдет, но в любом случае, его первый минимально жизнеспособный продукт будет для нас новой точкой отсчета.

P.S К январю 2020 года он потерял интерес к JavaScript (ему стало скучно). На самом деле, веб-разработка — это бесконечно длинный и сложный процесс обучения.

Вы как-будто поднимаетесь в гору, но на ее вершине оказываетесь у подножья другой горы.

Я никогда не заставляю своих детей кодировать. Я могу выступать только в роли наставника и мотиватора. Мой сын бросил код и увлекся художественной литературой. Но в определенный момент его заинтересовал искусственный интеллект и машинное обучение. И тогда мы вернулись к Python!

Как я учила своих дочерей программированию

Грейс Франсиско (Grace Francisco), вице-президент по связям с разработчиками в Roblox

У меня две удивительные дочери 9 и 12 лет. Мне нравится иметь детей — каждый день мне приходится учиться и совершенствоваться как родитель. Мы с мужем стараемся воспитывать в них любовь к обучению, но при этом хотим, чтобы они оставались просто детьми. Как и большинство современных детей они уже на “ты” с технологиями. Но, например, когда мы сидим за ужином, мы не позволяем им лазить в смартфонах. Мы хотим, чтобы они умели общаться вне технологий, эти навыки крайне важны для успешной и счастливой жизни.

Несколько лет назад я выбирала летний технический лагерь для своего старшего сына. Моя дочь заглянула в мой ноутбук и сказала: “Это только для мальчиков” (на фотографиях из этих лагерей были преимущественно мальчики). После этого я попыталась привлечь их стандартными методами — Scratch и Code.org. Но их интерес пропадал через 10 минут. iPad-игры, готовые и красивые, казались им намного лучше.

Прорыв случился благодаря одному семинару, где я помогала коллеге. Там мы показывали другим детям, как использовать Scratch для программирования. Мои дочери тоже были в этой детской мастерской. Они увидели кучу мальчиков и девочек, которые с интересом копались в компьютерах. На том занятии им было весело, и после него моя старшая сказала, что хочет тоже работать в технологиях “как мама”.

Потом их двоюродные сестры познакомили их с Minecraft, и это стало их любимым развлечением. Я создала специальную среду разработки для них на JavaScript.

Мне очень нравится блеск в их глазах, когда они открывают для себя новые возможности программирования. Сложность в том, что маленькие дети часто теряют внимание и надо постоянно находить баланс между игрой и обучением в игре.

У родителей, которые сами не являются программистами, могут возникнуть сложности при таком обучении. Например, когда нужно настроить среду для разработки. С другой стороны, существует целый ряд онлайн-ресурсов, которые не требуют навыков программирования, и на них дети могут обучаться вместе со своими родителями. Начинайте со средств визуального программирования, а потом переходите на скриптовые языки. Я бы рекомендовала JavaScript — он доступен для всех. Старайтесь получать от всего этого удовольствие вместе с вашими детьми.

Я думаю, в мире будут продолжать появляться все более и более инновационные технологии для обучения детей программированию. Оно только еще становится привычным в богатых и статусных школах, но важно, что бы такое обучение проникло в каждую школу во всех частях света.

Язык программирования может стать для всех таким же фундаментальным навыком как грамматика и математика, навыком, который изучается в школе и необходим для работы и жизни.

Мы окружены технологиями, и эта область только будет расти благодаря интернету вещей. Скорость появления инноваций будет увеличиваться — все больше людей погружаются в программирование и предлагают свои решения.

Я надеюсь, что мои дочери будут продолжать развиваться в технологиях, но при этом соблюдать баланс и расти в навыках лидерства и в простых человеческих отношениях. Я думаю, что следующее поколение девушек будет еще лучше, я хочу, чтобы они меняли мир к лучшему в технологиях и за их пределами.

Надо ли обучать детей программированию с ранних лет?

Да, обязательно, и как можно раньше (так же как грамматике и математике)

Обучение программированию с нуля: с чего начать изучение в домашних условиях

Каждый раз, с трудом преодолевая жизненные преграды, хочется взять и перекроить этот мир под себя. К сожалению, мы не рождены творцами этой вселенной. Тем, кто хочет удовлетворить свои амбиции создателя, остается лишь виртуальный мир.

Хотя для творения здесь понадобится не столько волшебство и знание рун, сколько знание основ программирования. Поэтому для всех начинающих творцов виртуальной реальности мы поведаем о том, как научиться программировать.

Что нужно знать «чайнику»

Как бы ни хотелось этого признавать, но в реальности программирование является не таким уж волшебным делом. Создание кода порой можно сравнить с хождением босыми ногами по морскому дну, устланному острыми каменными обломками.

Чтобы стать программистом, нужно быть не только умным, но еще терпеливым и настырным. Обучение программированию всегда сопровождается головой болью, красными от недосыпания глазами и отрешенным взглядом. Именно по нему можно легко узнать программиста.

Многие начинающие обучение считают написание кода чуть ли не самой романтической профессией. Особенно увеличилось количество желающих познать программирование после просмотра фильма « Матрица ». Именно главный герой этой картины Нео подтолкнул многих к становлению на путь постижения программных наук:

Но большая часть начавших изучение бросают его уже через несколько недель. И основной причиной этого является неправильно выбранное направление обучения, методика или даже учебник по программированию.

Особенности обучения программированию на постсоветском пространстве

После развала СССР все отечественные ВУЗы долгое время даже и не пытались перекроить свою систему обучения под потребности современного рынка. Не являлись исключением из этого правила и технические ВУЗы.

Программирования как отдельной отрасли и специализации не существовало как таковой. Его основы преподавались лишь как привязка к другим инженерным дисциплинам. И даже те крохи знаний, которые давались студентам в этой области, не соответствовали современным стандартам и утратили свою актуальность еще 20-30 лет назад.

Ситуация кардинально не изменилась и через 10 лет. Лишь некоторые учебные заведения, учуяв веяния нового времени, в начале двухтысячных года начали перекраивать свое обучение под мировые стандарты. И только с этого момента программирование стало восприниматься как отдельная профессия и специализация обучения:

В это же время стали появляться различные специализированные коммерческие курсы и учебные заведения. Но качество преподавания и даваемых в них знаний находились на крайне низком уровне. Не хватало грамотных профессионалов, способных обучить новичков не только теоретическим знаниям, но и практическим навыкам программирования.

А это в профессии программиста является наиболее важным аспектом. Поэтому большинство из сегодняшних гуру российской IT-индустрии начинали свое обучение программированию с нуля самостоятельно.

В некоторой мере такая тенденция сохраняется и по сей день. Хотя в наше время количество профессионалов, занимающихся преподаванием, заметно возросло.

С какого языка начать изучать программирование

Постижение программных наук характеризуется не только тяжелым обучением, но и его началом. Новичку порой трудно не только начать самостоятельное обучение, но и определиться с координатами отправной точки процесса. Поэтому мы постараемся помочь вам обойти все эти трудности:

Прежде чем ломать зубы об гранит науки, следует определиться, с чего начать изучение программирования. На первых этапах очень трудно определиться со специализацией. Поэтому начнем с подбора первого языка.

Чаще всего выбор падает на язык программирования C ( си) . Именно с него большинство новичков во всем мире начинают свое обучение. На основе C было создана основная часть программных языков, и во многом они наследуют его структуру и синтаксис.

Рассмотрим особенности этого языка, делающего его оптимальным для изучения:

  • Простая для понимания основа – часть встроенных возможностей языка для простоты вынесена в отдельно подключаемые библиотеки. К таким элементам относится большая часть математических функций и методов для работы с файловой системой;
  • Оптимально подогнанная система типов – благодаря простому набору типов данных и строгой типизации уменьшается риск допущения ошибок в процессе написания программного кода;
  • Направленность C на процедурный тип программирования, при котором соблюдается четкая иерархия всех элементов кода;
  • Доступ к памяти машины с помощью указателей;
  • Минимальное количество поддерживаемых ключевых слов;
  • Поддержка области действия имен;
  • Поддержка пользовательских типов данных ( объединения и структуры ).

Проще говоря, C – это то, с чего следует начинать новичку перед тем, как научиться программированию на других языках.

Программы (компиляторы) для программирования

Для обучения программированию недостаточно одного лишь желания и наличия компьютера с выходом в интернет. Для написания программ на C вам потребуется специализированное программное обеспечение – компилятор.

Вот несколько специализированных компиляторов с поддержкой языка C:

  • Microsoft Visual Studio – профессиональный инструмент, поддерживающий множество языков, в том числе и несколько серверных. Подойдет для новичков, если брать его «на вырост»:
  • Borland C++ — бесплатный компилятор, идеально подходящий для начинающего обучение. В отличие от предыдущего инструмента, отличается ясным и понятным интерфейсом. Поэтому его освоение не вызовет особых трудностей даже при самостоятельном освоении азов программирования:
  • Code::Blocks – бесплатная среда разработки, поддерживающая написание кода на нескольких языках. Средний по сложности освоения вариант:

Что касается специализированной литературы, то советовать книги определенных авторов мы не будем. Тут, как говорится, выбирайте, что душе угодно. Потому что в большинстве случаев подбор самоучителя по программированию – это индивидуальный процесс. Используйте тот источник, который больше подходит именно для вас.

Да и в интернете можно найти очень много информации. Например, на нашем сайте специализированной литературе по IT тематике посвящен целый раздел.

Тенденции на рынке программирования

После освоения основ программирования у многих сразу появится вопрос, куда двигаться дальше. Уже на этом этапе обучения следует задумываться о выборе основной специализации в области программирования. Вот те, которые больше всего востребованы на современном рынке:

  • Веб-программирование – здесь понадобятся знания PHP , CSS и HTML ;
  • Разработка приложений под мобильную операционную систему Andro >Java . Поэтому потребуется знание основ этого языка;
  • C# (си sharp) – дальний потомок C . На основе C# построена веб-технология ASP.net от Microsoft .

И последний совет всем начинающим. Перед тем, как приступить к обучению программированию с нуля, следует запастить терпением. А также: таблетками от головной боли, кофе, чаем и побрить череп наголо. Потому что во время постижения программных наук, обучающиеся часто вырывают волосы со своей головы вместе с корнем. Удачного старта!

Программирование для детей и взрослых: когда начинать обучение, и сложно ли это — научиться программированию с нуля

Разбираемся в том, где учиться, как выбрать хорошие курсы или школу программирования и определиться с языком

Считается, что программирование – один из полезнейших навыков современности. Знаний в этой области требуют множество профессий, а вузы, школы и курсы программирования становятся все более популярны.

Например, в Москве количество первокурсников, обучающихся в столице профессиям в области цифровых технологий, в 2020-18 учебном году, составило 19,6 тысяч — на 11% больше, чем год назад. А Microsoft и The Future Laboratory спрогнозировали, что 65% тех, кто сейчас учится в школе или в вузе, в будущем займут должности, которых пока даже не существует.

Принято считать, что учиться программированию с нуля имеет смысл только в юном, а лучше даже в детском возрасте. Обучение детей программированию начинается чуть ли не в детском саду, а в школе программирование и робототехника уверенно сменяют уроки информатики и технологии.

Стоит ли начинать учить языки программирования так рано? И можно ли это научиться программировать с нуля, если ты уже взрослый? Что лучше — найти хорошую школу или курсы программирования — или обложиться учебниками и изучать его самостоятельно? И вообще, что учить?

Все эти вопросы мы задали нашим экспертам. — людям, которые уже освоили программирование, работают с программистами и учат программированию других.

В каком возрасте начинать обучение детей программированию?

Программирование, если совсем кратко, — это процесс создания разных компьютерных программ с помощью специальных языков. Это очень увлекательное занятие, но требующее готовности к совершению определенных интеллектуальных операций.

Единого мнения по вопросу о том, когда начинать обучение программированию, у экспертов нет, у каждого свои рамки. Едины они лишь в одном: научиться писать программы не может быть слишком поздно.

Людмила Евстратова, директор по коммуникациям Школы 21, ИТ-евангелист: «Любой человек, создающий свою первую программу или игру-змейку, получает невероятное вдохновение, ощущает себя создателем и хочет делать больше и больше».

Отдавать на курсы по основам программирования нужно с 13 лет и старше, считает руководитель Детско-юношеского компьютерного центра университета ИТМО Игорь Климов.

Автор онлайн-курса по программированию на Scratch Денис Голиков устанавливает планку пониже – 8 лет, когда ребенок неплохо умеет читать. Но и до этого момента уже можно познакомиться с отдельными элементами программирования графики (Scratch, Logo, Turtle), микроконтроллеров (Arduino) и т.д.

В школе «Кодабра» считают, что научиться основам логики и алгоритмики можно и раньше. Самых маленьких в школе учат с помощью игры — Minecraft. Став постарше, дети осваивают уже профессиональные движки программирования (например, Unity) или изучают языки программирования (Python, Java Script), с помощью которых можно создать полноценные программы, игры, сайты.

Дарья Абрамова, основатель школы цифрового творчества «Кодабра»: «Наш опыт показывает, что дети с шести лет уже могут начать осваивать компьютер, азы алгоритмики и булевой алгебры, а ребята постарше — создавать свои полноценные проекты».

Как понять, есть ли у ребенка склонность к программированию?

Определить, сможет ли в будущем ребенок стать программистом, проще всего с помощью курсов программирования для детей. В этом эксперты единодушны. Если ребенок ходит в школу программирования с удовольствием, ему нравится решать программистские задачи, то склонность определенно есть.

Дома первыми сигналами может послужить любовь ребенка к логическим играм, шахматам и т.п. Также можно прибегнуть и к мобильным приложениям, которые помогают писать первые программы и создавать виртуальные решения, рассказала ИТ-евангелист Людмила Евстратова. Например, существует специальное приложение по написанию программ на JavaScript, включенное в образовательную версию игры Minecraft Education Edition, — Code Builder.

Денис Голиков, автор онлайн-курса по программированию на Scratch: «У ребенка должно быть любопытство и любовь к математике. Сразу видно, что из ребенка получится программист».

Как выбрать хорошие курсы программирования для ребенка — 5 главных правил

К выбору курсов или школы программирования следует отнестись очень внимательно, поскольку из-за высокого спроса на рынке сейчас много предложений низкого качества.

Как же определить, хорошие ли курсы программирования вы выбрали? Наши эксперты советуют обратить внимание на следующие моменты:

1. Квалификация педагогов курсов программирования

Зачастую на некачественных курсах преподают либо программисты, которые умеют писать код, но не умеют учить детей, либо — что еще хуже, педагоги, освоившие одну-две программы для написания кода и прочитавшие пару учебников из серии «Программирование для чайников». Вряд ли они смогут увлечь ребенка написанием кода и научить делать это правильно.

Правило №1: Хорошие преподаватели имеют соответствующее педагогическое и ИТ-образование.

2. Методики обучения программированию

Обратите внимание на то, как собираются обучать вашего ребенка и изучите программу обучающего курса по программированию. Не стесняйтесь задавать вопросы: имеется ли распределение занятий по уровням подготовки, научно ли обоснованы используемые теории, участвует ли школа на конференциях и пр.

Правило №2: Хорошие курсы по программированию имеют несколько программ, рассчитанных на разные возрасты и разные уровни подготовки, и не забывают их совершенствовать и обновлять.

3. Организация работы курсов: количество детей в группе и распорядок дня

Также полезно узнать у сотрудников, как распределяется время на занятии, предусмотрены ли перерывы, сколько детей учится в одной группе.

Правило №3: чтобы обучение программированию было эффективным, количество учеников в группе не должно быть больше 10-12.

4. Продолжительность обучения программированию

Отдельный важный момент, который следует учитывать, — продолжительность курса. Он должен длиться не менее шести-двенадцати месяцев. Это минимальный срок для того, чтобы ребенок сумел разобраться в основах.

Правило №4: Курсы, на которых обещают научить программированию с нуля за несколько недель — это плохие курсы.

5. Отзывы о курсах программирования и личные впечатления

Не стоит пренебрегать и отзывами о работе организации и, если есть такая возможность, обязательно нужно посетить хотя бы одно занятие и увидеть все своими глазами.

Правило №5: В хорошей школе программирования вам не откажут в возможности составить личное впечатление о занятиях.

Заместитель директора по работе с персоналом «Инфосистемы Джет» Оксана Кузнецова: «Сайты-конструкторы, специальные игры, тематические видеоуроки, учебники и школы – чего только нет для обучения на любой вкус, кошелек и возраст».

Можно ли изучить программирование самостоятельно?

Конечно. Самостоятельно изучить программирование вполне по силам каждому. В конце концов, не у всех есть возможность пойти на кружки и курсы программирования. Если у вас ее тоже нет — покупайте книжки и скачивайте программы.

Людмила Евстратова, ИТ-евангелист: «Самое главное — собственная мотивация. Нужно спросить себя «Почему я всё ещё не программирую?» и сегодня же открыть видео в YouTube или забить в поиске «Как начать программировать?»

Для взрослых придумано много массовых открытых онлайн-курсов, например, Coursera и Stepik «Яндекса». Для детей их почти что нет пока (по крайней мере, в России). Но один мы посоветовать все же можем. Это – онлайн-курсы по детскому программированию на Scratch для детей 6-12 лет.

Также дистанционно можно освоить «Твой курс: ИТ для молодежи», рассчитанный на возраст 7-24 года. Он предлагает пройти обучение по нескольким дисциплинам: профориентация в ИТ-сфере, обучение основам программирования и развитие компьютерной грамотности.

Но на онлайн-курсах свет клином не сошелся, книжки остаются вполне себе хорошими помощниками и в этом вопросе. Наши эксперты советуют, например, книгу Кори Альтхоффа «Сам себе программист» или ее аналоги.

Самое главное — какие языки программирования для детей и взрослых стоит учить?

Наиболее популярными языками на данный момент являются Java, JavaScript, C и C++, HTML и SQL, PHP.

Одним из самых простых для освоения считается Python, потому что он обладает более простым синтаксисом, чем другие. Можно начать с него, а также с PHP.

Но учить языки программирования «просто так» не стоит. Поэтому, прежде чем выбирать, подумайте — какая сфера интересна больше других. Если мечтается создавать собственные игры, антивирусы, поисковые системы, то стоит выбрать С++. Если это робототехника, создание управляющих приборов, драйверов устройств, компонентов операционных систем, то стоит замахнуться и на C. Java — продуктов для больших компаний и приложений для Android. JavaScript — серверного программирования. Python подойдет для написания Web-сервисов, машинного обучения и анализа данных. HTML — язык разметки документов в Сети. SQL нужен для управления информацией в базе данных.

Для обучение детей придуманы особые, языки программирования для детей, на которых ребята могут создавать свои первые мультфильмы и простые игрушки. Таков, например, Scratch. Освоив их, дети легче переходят к взрослым языкам.

Стоит ли изучать программирование взрослым?

Тут все индивидуально, и если очень хочется, то можно. Согласно исследованию Stack Overflow, 86% из 100 тыс. опрошенных разработчиков изучали некоторые аспекты программирования самостоятельно, а 48% проходили онлайн-курсы.

ИТ-рынок развивается и требует все больше специалистов, поэтому при определенном желании и трудолюбии найти свое место под солнцем всегда можно. К тому же программистам не обязательно иметь диплом вуза, чтобы считаться профессионалом, отмечает директор департамента технологической политики Microsoft Russia Дмитрий Халин. Подтвердить профпригодность можно с помощью признанного на рынке сертификата.

Игорь Климов: «Если исходить из того, что все, что можно автоматизировать, с течением времени мы будем автоматизировать, то навыки программирования понадобятся абсолютно всем и во всех областях, для автоматизации того, что еще не автоматизировано, а также для оптимизации автоматизации, а может и для автоматизации оптимизации автоматизации».

Однако рассчитывать, что по окончании курсов за вами сразу выстроится очередь из работодателей, не стоит, предупреждает Климов. Молодежь часто приходит к работодателю с завышенной самооценкой, в отличие от поколений постарше. Те, кто освоили программирование в качестве второй профессии, как правило, оценивают себя более адекватно. Однако у молодых людей есть свой плюс: они быстрее обучаются и лучше готовы к переменам.

Ну и, конечно же, выучить языки программирования можно просто для себя. Так, к Денису Голикову однажды пришел дедушка, который учит по книжке Sctatch, чтобы быть ближе к внукам. Замечательно же.

Где учиться: лучшие вузы, школы и курсы программирования

Мест, где ведется обучение программированию детей, подростков или взрослых, очень много. Мест с хорошей репутацией — существенно меньше. Ниже мы перечислили него некоторые из них.

Вузы, где можно обучиться разным ИТ-специальностям:

ИТМО

В университете можно найти множество специальностей, связанных с информатикой, информационными технологиями и пр., и отдельно — Детско-юношеский компьютерный центр, который отвечает всем требованиям хороших курсов.

МГТУ им. Баумана

Также предоставляет довольно широкий выбор профессий и славится как один из сильнейших вузов России.

МАИ

Авиационный вуз, предлагающий много специальностей, связанных именно с техникой.

Финансовый университет при Правительстве РФ

Интересно не только «железо» и «софт»? Тогда можно пойти и обучиться, например, ИТ-менеджменту.

МФТИ

В 2015 году возглавил рейтинг «Superjob для студентов» по уровню средней зарплаты выпускников, работающих по ИТ-специальностям. ИТМО и МГТУ им. Баумана, кстати, там тоже есть.

НИТУ МИСиС

Постоянно входит в международные рейтинги лучших вузов и славится своими олимпиадами по программированию.

МГТУ МИРЭА

В 2015 году объединил в себе сразу несколько вузов МИРЭА, МГУПИ, МИТХТ имени М. В. Ломоносова и несколько образовательных, научных, конструкторских и производственных организаций.

НИУ ВШЭ

Стремится успеть за всеми новыми веяниями в области образования и активно сотрудничает с ИТ-компаниями в области подготовки студентов.

Курсы и школы программирования для детей и взрослых

«Кодабра»

Собрала у себя преподавателей из лучших вузов, проводит экскурсии в офисы крупнейших ИТ-компаний («Яндекс», «Рамблер»).

Coddy

Преподаватели, как рассказывают в самой школе, готовят детей к поступлению в ведущие вузы, созданию бизнеса, работе в российских или международных технологических компаниях

«Школа 21» Сбербанка

Основана инновационной французской школы программирования (без учителей, лекций и оценок). Ну а про то, насколько Сбербанк внимателен к ИТ-технологиях, наверно, все читали в новостях.

«Твой курс: ИТ для молодежи» (очный и дистанционный) Microsoft Россия

Подходит к выбору профессии философски, пытаясь помочь выбрать не только специальность, но и жизненный путь в целом.

GeekUniversity Mail.ru Group

Онлайн-университет крупнейшего ИТ-холдинга в России. Обещают трудоустройство.

Самое главное

Обучение программированию начинать лучше с детства, но и переучиться никогда не поздно. Для того, чтобы получить новую специальность или новую работу. Или просто для себя. Кто из нас не хотел бы почувствовать себя творцом и создать дивный новый мир?

Мастер Йода рекомендует:  Инкапсуляция в PHP
Добавить комментарий