Мастерские
1. Мастерская "Система программирования"Мастера: Александр Агуленко, Лев Новокрещенов, Владимир Валерьевич Соловьев
Подмастерье: Илья Насибулов
2. Мастерская “Алгоритмический трейдинг”
Мастер: Тумайкин Данил
Первые фондовые биржи появились ещё в XVII веке, и с тех пор оставались фактически неизменными до конца 20 века. Информатика дала новый толчок развитию фондовой торговле. Со помощью статистики и больших вычислительных мощностей торговля уже не требует участия в ней человека - торговля проходит между машинами. Успешность торговли зависит от качества и «гениальности» алгоритма.
Каждый участник мастерской создаст своего трейдинг бота, и сможет опробовать его на модели реальной биржи и сравнить эффективность различных алгоритмов. Для этого мы выучим JavaScript, узнаем как общаться с биржей и поймём действительно ли генетические алгоритмы настолько эффективны.
Цель
Понять механизмы работы фондовых бирж. Изучить JavaScript, статистический анализ и генетические алгоритмы.
Требования к участникам:
От седьмого класса. Знание любого процедурного языка программирования.
3. Мастерская "Что такое язык Си?"
Мастер: Анна Анкудинова
В мастерской мы будем пользоваться Microsoft Visual Studio.
4. Мастерская "Программируем с черепашкой"
В мастерской планируется обучение младших школьников началам программирования на примере языка Лого. Некогда популярный язык программирования Лого с простым синтаксисом и интуитивно ясной графической составляющей (так называемой черепашьей графикой) хорошо зарекомендовал себя как первый язык для изучения основ процедурного программирования.
В ходе работы мастерской будут освоены основные конструкции и принципы программирования (условия, циклы, вложенные циклы). Также планируется освоение и использование рекурсии. По возможности будет разобрана концепция структур данных.
За время Летней Школы будут подробно разобраны и изучены задачи олимпиад по Лого для 5-7 классов. По итогам работы мастерской будет сверстан тематический сборник задач с решениями.
В мастерской также планируются разговоры о современном программировании, компьютерной графике и любой другой теме, которая может оказаться интересна участникам. Желающие поговорить с детьми о том, почему программирование - это интересно, приглашаются.
Инструментарий: FMSLogo, MS Office.
Подмастерье: Алексей Шумаков
В мастерской мы будем изучать язык 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 класса) .
7. Мастерская "Алгоритмы и структуры данных"
Мастер: Климов Николай
У хорошего столяра всегда имеется при себе набор каких-то инструментов. Причем он прекрасно знает назначение каждого и не будет задумываться, за какой конец брать молоток или пилить дерево топором. Точно так же и у хорошего программиста в арсенале должны быть стандартные алгоритмы, из которых в дальнейшем он сможет по кусочкам собирать какую-то сложную систему.
В рамках мастерской ученики познакомятся с такими стандартными алгоритмами, узнают где их можно применять, а где не стоит, познакомятся с О-нотацией и научатся оценивать время работы этих алгоритмов. Также они узнают, почему в программировании лучше думать абстракциями и изучат одну из важнейших абстракций - "структуры данных".
В качестве проекта мы напишем простой интерпретатор математических выражений. При наличии времени расширим задание и напишем интерпретатор очень простого (но полноценного) языка программирования.
Программировать будем на С. ОС - ubuntu.
Требуемый уровень: знание Pascal, C или любого подобного языка.
Инструментарий: gcc, vim, make, git/svn
8. Мастерская “Искусственный интеллект – программирование на языке Лисп”
Мастер: Борис Леонидович Файфель
Проблемы искусственного интеллекта волнуют ученых уже более полувека. И хотя говорить о создании искусственного интеллекта пока преждевременно, на этом направлении достигнуты и определенные успехи.
Цель мастерской – создание простой самообучающейся программы (отдаленно похожей на программу, работающую на сайте akinator).
Такую программу можно написать на любом языке программирования, но мы напишем ее на языке Лисп (заодно научимся программировать на этом замечательном языке и получим представление о функциональном программировании).
Требования к участникам: участниками мастерской могут быть школьники самых разных возрастов. Не помешает хорошее знание математики.
Инструментарий: HomeLisp
9. Мастерская "Основы робототехники"
Мастер: Светлана Николаевна Коваль
10. Мастерская " Живые новости: БД + Интернет-ТВ"
Мастер: Александр Гурьевич Марчук
11. Мастерская "Параллельное программирование"
Мастер: Егор Андреевич Насибулов
Подмастерье: Владислав Сергеевич Ошканов
Потребность в высокопроизводительных вычислениях существовала всегда. Параллельное исполнение нескольких потоков в ряде случаев позволяет увеличить производительность в несколько раз. Многоядерность CPU в настоящее время позволяет разбить задачу на одновременно выполняющиеся потоки общим числом до 12, однако суперкомпьютерные кластеры поддерживают до нескольких тысяч потоков.
Целью данной мастерской является освоение технологии MPI. В течение летней школы планируется написать проект, эффективным образом использующий возможности многопотокового исполнения. Примерами могут служить игра "жизнь", распределённые вычисления, крестики-нолики. Выбор проекта зависит от состава мастерской и предпочтений участников.
Язык разработки: C++
Требования к участникам: 7-10 класс, знание какого-либо процедурного языка программирования (C, Pascal или им подобного).
12. Мастерская "Облачное хранилище файлов"
Мастер: Никита Дремов
Подмастерье: Кирилл Смиренко
В последнее время набирают популярность методы облачного хранения данных. Традиционное облачное хранение данных подразумевает использование облака серверов. Выигрыш здесь в том, что подключиться мы можем с любой другой машины с выходом в интернет, при этом, практически не ограничивая размер переносимых данных.
Мы не будем использовать облако серверов. В нашем случае облако будет состоять из таких же пользователей, как и мы.
Цель мастерской: дать общее представление об облачном хранении данных, обучить использованию сетевых технологий.
Инструменты: Microsoft Visual Studio 2010
Языки программирования: C++
Требования к участникам: знакомство с C++. Желательно умение пользоваться динамической памятью.
