Мастер: Климов Николай Подмастерье Куклин Егор
В этой мастерской мы будем разбираться как работает одна из фундаментальных технологий компьютерных сетей — tcp протокол. И разумеется, в лучших традициях ЛШЮП, мы не просто будем читать о нем, мы будем его реализовывать в user space.
Нашей целью будет написать программу которая получает сырые ip пакеты и сможет обмениваться данными с существующими реализациями tcp стека. В процессе работы мы познакомимся с набирающим популярность языком rust.
Требования: Для опытных учеников Инструментарий: rust, linux Язык: rust
Мастер: Чегодаев Арсений Викторович
Это весьма спорное высказывание, не просто так мелькает в названии мастерской. Именно такой объём eeprom памяти, предоставляет один из младших контроллеров линейки stm8. Получилось заинтриговать?) Если да, то тогда, возможно, тебя заинтересует деятельность мастерской в целом!) Ведь, в ней не будет дурацких взмахов волшебной палочки и глупых заклинаний, а будут маленькие контроллеры, которые больше внутри, чем снаружи, ограничения по ресурсам, ассемблерные вставки, а также работа с документацией и регистрами. Ещё не испугались?) Молодцы!
Данная мастерская подразумевает, что за первую неделю ЛШЮП, мы познакомимся с архитектурой контроллеров STM8, освоим базовый функционал в лице GPIO, прерываний, таймеров, АЦП, а также протоколов UART и SPI. А на второй неделе, мы напишем какой-нибудь небольшой игровой проект, по типу: тетрис, арканойд, танчики и т. д.
Требования: Для участников со знанием какого-либо языка программирования Инструментарий: Codeblocks, sdcc, openocd, stm8-gdb Язык: С
Мастер: Братусь Михаил Витальевич
Мы создадим симулятор крупной биосистемы, для которой характерен определенный климат, а растения и животные (или роботы) приспособлены к жизни в этих условиях. Наш проект должен иллюстрировать работу пищевой цепи, показывая последовательность переноса веществ и энергии от одного организма к другому. Мы постараемся сделать эти наблюдения интересными и полезными. И конечно же, мы освоим новую версию GODOT 4.0 — кроссплатформенный движок под лицензией MIT, разрабатываемый Godot Engine Community.
Требования: Умение сортировать массивы вручную, без использования функций сортировки на любом языке программирования. Инструментарий: GODOT 4.0, Windows (предпочтительнее), Linux Язык: GDScript
Мастер: Сергей Кузькоков
В мастерской планируется обучение младших школьников началам программирования на примере языка Лого. Некогда популярный язык программирования Лого с простым синтаксисом и интуитивно ясной графической составляющей (так называемой черепашьей графикой) хорошо зарекомендовал себя как первый язык для изучения основ процедурного программирования. В ходе работы мастерской будут освоены основные конструкции и принципы программирования (условия, циклы, вложенные циклы). Также планируется освоение и использование рекурсии. По возможности будет разобрана концепция структур данных. За время Летней Школы будут подробно разобраны и изучены задачи олимпиад по Лого для 3−7 классов. Целью мастерской будет создать свой сборник задач с решениями.
Требования: Для всех желающих Инструментарий: FMSLogo Язык: FMSLogo
Мастер: Файфель Борис Леонидович
Когда я впервые познакомился с программами-упаковщиками, у меня возникло стойкое ощущение чуда, магии! Как же так? Файл сжимается в несколько раз, а потом успешно восстанавливается и ничего не теряется… Этого же быть не может! Ну не может верблюд пролезть в игольное ушко!
А на самом деле никакого чуда в сжатии данных нет — работает математика. И это действительно захватывающе интересно!
Желающие разобраться в алгоритмах сжатия — прошу в мастерскую! Мы разберём теоретические основы алгоритмов сжатия без потерь (алгоритмы Хаффмана, LZW, арифметического кодирования) и напишем свои реализации. А в качестве рабочего языка будем использовать Лисп.
Лисп — очень интересный, нестандартный язык программирования. Познакомиться с этим языком полезно любому программисту. На мастерской мы изучим Лисп, решим много задач и сделаем несколько проектных работ по сжатию данных. Вы увидите, что на Лиспе это программируется довольно легко.
Присоединяйтесь, будет интересно!
Требования: Желание попробовать освоить сильно «нестандартный» язык программирования и любовь к математике. Инструментарий: HomeLisp и Common Lisp Язык: Lisp
Мастер: Мордвинов Александр Валентинович
Будем создавать «умное» устройство на базе микроконтроллера ESP8266/32 и управлять им по сети со смартфона. К реализации предлагается цветной пиксельный экран размерности 16×16. На экране будем отображать красоту математики, рисовать пиксель-арт и даже играть в простые игры вроде змейки — все через графический интерфейс.
Мы не будем погружаться в специфику работы микроконтроллера, весь необходимый инструментарий нам предоставит платформа Arduino. Сначала подключим железо и поиграемся с GPIO пинами, научимся управлять адресными светодиодами. Затем, набравшись навыков, выстроим сетевое взаимодействие с модулем. По ситуации напишем либо нативное приложение, либо web-интерфейс для управления устройством. Опционально создадим модель корпуса в CAD и напечатаем на 3D принтере.
Цель проекта — в сжатые сроки, путем слаженной командной работы сделать готовое «умное» устройство. Хорошо подойдет для тех, кто привык голове помогать руками, а теорию изучать по мере возникновения практических трудностей.
Требования: Умение писать простые программы на С и свободно работать с двумерными массивами. Желание пробовать новые технологии без страха «сделать неправильно». Плюсом будет навык создания простых графических интерфейсов. Инструментарий: C, CAD, Arduino Язык: C
Мастер: Марчук Александр Гурьевич
В проекте предполагается знакомство с основами нейронных сетей, простыми задачами интерполяции и классификации. Создаваемому распознавателю на вход будет подаваться множество измерений в точках (xi, yi) двумерной области. Измеренные значения: «заяц», если точка попадает в некоторую фигуру и «не заяц», в другом случае. Требуется построить нейросеть, отвечающую на вопрос «заяц или не заяц» для любой точки области. Продвинутая постановка: если фигуры в задаче могут быть различными (заяц, волк, медведь), то по измерениям требуется распознать какой «зверь» перед вами.
Ученики познакомятся с основами процессов обработки данных, нахождения решения задачи на минимум функции, использование простых знаний в геометрии и алгебре для вычисления коэффициентов нейронный сетей. Проект мы будем выполнять на языке программирования Питон (Python)! И поэтому потратим время на его изучение.
Если Вы интересуетесь нейронными сетями, если Вы хотите изучить основы Питона и выполнить творческий проект на нем, если Вы приблизительно поняли содержание первого абзаца, то эта мастерская — для Вас!
Требования: Минимальные знания в геометрии и алгебре. Опыт работы на любом языке программирования. Знание английского для изучения документации и материалов. Инструментарий: Python 3, Visual Studio Code. Язык: Python
Мастер: Зубарев Алексей Юрьевич
Добро пожаловать в мастерскую «ЛШЮП маркет», где вы сможете познакомиться с увлекательным миром веб-разработки! В процессе обучения мы освоим множество полезных навыков и рассмотрим следующие темы:
-
Основы клиент-серверных технологий, структура веб-ресурсов.
-
Разработка красивых и функциональных интерфейсов с помощью HTML и CSS.
-
Введение в язык JavaScript и создание динамических элементов.
-
Знакомство с языком PHP и его применение для разработки серверной части приложения.
-
Проектирование API и обеспечение коммуникации между клиентской и серверной частями сайта.
-
Работа с базами данных, хранение и обработка информации.
В ходе проекта мы создадим интернет-магазин «ЛШЮП Маркет», демонстрирующий все полученные навыки в действии. Приглашаю вас присоединиться к этому увлекательному проекту!
Требования: Творческий настрой и желание программировать. Плюсом будет опыт работы на любом языке программирования. Инструментарий: Visual Studio Code, JavaScript, HTML, CSS, MySQL Язык: JavaScript, HTML, CSS, MySQL
Мастер: Ворожбитов Никита Олегович, Шперлинг Софья Михайловна
Давайте представим, что вы можете создать своего собственного чат-бота, который будет отвечать на ваши вопросы, предоставлять информацию и даже делать некоторые задачи за вас. Звучит увлекательно, не так ли?
На этой летней школе по программированию вы сможете научиться создавать таких ботов для Telegram, одном из самых популярных мессенджеров в мире. Вы узнаете, как использовать язык программирования Python и Telegram API, чтобы разработать бота, который будет отвечать на сообщения и даже реагировать на определенные слова или команды.
Но это еще не все! В финале этой летней школы вы сможете применить свои знания, чтобы создать свой собственный Telegram бот с ChatGPT — одной из самых передовых технологий искусственного интеллекта. Ваш бот сможет общаться с пользователями и отвечать на их вопросы, используя глубокую нейронную сеть, которая обладает способностью обучаться и улучшаться с каждым днем.
Не упустите возможность научиться создавать своего собственного Telegram бота и попробовать свои силы в разработке с ChatGPT на этой захватывающей летней школе по программированию!
Требования: Базовые знания Python Инструментарий: Python, aiogram, SQLAlchemy, aioredis, alembic, Telegram Язык: Python
Мастер: Насибулов Илья Андреевич
Если Вас интересует удивительный мир программирования, а с чего начать вы даже не представляете, то Вам может подойти мастерская «План C».
В нашей мастерской мы будем изучать программирование с помощью языка C. В наших планах сделать некоторый акцент на философском аспекте программирования. Затем плавно перейти от синтаксиса языка к алгоритмам и структурам данных. И в качестве логического завершения написать проект. Или несколько небольших, в зависимости от уровня участников.
Проекты могут представлять из себя что-то простенькое по типу словариков (переводчики, толковый и др.) до моделируемых сред, к примеру искусственная экосистема «в стакане», куда посадили различные семейства муравьёв и поехали, игра муравейников, кхм, началось изучение наиболее благоприятных условий для выживания определённых биологических видов. Под последнее можно будет и графику простенькую освоить.
В общем, нас ограничивают всего лишь наши навыки, фантазия и две недели.
Требования: Для новичков в программировании Инструментарий: C, MSVS Язык: C