Программирование с нуля для подростков - IT Новости
Microclimate.su

IT Новости
22 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Программирование с нуля для подростков

Как обучать программированию подростков?

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

Я нашел множество ресурсов для обучения программированию учеников начальной школы. В качестве примера приведу Scratch и “Час кода” на Code.org, которые помогут новичку познакомиться с программированием.

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

Однако, обучение программированию подростков старше 6-го класса — это совсем другое. Согласно этой статье, более чем у 95% современных подростков есть смартфон. Поэтому визуализированные данные на Scratch и Code.org их больше не удивляют. Наоборот, я обнаружил, что подростки считают, что это выглядит по-детски и неинтересно.

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

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

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

У подростков завышенные ожидания

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

Именно мои ученики показали мне кучу игр “.io” и HQ Trivia. Для них важно, чтобы они изучали что-то крутое, чем они могут поделиться с друзьями.

Первый же их вопрос на первом занятии звучал так: “А мы сможем взламывать сайты и приложения?”.

Я сказал им, что сперва нужно изучить HTML и CSS, чтобы понять, как взламывать сайты и показал им это:

Я объяснил, что значит каждый тег, и как они будут отображаться на странице. Я загрузил страницу с hello.html и все их ожидания увидеть крутую веб-страницу пошли прахом. Им стало очень скучно.

Однако, я продолжил объяснять им HTML, CSS и основы JavaScript. Мне казалось, что им будет интереснее изучать HTML, CSS и JavaScript а так же техники создания простых сайтов. Я был неправ.

Даже после создания нескольких сайтов и запуска их на Firebase, они продолжали твердить, что хотят заниматься чем-то более “реальным”, что они смогут показать своим друзьям.

Их нужно учить делать что-то реально полезное

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

Я решил, что лучше всего использовать аппаратное оборудование, чтобы ученики могли физически увидеть, что они программируют. Мой выбор пал на Raspberry Pi и Arduino.

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

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

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

Читать еще:  Программирование какая специальность

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

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

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

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

Когда они будут более подготовлены и изучат основы Linux, я планирую научить их взламывать при помощи Kali Linux. Думаю, это им понравится ещё больше.

Конкуренция как инструмент обучения

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

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

Также мы начинали занятие, уделяя немного времени Clash of Code — быстрой 5-минутной задачке по программированию, в решении которой ученики соревновались с другими ребятами онлайн. И иногда мои ребята опережали игроков, чей уровень был выше, чем у них. Это давало им огромный толчок, чтобы начать очередное занятие по программированию.

Вывод

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

Как научить ребёнка программировать

Как научить ребёнка программировать

  • Подборки , 1 июня 2018 в 14:40
  • Евгений Туренко

В этой статье мы расскажем родителям, как самостоятельно обучить ребёнка основам программирования. Кстати, описанные ресурсы могут помочь не только детям. Поэтому любителям курсов «Java за 3 дня» тоже не будет лишним прочитать материал.

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

Примечание Если вы не планируете научить ребёнка программированию на 1C, то есть смысл отдать его на курсы английского языка, чтобы у него было хотя бы базовое понимание англоязычных терминов и текстов.

Перед началом обучения желательно поставить цель. Подумайте, чего должен достичь ваш ребёнок после освоения того или иного аспекта программирования. Например, если вы хотите научить его пользоваться компьютером на продвинутом уровне, то вероятнее всего, не нужно углубляться в языки вроде C++. Достаточно будет просто освоить Scratch, а также рассказать и показать, как работает Web. Уже на этом уровне ребёнок будет выделяться среди своих сверстников.

25 февраля – 18 мая , онлайн, беcплатно

Если ваша цель — заинтересовать ребёнка в профессии программиста, то имеет смысл начать разрабатывать учебный план. Для этого можно посмотреть, как преподносится материал на YouTube в видео с большим количеством положительных комментариев. Также стоит обратить внимание на Khan Academy. Там есть множество материалов для детей и взрослых, и вы можете просто перевести их и использовать для обучения своего ребёнка.

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

Инструменты для начала обучения программированию

Scratch

Наиболее популярная среда для обучения как совсем маленьких, так и детей 10+. Программы создаются с помощью блоков с понятными для детей описаниями действий. Детям нравится смотреть на результаты своего труда, здесь они увидят или интересную игру, которую сами сделали, или какую-нибудь анимацию. Ещё существует аналог Scratch для iOS — Hopscrotch. Кроме того, есть версия для совсем малышей и называется она Scratchjr, однако разрабатывается не командой MIT.

