Pull to refresh

Поддержим наших школьников

Reading time 5 min
Views 16K
Помните свою первую программу? Наверняка она была написана на каком-нибудь Pascal или Basic в школьные годы. А потом завертелось: новые языки, алгоритмы, фреймворки… и вот мы здесь.

Прямо сейчас в России очень много талантливых ребят идут по нашим стопам. К счастью, у нынешнего поколения есть и умные IDE, и высокоскоростной интернет, и огромное количество учебных материалов под рукой. В результате, ученики намного раньше начинают заниматься серьезными проектами. Например, школьник 11-го класса сделал систему распределенных вычислений на основе браузеров посетителей сайта:

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

Это лишь один из множества школьных исследовательских проектов. Лучшие из них будут представлены в Питере 3-го февраля 2016 в 14:00 на Балтийском научно-инженерном конкурсе.
Приглашаю всех прийти, посмотреть и пообщаться с юными изобретателями. Ведь молодому программисту, который в первый раз в жизни что-то создал с нуля, ОЧЕНЬ важно услышать оценку своего труда от настоящих IT-специалистов.



Я обещал рассказать историю одного школьного проекта


Однажды петербургский школьник по имени Саша задумался о том, что большую часть времени за компом он проводит исключительно в браузере. При этом стоящий внутри компа core i7, по сути, 80% времени простаивает без дела. А ведь таких, как он — сотни миллионов людей… Саша задумался: «А нельзя ли как-то использовать мощь моего компьютера для чего-то полезного?» Вскоре он узнал про «добровольные вычисления» и BOINC.

Как и полагается инженеру, Саша отметил недостатки существующих на рынке систем добровольных распределенных вычислений:
  1. Конечному пользователю нужно устанавливать дополнительное ПО на свой комп, что очень замедляет и ограничивает рост GRID сети.
  2. А условному ученому, которому для решения задачи требуются существенные мощности, нельзя так просто взять и «добавить в свой код распределенные вычисления в облаке». Нужно подстраиваться под жесткие правила и, по сути, писать отдельную программу.


Саша решил сделать систему распределенных вычислений, в которой эти проблемы решены. С одной стороны — сделать удобную java-библиотеку для распределенных вычислений, которую можно было бы легко подключить к коду своего приложения, написав пару строк кода. С другой стороны — сделать скрипт для сайта, который при вставке на страницу превращает «бесполезных» пользователей, просматривающих фото кошечек, в «полезных» пользователей, которые без вреда для скорости работы браузера незаметно помогают своими core i7 диагностировать рак или предсказывать погоду. Для того, чтобы построить такую систему, школьник за год изучил десятки новых технологий: от серверной Java до компиляции C++ кода в javascript и особенностей работы javascript в браузере.

Результатом стала работающая система. Можно посмотреть код сервера на Tomcat, подключаемой Java-библиотеки и тестового приложения, подбирающего пароль по хешу md5 в облаке с помощью библиотеки. Не обошлось и без экспериментов: опыты показали, что уже 13 браузеров с javascript обгоняют одно нативное C++ приложение (а если у пользователей Chrome, то браузерные вычисления по скорости обгоняют C++ уже на пяти браузерах).

Саша успешно успешно представил проект на Балтийском научно-инженерном конкурсе в Питере, занял 1-е место и выиграл поездку в Штаты на Intel ISEF. Там как раз и был представлен стенд из начала статьи:
Система распределенных вычислений на основе браузеров посетителей сайта
(кликните, чтобы увеличить картинку)

После поездки в Штаты Саша поступил в ИТМО и буквально с первого курса присоединился к команде серверной разработки одного из известных питерских стартапов, где в свободное от учёбы время помогает строить «новый Google/Facebook/SpaceX».

Это отнюдь не единственный успешный проект. На Балтийском конкурсе каждый год представляют более 150 проектов на совершенно разные темы, например:
  • Использование Android-телефона в качестве HID-мышки
  • Экономичный 3D сканер стоимостью 3000 рублей
  • Аналог RSA-криптосистемы в квадратичных Евклидовых кольцах
  • Использование билинейных преобразований для реализации алгоритмов «варпинга» и «морфинга» в реальном времени
  • Back-In-Time Debugger: отладчик под Linux с возможностью восстановления предыдущего состояния отлаживаемой программы


Почему поддерживать исследовательские IT-проекты школьников так важно?


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

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

В-третьих, любые новые знания усваиваются в молодости с большей эффективностью.

Можно спросить: а при чем тут исследовательские проекты? Есть же десятки других соревнований как для школьников, так и для студентов. Олимпиады по программированию мы выигрываем уже который год.

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

ОК, как я могу помочь?


1. Приходить лично на конкурсы для школьников и давать фидбек по IT-проектам


Повторю ровно то, с чего начал. Молодому программисту, который в первый раз в жизни с нуля что-то создал, ОЧЕНЬ важно услышать оценку своего труда от настоящих IT-специалистов. Ближайшая такая возможность предоставится в Питере 3-го февраля 2016 в 14:00 (регистрация).

2. Привлекать свои компании к участию в конкурсах для школьников


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

3. Раз в год инвестировать в поддержку конкурсов IT-проектов школьников


В Штатах крупнейший подобный конкурс Intel ISEF активнейшим образом спонсируется (сюрприз!) крупнейшими IT-компаниями.

У нас, к сожалению, пока не все так гладко. В 2014-м году, например, активность бизнес-спонсоров была довольно низкой, и конкурсу пришлось собирать средства через краудфандинг, чтобы мероприятие могло оставаться бесплатным для школьников. В этом году картина не сильно улучшилась: в связи с известным закрытием фонда «Династия», который поддерживал ранее Балтийский конкурс, конкурсу вновь требуется поддержка рядовых участников IT-сообщества, осознавших, в том числе, и свою ответственность за общее будущее. Правила хабра не позволяют мне оставить прямую ссылку на краудфандинговую кампанию, кто действительно хочет помочь финансово, тот найдёт.

P.S.
Когда рассказываю знакомым про всю эту тему, очень часто слышу печальнейший комментарий: “Все равно потом эти школьники уедут из страны. Все бесполезно...”.

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

Однако я уверен, что лет через 10-15 в нашей стране многое изменится. Будет создана комфортная среда для создания и развития сотен «новых Google/Facebook/SpaceX». Когда это произойдет, я уверен, что даже те участники конкурса, которые решат уехать из России, в итоге вернутся сюда, чтобы строить такие глобальные лидирующие IT-компании.

Они обязательно вернутся, если будут помнить, как в свое время мы с вами поддержали их начинания на конкурсе. Поддержим?
Tags:
Hubs:
+25
Comments 24
Comments Comments 24

Articles