Какое-то время назад мы публиковали материал по обучению детей программированию. В статье освещались игры, которые, по мнению отца-программиста, помогут детям в освоении азов. Сегодня — вторая часть. Текст Маршалла Брейна.
Стэнфордский онлайн-курс для подростков и детей, ссылки на мануалы Apple и умеренные восторги BASIC Stamp — под катом
Реальное программирование — стэнфордский курс Java
Мой сын (около 13 лет) прошел бесплатный онлайновый стэнфордский курс по программированию на Java и многое из него почерпнул. В этом курсе есть и лекции с YouTube, и задания для самостоятельной работы, которые закрепляют теорию.
Работа ведется в интегрированной среде разработки Eclipse. Eclipse — это полнофункциональная экосистема с отличным отладчиком. Кстати, она тоже бесплатная. Мой сын прошел вот этот курс.
Пришлось немного простимулировать сына (то есть задать сроки работы), чтобы он не забросил первые задания. Но когда мы дошли до урока № 4 (написание кода для игры Breakout), наш отпрыск уже с головой увлекся процессом и даже дописал в основной версии игры несколько функций по моей подсказке. Думаю, этот курс позволяет на собственном опыте ощутить, каково быть «настоящим» программистом.
В Стэнфорде предлагается много курсов по программированию, вот список: список курсов по программированию, Стэнфорд.
Реальное программирование — языки C и C++
C и C++ — два самых распространенных языка программирования в мире. Для этих языков предоставляются бесплатные компиляторы и масса доступной учебной информации. Вот два ресурса, которые я посоветую для начала:
• основы программирования на языке C;
• программирование на языках C и C++.
Разумеется, массу дополнительной информации по этим темам можно найти в Google.
Как писать приложения для iPhone и iPad
Программирование для iPhone и iPad — дело не для первоклашек. Но эта наука вполне под силу ученикам средних и старших классов, имеющих склонность к программированию. А пользовательская аудитория этих программ огромна, так как они выставляются на крупнейшем рынке приложений — AppStore. Вот что нужно сделать, чтобы приступить к программированию для iPhone:
• шаг 1 — купите компьютер Mac от Apple, на котором вы сможете компилировать приложения;
• шаг 2 — затем отправляйтесь на сайт MacAppStore и скачайте там среду разработки XCode. Она бесплатная. В пакете с программой содержится сама рабочая среда, компилятор, инструментарий для разработки программ (SDK), библиотеки, а также эмулятор, позволяющий тестировать на ПК приложения, написанные для iPhone иiPad;
• шаг 3 — Apple предлагает ряд мануалов:
Start Developing iOS Apps Today;
Creating Your First iOS App — Hello, World;
Creating Your Second iOS App — Storyboards;
• шаг 4 — пройдите стэнфордский курс по разработке для iPhone;
• шаг 5 — когда вы напишете ваше первое приложение для iPhone, останется загрузить его в AppStore. Регистрация в качестве разработчика Apple стоит $99. Опять же, при возникновении любых текущих вопросов и сложностей — Google вам в помощь.
BASIC Stamp
Кстати, мне удалось привить десятилетнему сыну тягу к программированию, когда мы попробовали поиграть с устройством, называемым BASIC Stamp. Так что я вкратце его тут опишу. Девайс недешевый, но зато у него есть ощутимые достоинства:
1. этот компьютер пригоден для программирования, но начинен очень простой электроникой;
2. сам процесс программирования также очень прост;
3. на нем можно писать реальные вещи или, как минимум, такие вещи, которые кажутся более реальными, чем Mindstorms (во всяком случае так показалось моим детям).
Мы впервые познакомились с BASIC Stamp, когда нашли эту игрушку за $90 на RadioShack:
Здесь есть одна важная оговорка: подключить это устройство можно лишь к компьютеру с портом последовательного ввода-вывода (а в большинстве компьютеров, выпущенных после 2005 года, такой порт отсутствует). Версия с USB-входом стоит уже дороже.
Если вас заинтересовали такие игрушки, то можете попробовать набор для программирования роботов — стоит он примерно столько же.
Итак, я вас предупредил, что BASIC Stamp дороговат и не то чтобы совсем элементарен. Как минимум, придется позаботиться о совместимости портов. Если вас это не устраивает — что ж, пусть так.
Но мы купили эту штуку на RadioShack, и у нас нашелся старый компьютер с нужным портом, мы все это настроили и заставили работать, и… вот что получилось. Представляете, мой ребенок сидит сам, роется в книжке, подключает маленькие схемы и ваяет простенький код, а потом смотрит, как все это работает. Все программы и электроника настолько просты, что десятилетний ребенок без труда с ними управляется. Все функции элементарны: например, подключаешь кнопочку, которая потом заставляет мигать светодиодный индикатор, либо включает сервомотор, либо управляет динамиком, который издает какие-то звуки. Но все дело в том, что мой ребенок, который не так уж и увлекается чтением, может сам наладить работу всей этой системы, а потом еще дописать для нее расширения. Самые простые: например, кнопка включает не одну, а две лампочки. Но это настоящие расширения.
Самое интересное, что к устройству можно докупать и другие детали, которые подключаются к нему без всяких проблем. Например, мы купили небольшую текстовую ЖК-панель. Тогда нам удалось собрать прибор, который может считать людей, проходящих мимо. У нас в семье шесть человек. Оказывается, очень интересно отслеживать, сколько раз мы поднимаемся по лестнице, сколько раз открываем холодильник и т. д. С холодильником было вообще интересно — оказывается, мы туда залезаем где-то по пятьдесят раз каждый день!
А последний наш проект был связан с GPS-модулем и считывающе-записывающим устройством, к которому подключается флешка. Мы воспользовались всем этим для школьного научного проекта. Вставляете флешку в устройство и начинаете работать с файлами. Например, можно создать текстовый файл и дампировать в него данные. А потом подключаете к устройству GPS-сенсор, собираете с него данные и записываете их на флешку. И начинаете оставлять «электронный след» везде, где ходите. Потом можете вставить флешку в USB-порт на ноутбуке, загрузить данные в таблицу и создать график рассеяния.
Вот здесь записано, как сбросить эти данные в карты Google.
Parallax GPS все же не идеален. Когда мы его подключили, выяснилось, что устройство не может сконтачиться со спутником. Мы пытались его уговорить целый час, пока не оказалось, что GPS-сенсор должен быть установлен в 10 дюймах от Stamp (ближе он не работает из-за помех, создаваемых устройством). Было бы нелишне упомянуть этот факт в документации по Parallax. Но даже если эта проблема устранена, прибор иногда отказывает (например, в дождливую погоду).
Всю эту информацию мы узнали, разыскивая сведения о BASIC Stamp в Интернете. Например, есть умельцы, которые мастерят автопилоты на основе BASIC Stamp:
• руководство по конструированию автопилота из BASIC Stamp, часть 3 (именно здесь мы вычитали, что GPS-сенсор работает только на некотором расстоянии от прибора);
• код для неуправляемых летательных аппаратов, на стадии бета-тестирования.
Уже существует множество подобных игрушек. Есть целый ряд платформ, более продвинутых, чем Stamp: это и Arduino, и Teensy, и многие другие.
Заключение
Итак, если вы хотите привить вашим маленьким детям тягу к программированию — для этого есть масса способов. В этом интереснейшем деле вам всегда поможет Google. Там просто бездна полезной информации. Ищите, пробуйте разные варианты вместе с детьми и смотрите, что вам подходит. Поверьте, от такого воспитания просто не оторваться!
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.