Alice

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

StarLogo TNG

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

Более продвинутый вариант Scratch. И выглядит, и работает сложнее, но ребёнок тоже растёт, верно? В Snap реализована возможность создания своих собственных блоков.

Gamefroot

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

Code.org

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

ПиктоМир

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

Конструкторы

Arduino

Когда речь заходит о программировании, то нельзя не сказать про Arduino. Такие игрушки подходят как детям, так и взрослым. Кроме того, программирование микросхем может заинтересовать ребенка роботехникой, что, конечно, не хуже, чем Web. А ещё Arduino работает со Scratch.

Raspberry PI

Raspberry PI — небольшой одноплатный компьютер под управлением Linux, который совместим с Arduino. Кроме того, он поддерживает язык программирования Python, что покажет ребёнку, как выглядит программирование у взрослых.

Lego, как Arduino, позволяет программировать свои конструкторы, но не все. Кроме того, Lego не может взаимодействовать ни с Arduino, ни с Raspberry, что уменьшает его шансы на популярность среди детей возраста 6+.

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

Заключение

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

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

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

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

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

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

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

Курсы Технополиса по визуальному программированию:
— Креативное программирование (7−11 лет)

JavaScript — объектно-ориентированный и процедурный язык программирования, который используется для front-end (для клиента) приложений. Это означает, что все запрограммированные команды исполняются на компьютере пользователя (например, который просматривает веб-страницу).

Этот язык очень популярен, среди пользователей (и работодателей!), а также поддерживается во всех браузерах по умолчанию. JavaScript чаще всего используется, чтобы делать сложные и интерактивные веб-приложения.

Хоть названия двух я зыков и похожи, Java и JavaScript — два совершенно разных языка программирования. Не спутайте! 🙂

Идеально для:
— Учеников, которые интересуются разработкой сайтов и веб-дизайном;
— Тех, кто хочет научиться фундаментальным знаниям в программировании.

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

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

Java подходит детям и подросткам, потому что на нем можно писать движки для игр, разрабатывать приложения на Android, высоконагруженные back-end (серверные) проекты и многое другое.

Идеально для:
— Учеников среднего уровня, кто хочет прокачать свои навыки еще сильнее;
— Детей, кто хочет научиться азами Java через игры, например, через Minecraft;
— Подростков, кто готовится к поступлению в зарубежные ВУЗы на IT-специальности;
— Подростков, кто хочет очень глубоко разобраться в принципах программирования;
— Терпеливых студентов, кто готов несколько лет изучать синтаксис языка и его особенности.

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

Такие компании, как Google и Disney, используют Python. Он очень популярен в научных областях, где люди — это прежде всего ученые, а потом уже программисты. Также язык используют для разработки видеоигр и многих научных и вычислительных проектов.

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

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

Родом из Бразилии, Lua (что в переводе с португальского означает «луна») — очень легкий язык программирования, предназначенный для встраивания в разные приложения. Это мультипарадигменный язык, то есть он имеет набор общих функций, которые можно применять ко многим задачам. Его можно быстро изучить (как уже знакомый вам Python), просто встраивать в другие проекты, у него быстро выполняется код. Словом, это идеальный выбор для программистов игр.

По словам GameDev.net, Lua был самым популярным языком для использования в игровых движках, и он получил награду Gamasutra Frontline за лучший инструмент для программирования игр. Число разработчиков Lua неуклонно растет, так что ваш ученик может выбрать инструмент, который может помочь им в различных сферах деятельности; Adobe Photoshop, World of Warcraft и Angry Birds используют код Lua.

Идеально для:
— Детей и подростков, которые хотят быстро освоить язык;
— Ребят, интересующихся именно программированием игр;
— Тех, кто хочет стать в будущем разработчиком игр.

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

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

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

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

Синтаксически C # очень похож на Java (о нем мы писали чуть выше), поэтому опыт использования одного из этих языков облегчит выбор другого. C # даже называют клоном языка Java от Microsoft. Его можно использовать для создания веб-приложений, игр и других программ.

Идеально для:
— Ребят, которые заинтересованы в создании приложений для Windows;
— Подростков, которые имеют опыт работы с Java и хотят выучить похожий язык.

Самое сложное в начале пути программиста — выбрать, на каком языке учиться писать. Существует множество подходов: на основе сложности языка, на основе запросов будущих работодателей, на основе результатов, которые хочется получить. Более подробно эти подходы мы описали в статье «Как правильно выбрать язык программирования для детей и подростков?»

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

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector