Летняя школа юных программистов им. академика А.П. Ершова
  • Новости
  • Информация
  • Оргкомитет
  • Родителям
  • ЛШЮП-2018
  • ЛШЮП-2017
  • ЛШЮП-2016
  • ЛШЮП'15
  • ЛШЮП'14
  • ЛШЮП'13
  • Место проведения
  • Мастерские
  • Участники
  • Памятка участникам и родителям
  • Правила поведения
  • ЛШЮП'12
  • ЛШЮП'11
  • ЛШЮП'10
  • ЛШЮП'09
  • ЛШЮП'08
  • ЛШЮП'07
  • ЛШЮП'06
  • ЛОГО
  • Твиттер
  • Спонсоры

Мастерские

1. Мастерская "Система программирования"

Мастера: Александр Агуленко, Лев Новокрещенов, Владимир Валерьевич Соловьев

Подмастерье: Илья Насибулов

 

Тормозит Visual Studio? Надоел VIM? Глючит Delphi? Хватит это терпеть!
Мы придумаем простой и удобный язык программирования на основе языков C++/Java. Мы напишем оптимизирующий компилятор этого языка в собственное исполняемое представление (байткод). Мы напишем виртуальную машину, которая будет уметь исполнять этот байткод. Наконец, мы напишем Web IDE, в которой можно будет писать программы на нашем языке, а сервер будет обрабатывать все запросы, компилировать и запускать программу, сохранять проект. Также, мы реализуем в IDE и виртуальной машине средства отладки.
В мастерской участники познакомятся с языками C++, JavaScript; основами web-дизайна; основами теории компиляции, оптимизаций и автоматического управления памяти; научатся работать в команде и SVN; рассмотрят принципы клиент-серверных приложений, ООП и web-программирования (в том числе с использованием модной технологии AJAX).
Мастерская расчитана на учеников 8-10 класса.
Используемые языки: C++, JavaScript, CSS, HTML.
Инструментарий: Windows, Visual Studio, SVN, Notepad.
Получится шикарно, гарантируем.

 

2. Мастерская “Алгоритмический трейдинг”

Мастер: Тумайкин Данил

Первые фондовые биржи появились ещё в XVII веке, и с тех пор оставались фактически неизменными до конца 20 века. Информатика дала новый толчок развитию фондовой торговле. Со помощью статистики и больших вычислительных мощностей торговля уже не требует участия в ней человека - торговля проходит между машинами. Успешность торговли зависит от качества и «гениальности» алгоритма.

Каждый участник мастерской создаст своего трейдинг бота, и сможет опробовать его на модели реальной биржи и сравнить эффективность различных алгоритмов. Для этого мы выучим JavaScript, узнаем как общаться с биржей и поймём действительно ли генетические алгоритмы настолько эффективны.

Цель

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

Требования к участникам:

От седьмого класса. Знание любого процедурного языка программирования.

3. Мастерская "Что такое язык Си?"

Мастер: Анна Анкудинова

Что такое язык Си? В нашей мастерской будет дан ответ на этот вопрос. Когда изучим этот вопрос достаточно хорошо, мы напишем словарь (например, толковый), который по своей сути тоже будет отвечать на подобные вопросы (например, “Что такое мышка?”, “Что такое чайник?”, “Что такое звезда?”).

Чтобы ответить в процессе мастерской на поставленный вопрос, необходимо желание учиться и желательно базовое знание какого-нибудь языка программирования.

В мастерской мы будем пользоваться Microsoft Visual Studio.

4. Мастерская "Программируем с черепашкой"

Мастер: Дмитрий Горбунов

В мастерской планируется обучение младших школьников началам программирования на примере языка Лого. Некогда популярный язык программирования Лого с простым синтаксисом и интуитивно ясной графической составляющей (так называемой черепашьей графикой) хорошо зарекомендовал себя как первый язык для изучения основ процедурного программирования.
В ходе работы мастерской будут освоены основные конструкции и принципы программирования (условия, циклы, вложенные циклы). Также планируется освоение и использование рекурсии. По возможности будет разобрана концепция структур данных.
За время Летней Школы будут подробно разобраны и изучены задачи олимпиад по Лого для 5-7 классов. По итогам работы мастерской будет сверстан тематический сборник задач с решениями.

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

Инструментарий: FMSLogo, MS Office.
5. Мастерская "Программисты против"

Мастер: Михаил Витальевич Братусь
Подмастерье: Алексей Шумаков

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

Цель: Создать "песочницу" с набором неких физических свойств, объектов, начальных и конечных условий для успешного выполнение задания. С "песочницей" можно будет взаимодействовать через объекты, реализующие набор интерфейсов "песочницы" на языке Java.
"Песочница" не только позволяет моделировать некие процессы, но и следит за регламентом, корректностью выполнения задач и подсчетом баллов.

Простейшее задание напоминает задания для алгоритмических исполнителей: Доберись из пункта А в бункт Б; Нарисуйте что-либо; Найдите выход из лабиринта и т.п.
Конечная цель - "командная песочница" . В которой соревнуются команды объектов, зарабатывают рейтинг, пытаются первыми решить поставленную задачу.
Например "Игра в футбол", где разные ученики реализуют на Java собственные реализации "футбольных команд".
СуперКомандаВаси007.Java против ГиперКомандаОли14.Java
Аналогичным примером могут быть команды микроорганизмов (или людей на новой планете), которые стараются найти ресурсы, переработать их и победить алгоритмы команды конкурентов по баллам или силой. Командный "захват флага". И так далее. Напиши лучший код, и ты - победитель!
В конце, как бонус, возможно программирование под Android.

Требование к участникам: Знание какого-либо языка программирования. Понимание функций, ветвления, массивов и циклов. Желание познакомиться с объектно ориентированным программированием и изучить компьютерный язык Java с самого начала.

Инструментарий: Java SE (ОС Windows 7, 2Gb RAM), Android Developer Tools

6. Мастерская "Дождь сгладит шероховатости"


Мастер: Виктор Алексеевич Сакерин

На топографической карте неровности рельефа изображаются горизонталями - извилистыми линиями, каждая точка которых имеет одинаковую высоту над уровнем моря. А как найти высоту промежуточных точек? В этом состоит первый этап проекта. Второй - показать это всё в проекциях и в объёме. Но это не всё.
По мановению мышки пользователя начинает идти дождь. Вода стекает с возвышенностей в низины.
Рассчитать это и показать - третий этап проекта.

Цели мастерской: 1) Изучить Delphi, попрактиковаться в его использовании; 2) Познакомиться с элементами численных методов; 3) Немного вспомнить физику (7-9 класса) .
Инструментарий : Delphi, возможно Direct3d.
Требования к участникам : 8 кл. и старше, знание языка Паскаль.

7. Мастерская "Алгоритмы и структуры данных"


Мастер: Климов Николай

У хорошего столяра всегда имеется при себе набор каких-то инструментов. Причем он прекрасно знает назначение каждого и не будет задумываться, за какой конец брать молоток или пилить дерево топором. Точно так же и у хорошего программиста в арсенале должны быть стандартные алгоритмы, из которых в дальнейшем он сможет по кусочкам собирать какую-то сложную систему.
В рамках мастерской ученики познакомятся с такими стандартными алгоритмами, узнают где их можно применять, а где не стоит, познакомятся с О-нотацией и научатся оценивать время работы этих алгоритмов. Также они узнают, почему в программировании лучше думать абстракциями и изучат одну из важнейших абстракций - "структуры данных".
В качестве проекта мы напишем простой интерпретатор математических выражений. При наличии времени расширим задание и напишем интерпретатор очень простого (но полноценного) языка программирования.
Программировать будем на С. ОС - ubuntu.

Требуемый уровень: знание Pascal, C или любого подобного языка.
Инструментарий: gcc, vim, make, git/svn

8. Мастерская “Искусственный интеллект – программирование на языке Лисп”

