Мастера: Кузина Анастасия и Меркулов Арсений
Задача распознавания лиц на данный момент очень актуальна и имеет много важных практических приложений. В мастерской предлагается изучить основы обучения и использования нейронных сетей, а также освоить их применение к задаче распознавания лиц. И, возможно, с их помощью научится отличать Натали Портман от Киры Найтли.
Инструментарий: python 3.9.7, tensorflow Язык: Python 3
Мастер: Братусь Михаил Витальевич
Создаем тренажер для изучения логических элементов по типу "Логика" минимум. Изучение логических элементов в более интересной игровой среде - максимум.
Главная особенность в том, что мы будем создавать наше приложение (или игру) на языке Си для консоли Sega Genesis (1988 года выпуска). Работа с ограниченным объемом памяти, скудными средствами для отладки кода позволит погрузится в ретро программирование низкого уровня.
Готовый образ приложения может работать на любой платформе, даже на эмуляторах в браузерах и смартфонах. Программирование на реальном hardware не предусмотрено.
Инструментарий: Visual Studio Code (Windows), SGDK библиотека, эмулятор Sega Genesis/Megadrive Язык: С
Мастер: Чегодаев Арсений
Компьютеры никогда не меняются ... Это, конечно же, не правда) За последние 70 лет компьютеры прошли огромный путь от огромных релейных и ламповых монстров размером с приличную квартиру и даже больше, до компактных смартфонов, помещающихся в кармане джинсов. Вычислительная техника прошла уже настолько обширный путь, что разобраться, как всё зарождалось и через какие вехи развития пришлось пройти, становится всё труднее и не очевиднее. В этой мастерской, я предлагаю вам вернуться немного в то время, когда программист был ещё и электронщиком, громоздкими схемами было не удивить, а баги отлавливались по-настоящему, а именно тапком.
Инструментарий: Linux, KiCAD, Logisim, TkGate
Мастер: Титова Ксения
Создание чего-то нового - крайне интригующая задача, с которой в последние годы неплохо справляется машинное обучение. Речь идет о глубоких генеративных моделях, которые способны обучившись на каких-нибудь интересных данных (от звуков кошачьего мяуканья до синопсисов индийских фильмов) синтезировать уникальные экземпляры такого же рода.
В этой мастерской мы попробуем написать свой генератор покемонов. Для его реализации нам потребуется изучить основы теории вероятностей, разобраться, как работают нейронные сети и из чего они строятся. Мы познакомимся с уже прижившимися структурами генеративных моделей (GANы, VAE, flow-based модели) и многообещающими диффузионными моделями (к ним, например, относится нашумевший DALLE-2).
Инструментарий: PyTorch Язык: Python 3
Мастер: Файфель Борис Леонидович
Казалось бы, что графы - это очень просто... Ну что там такого: вершины да рёбра. Но это обманчивое впечатление. Некоторые проблемы теории графов были "подвешены" добрую сотню лет. А некоторые не решены до сих пор! И теория графов - не просто кабинетная теория, нет, она "работает" в самых разных задачах - от построения компьютерных сетей до биоинформатики.
Говоря короче: программист, который хочет считать себя грамотным, обязан знать графовые алгоритмы! Этим мы и займемся на мастерской. Мы изучим "золотой фонд" графовых алгоритмов - обходы, каркасы, поиски циклов, кратчайшие пути.
В качестве базового языка мы используем Лисп. Нам придется освоить его основные конструкции, научиться программировать в функциональном стиле, решить много задач. А потом мы создадим несколько проектов с графической визуализацией.
И теория графов и язык Лисп - это интересно. Гарантирую, скучно не будет!
Инструментарий: HomeLisp и Common Lisp Язык: Lisp
Мастер: Насибулов Егор Андреевич
Язык программирования лого поможет начинающим программистам научиться давать команды и мыслить алгоритмически. Для этого в среде разработки существует Черепашка -- исполнитель, которому можно давать команды. Вперёд на 10 шагов, назад на 5, повернись на 45 градусов вправо -- управление простое и понятное. И это только начало, ведь черепашку можно обучать. Каждая написанная функция добавляет Черепашке новые возможности, а вместе с Черепашкой обучаются и программисты.
Цель мастерской: освоить язык программирования logo, понять, что такое функции и переменные, разобраться с передачей параметров в функции, изучить циклы и рекурсию. Научить Черепашку рисовать фрактальные картинки, решать другие интересные задачи.
Проект: несмотря на простоту, Лого -- язык, полный по Тьюрингу. Это значит, что на нём можно написать что угодно, от простенькой игры до компилятора другого языка. Поэтому выбор проекта зависит от участников!
Требования: Желание учиться программировать. Инструментарий: FMSLogo Язык: Logo
Мастер: Марчук Александр Гурьевич
Предполагается создать информационную систему на основе базы данных, фотографий и видео ЛШЮП с 2001 года. Информбюро будет состоять из базы данных, параллельно или последовательно разрабатываемых интерфейсов, таких как
- мультимедиа новостной поток;
- справочная система по ЛШЮП;
- чат. При наличии желающих, можно будет освоить работу с видео и делания PR-материалов.
Учебная часть работы мастерской будет состоять из изучения C#, .NET, Blazor, основ клиент-серверной технологии.
Инструментарий: .NET, Blazor, Visual Studio 2019 или VisualStudio Code Язык: C#
Мастер: Грушецкий Николай Артёмович
Natural language processing - направление машинного обучения, выделяющее смысл из текстовых последовательностей. А если использовать в качестве текста последовательность ДНК или белковую последовательность?
В этой мастерской мы кратко пройдём классические алгоритмы машинного обучения, чтобы понять как представлять текст в виде чисел и напишем некоторые из них, а также расскажем про программирование в биологии. Затем мы рассмотрим как развивались нейросети для работы с текстовыми последовательностями и научимся их обучать. В конце мы научим нейросеть предсказывать свойства белка по его аминокислотной последовательности.
Инструментарий: PyTorch, NumPy Язык: Python 3