Привет, Хабр! Наступила осень, птицы слетелись на юг, нормальные люди переселились на диван, а мы, «железное безымянное направление» дизайн-исследовательской школы ГоТо, злобно воркуя и ощетиниваясь паяльниками, зажатыми в стальных крылатых руках, сбиваются в бронированный клин, чтобы летать 28 октября в Санкт-Петербурге на осенней школе в ИТМО .
Почему он железный, почему безымянный и что будет в школе – обо всем по порядку.
О проблемах обвинения
Слово «робототехника» удобно: без уточнения термина с его помощью можно описать очень и очень широкий класс устройств и видов деятельности, связанных с этими устройствами.В этом слове футуризм, прогресс, ретрофутуризм, ностальгия, освобожденный человек, Скайнет, порабощенный человек, нанотехнологии и, возможно, учитывая современные тенденции, блокчейн.
В общем, слово обо всем и ни о чем – это устоявшаяся банальность.
Зануды определений вообще не в почете, в том числе, когда речь идет о так называемой «образовательной робототехнике».
Находясь по другую сторону баррикад, откуда неудобно уточнять, мы в GoTo, однако, озадачились вопросом подходящего названия для направления, которое исторически называлось «направление робототехники».
Рост количества курсов, предлагаемых по каждому утюгу под этим названием, стал настолько стремительным, что когда среднестатистический, нормальный человек слышит слово «робототехника», он сначала представляет себе поделку из Лего, которая движется по линии.
— Значит, ты выше этого? спросит среднестатистический, нормальный читатель.
Мы ответим: «Нет, мы занимаемся немного другим (об этом мы поговорим ниже) и страдаем от того, что для этого множества видов деятельности не существует одинаково короткого названия».
Словосочетание «Интернет вещей» удобно: без уточнения термина его можно использовать для описания очень и очень широкого класса устройств и деятельности, связанной с этими устройствами.
Не будем повторяться, тезис ясен: общее место и презрительно выдвинутая губа Базарова.
Проблема осложняется тем, что простое (без колокольчиков и шапки) название нашей деятельности в предельно ясном и очищенном виде будет выглядеть узнаваемо, но крайне мрачно и очень угловато - как БТР на стоянке перед супермаркет. «Направление прикладной радиофизики и электроники», «Направление цифровой обработки сигналов» — чувствуете, как лица консьюмеризма и маркетинга ухмыляются в зловещей гримасе? Видите, как модная молодежь на ховербордах и со спиннерами в руках выпрыгивает из окон, глядя на свет? Между этой Сциллой-Харибдой нам нужно идти брассом: чтобы имя было узнаваемым, модным (прости меня, Господи!) и ярким, но в то же время, хотя бы близким к той области, с которой нам предстоит иметь дело.
Как мы из этого выходили: старались умничать («феррум студия») и шутить («цифро-аналоговая палатка»).
Руководство говорит: они этого вообще не поймут. А мы ответили: смотрите, у нас среди понятной биоинформатики и анализа данных есть «черная лямбда», и без сносок в ней не разобраться, может, это что-то венерическое… Ну да ладно, руководству виднее.
GoTo, осень 2017, Санкт-Петербург.
Робототехника и Интернет вещей* *прежде чем расшифровать то, что скрывается за этой банальностью, хотелось бы поговорить об идеальной сферической школе в вакууме.
GoTo изначально была школой дизайна.
То есть в результате работы участников получается продукт (программный или аппаратно-программный), который можно использовать.
Часто времени хватает только на какой-то намек, на какую-то туманную схему такого продукта, но рассказ о том, как мы вытягиваем работу над проектом за рамки выездной школы, будет отдельным.
Прежде всего, проекту нужна задача.
В идеале это чья-то реальная потребность.
Это не обязательно «продукт для стартапа», который должен быть выпущен миллиардными тиражами, главное — наличие хотя бы одного будущего пользователя с потребностью.
Найти реального пользователя, чью проблему мы сможем решить, хотя бы теоретически, непросто: 50% таких проблем на старте отсекаются ограничениями во времени и деньгах, еще 30% скучны для подростка, они чаще всего не заинтересован в обогреве теплиц.
Остальные 20% — наши с примерами в виде детского протезирования с моторикой, систем отслеживания наполнения коробок для CharityShop, упаковочных машин, умных гантелей для Intel и других проектов, основанных на идеях участников.
Это похоже на парадокс: ключевым моментом идеального проекта является его реальность (в этом месте Платон взвыл бы, да).
Если мы, преподаватели или участники, начинаем играть на воображаемого заказчика с воображаемым проектом, у нас развиваются воображаемые требования, предположения и уступки.
Крайний вариант — «проект на основе четырех металлических линеек и шести колес».
Это трагикомический случай из недавней истории, за который нам стыдно; Мы стараемся всеми силами избегать подобных случаев.
Еще одним важным аспектом является набор входных навыков участников.
Здесь могут быть две крайности: мы - преподаватели и кураторы - практически не нужны участнику (такое бывало, можно было с гордостью называть себя наставниками, а не усердно трудиться) или, наоборот, участник где-то только слышал о программировании и особо не пробовал (Чем больше людей к нам приходит, тем чаще встречается такой вариант, что естественно, но заочные отборы, увы, недостаточно эффективны).
Идеальный случай — участник, который умеет следовать совместно составленному плану работы, охотно записывает советы на проходных и просит дополнительных консультаций.
В силу нормальности второй упомянутой крайности в какой-то момент в наших школах появился поток, параллельный проектному: курс для юных бойцов.
Поскольку стоять на месте нам тоже скучно, мы внедряем практики, направленные на минимизацию простоев: придумываем способы более точного определения уровня участника, пытаемся создавать комбинированные потоки КМБ+проект. На этот раз осенью в Петербурге мы поступим немного жестоко: никаких проектов с мнимыми заказчиками и никаких коммерческих предприятий.
Для изучения азов существуют онлайн-курсы и курс для молодых студентов в области прикладного программирования, где можно узнать о циклах и ветвлениях, не отягощаяся подтягивающими резисторами и прерываниями.
На осенней школе будет как минимум два проекта, направленных на удовлетворение конкретных потребностей конкретных компаний.
Конечно, мы рассмотрим предложения участников и примем их к сведению.
Чему будет посвящено остальное время? Мы решили выделить несколько (шесть) разнородных задач, которые сами по себе не являются проектами (в связи с тем, что не решают ничьих задач), но могут дать либо применимые впоследствии знания в достаточно узкой области, либо некий подход, который может применять для самостоятельного приобретения навыков.
Забегая вперед, отметим, что большинство из них предполагают совмещение ее с другой задачей, чтобы муки выбора были менее болезненными, а деятельность – более разнообразной.
Прежде чем перейти к примерам, оставим небольшое замечание-ответ-уточнение на закономерный вопрос «Почему»? Дело в том, что любое сложное устройство по сути является абстракцией.
Интерфейс, внутри которого скрываются сложные и загадочные внутренности.
Язык C++ — это абстракция, позволяющая не обращаться к регистрам напрямую и не беспокоиться о целостности стека.
Ультразвуковой датчик — это абстракция, скрывающая чрезвычайно сложные детали распространения и отражения звука.
Автомобиль — это абстракция от окружающей погоды, позволяющая легко скрыть пространство между двумя точками.
Проблема в том, что существует «закон дырявых абстракций», сформулированный в свое время программистом Джоэлом Спольски: любая нетривиальная абстракция полна дыр и рано или поздно «протечет».
Если не знать, как работает датчик, вместо данных о расстоянии можно получить полную лажу.
Если не знать, как устроен автомобиль (абстракция, защищающая от непогоды), то можно улететь в кювет, забыв про аквапланирование на скользкой дороге.
Мы хотим немного приоткрыть завесу абстракций и покопаться глубже во внутренностях.
Для начала немного атмосферы
Примеры
- Тщательное изучение датчика.
Возьмем, к примеру, ультразвуковой дальномер.
Стандартная практика: вот четыре провода, вот «Ультрасоник.
х», выход — сантиметры до препятствия.
Ну да ладно, мы обычно скучнее: инициируем стробом волну там, волна возвращается сюда, измеряем длительность импульса на входе, делим на константу, на выходе сантиметры и идем дальше.
На этот раз мы дойдем до предела занудства: правильно поставленный эксперимент, отражение волны в различных средах от различных препятствий, расположенных по-разному, изучение ряда полученных значений, их фильтрация.
Мы считаем, что не всем повезет просто использовать черные ящики, кому-то нужно будет их создавать и поддерживать, и это шаг в этом направлении.
Кроме того, жертвы этой задачи будут значительно лучше понимать ультразвуковые измерения расстояний.
- Другой пример: в соседнем классе, где учатся прикладные программисты, компьютер, на котором выполняется код, кажется данностью.
Традиционно нам приходится считать байты.
«Эксперимент показал, что некоторые подростки хотят взломать компьютерное устройство, поэтому на этот раз мы будем применять логику к транзисторам, собирать из них вентили, а затем делать из вентилей разные мультиплексоры и сумматоры.
Это одинаково далеко от практически применимого проекта и традиционного курса молодого бойца «обо всем на свете», но это достаточно узкий сюжет – мы постараемся открыть к этому вкус или хотя бы приоткрыть завесу магия.
- Сейчас сложно найти разработчиков, которые не используют «кубики».
Целые фреймворки заимствуются у соседей по прикладному программированию.
Мы предложим научиться изучать технологии на примере BLE. Это будет не «вот как работает Bluetooth с низким энергопотреблением», а «Вот как мы идем, чтобы узнать, как работает Bluetooth с низким энергопотреблением».
Результатом является знание того, как это работает и как изучать другие технологии.
В нашем новом формате мы поступим наоборот. Возьмем, к примеру, Particle Photon за отправную точку и рассмотрим все, что он может нам дать, прокатимся на платформе вдоль и поперек руководства.
Однако мы не будем раскрывать все приготовления.
Внимательный читатель спросит: «Значит, некомпетентным участникам в осенней школе не местоЭ» Мы ответим: «Некоторые наши препараты не требуют особых вступительных требований, но не стоит ожидать, что мы объявим необъятное за неделю, проведя полный вводный курс».
Если у вас есть:
- «железные» потребности, на решение которых нет времени — напишите нам, если звезды сойдутся, нам понадобится несколько часов вашего внимания на этапе мучений пользователя;
- подростки, которые еще не знают, чем будут заниматься на предстоящих каникулах - напишите им, чтобы оформить заявку для школ .
Теги: #пойти в школу #пойти в лагерь #Робототехника #arduino #школа программирования #обучение программированию #обучение программированию #программирование #разработка робототехники #программирование микроконтроллеров #разработка для Интернета вещей
-
Обзор Нетбука Msi U100 018Us
19 Oct, 24 -
Разработка Чат-Бота (Telegram + Youtube)
19 Oct, 24