Мастер: Борис Леонидович Файфель

Проблемы искусственного интеллекта волнуют ученых уже более полувека. И хотя говорить о создании искусственного интеллекта пока преждевременно, на этом направлении достигнуты и определенные успехи.

Цель мастерской – создание простой самообучающейся программы (отдаленно похожей на программу, работающую на сайте akinator).

Такую программу можно написать на любом языке программирования, но мы напишем ее на языке Лисп (заодно научимся программировать на этом замечательном языке и получим представление о функциональном программировании).

Требования к участникам: участниками мастерской могут быть школьники самых разных возрастов. Не помешает хорошее знание математики.

Инструментарий: HomeLisp

9. Мастерская "Основы робототехники"

Мастер: Светлана Николаевна Коваль

Название мастерской говорит само за себя! В рамках работы планируется изучить основы построения роботов, создавать своих роботов, программировать роботов, устраивать соревнования роботов, делать показательные выступления роботов и многое другое, связанное с роботами!
В программе работы мастерской:
* Знакомство с (и вспоминание из детства) конструктором Лего и микроконтроллером Lego NXT;
* Знакомство с графическим языком программирования NXT-G (либо с Java, в зависимости от возраста участников);
* Работа с двигателями, сенсорами, передаточными механизмами;
* Разные интересные задачи для роботов.
Требуемый уровень участников: знание какого-нибудь языка программирования (ЛОГО тоже подойдет) и понятий "условие", "цикл" и т.п.

10. Мастерская " Живые новости: БД + Интернет-ТВ"

Мастер: Александр Гурьевич Марчук

Целью проекта будет формирование веб-приложения, предоставляющего доступ к информации об ЛШЮП 2013 года и предыдущих лет. “Фишками” сайта будут: упор на создание видео-картинки в стиле ТВ и адаптация информационного потока к абоненту.
В рамках проекта будут созданы: Web-приложение, клиентский интерфейс, адаптер к базе данных ЛШЮП, генератор новостного потока и информационных портретов.
Участник мастерской должен иметь опыт ХОТЯ БЫ В ОДНОМ: программирование на языке программирования уровня не ниже Паскаля, разработка HTML-страниц, писание сочинений на хорошем русском языке, рисование красивых рисунков, работа с фото-видео-материалами.
За время работы в мастерской, участники познакомятся со следующими технологиями: C#, HTML-5, XML, основы клиент-серверной технологии, ASP.NET , JavaScript.

11. Мастерская "Параллельное программирование"

Мастер: Егор Андреевич Насибулов
Подмастерье: Владислав Сергеевич Ошканов

Потребность в высокопроизводительных вычислениях существовала всегда. Параллельное исполнение нескольких потоков в ряде случаев позволяет увеличить производительность в несколько раз. Многоядерность CPU в настоящее время позволяет разбить задачу на одновременно выполняющиеся потоки общим числом до 12, однако суперкомпьютерные кластеры поддерживают до нескольких тысяч потоков.

Целью данной мастерской является освоение технологии MPI. В течение летней школы планируется написать проект, эффективным образом использующий возможности многопотокового исполнения. Примерами могут служить игра "жизнь", распределённые вычисления, крестики-нолики. Выбор проекта зависит от состава мастерской и предпочтений участников.

Язык разработки: C++
Требования к участникам: 7-10 класс, знание какого-либо процедурного языка программирования (C, Pascal или им подобного).

12. Мастерская "Облачное хранилище файлов"

Мастер: Никита Дремов

Подмастерье: Кирилл Смиренко

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

Мы не будем использовать облако серверов. В нашем случае облако будет состоять из таких же пользователей,  как и мы.

Цель мастерской: дать общее представление об облачном хранении данных, обучить использованию сетевых технологий.

Инструменты: Microsoft Visual Studio 2010

Языки программирования: C++

Требования к участникам: знакомство с C++. Желательно умение пользоваться динамической памятью.

 

Copyright © 2025
Летняя школа юных программистов