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

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


Летняя школа юных программистов имени А.П. Ершова. Очередной, 32-й сезон.

ЛШЮП состоялась с 16 по 30 июля на базе Детского оздоровительного лагеря «Патриот», который территориально располагается в селе Малышево Сузунского района Новосибирской области. Замечательные люди из русской глубинки, которые любят свою работу и детей, сразу расположили отношением к работе. Родительские слова благодарности помимо образовательного процесса оценивали «отеческое» отношение к детям, которое обосновывалось и бытовыми «мелочами», предоставленными сотрудниками «Патриота». Ежедневная баня, незатейливая, но вкусная и обильная еда, кулеры с чистой водой, чистота в корпусах, обеспеченная 2-х разовой уборкой помещений. Да что говорить, если всем желающим даже стирали и гладили личные вещи! Так что многие дети, вопреки ожиданиям родителей и прошлогодним практикам привоза мешка с грязным бельём, приехали с сумками чистой одежды. Огромная благодарность персоналу «Патриота» и лично его директору Любови Юрьевне Полтавской!

16 июля, Малый зал Дома Учёных СО РАН.

Оргкомитет уже в 10 часов «на посту». Надо подготовить всё для открытия и регистрации, повесить флаг ЛШЮП, который в этом году появился у Школы впервые за 32 года, встретить гостей, настроить микрофоны, успокоить родителей, поговорить с врачом, проконтролировать приезд автобусов, дать интервью, раздать пресс-релизы прессe...

Открытие началось приветствием Александра Гурьевича Марчука, председателя Оргкомитета ЛШЮП, директора ИСИ СО РАН имени А.П. Ершова. Он предоставил слово академику Василию Михайловичу Фомину, главному учёному секретарю СО РАН. Василий Михайлович пожелал ребятам творческих успехов и выразил надежду, что именно сегодняшние ЛШЮП-овцы пополнят ряды Сибирских учёных в будущем.

Михаил Михайлович Лаврентьев, декан ФИТ НГУ, обратил внимание на уникальность Академгородка, в котором тесно сотрудничают наука, образование и компьютерные фирмы.

Алла Александровна Петрунёва, главный специалист Департамента образования Новосибирской области, призвала школьников не только работать, но и отдыхать, пользоваться комфортными условиями, которые старается обеспечить Администрация Новосибирской области.

Академик МАИ, Андрей Александрович Берс, председатель Жюри ЛШЮП, выразил пожелание, чтобы школьники творили, учились и, пользуясь возможностью общаться с ведущими учёными, обсуждали трудности и искали решения.

Ребят поприветствовали также представители фирм, которые поддержали Летнюю школу юных программистов.


Малый зал заполнен школьниками, родителями и сочуствующими. Участники Летней школы приехали из Новосибирской, Кемеровской, Иркутской областей, Алтая и Хакассии, Челябинской области, Красноярского края и даже из Норвегии. Некоторые из них являются «ветеранами» ЛШЮП, участвуют в работе Школы не только по пять раз в качестве учеников, но и подмастерьев и мастеров. Ребята, возраст которых от 10 до 17, учащиеся 4-11 классов, выполнят 15 проектов в различных мастерских. В этом году работали мастерские по следующим направлениям:

1. Трёхмерная графика

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

2. «Виртуальный Собеседник»

Цели мастерской: Изучение объектно-ориентированного программирования и работы с базами данных в C++Builder. Изучение работы в СУБД MS Acess, изучение языка Си ++

Задачи:

  • Изучить Си++
  • Изучить БД
  • Изучить работу в C++Builder
  • Написать программу, поддерживающую письменный разговор с пользователем

3. «Математическая шкатулка» или Flash

Цель работы мастерской:
Знакомство с технологиями объектно-ориентированного программирования на начальном уровне.

Задачи:

  1. Знакомство с основами процедурного программирования.
  2. Изучение основных алгоритмических конструкций и программирование их на языке Actions Script.
  3. Знакомство с основными объектами Flash, их свойствами и методами.
  4. Создание логических игр на основе полученных знаний.


4. Архиватор Хаффмана

В ходе Летней Школы перед мастерской были поставлены 4 цели: изучение основ работы в операционной системе Linux, языка программирования C, базовых алгоритмов, а, также, реализация двух различных проектов - архиватора Хаффмана и электронного словаря. Все они были успешно достигнуты, более того, был реализован графический интерфейс для архиватора с помощью библиотеки QT4 и аналог утилиты tar, объединяющей несколько файлов в один.







5. Java

Цели мастерской:

  • Изучить язык программирования Java
  • Ознакомиться с концепцией ООП

Задачи: Написать игру Tower Defence

В рамках проекта:

  • научиться работать в среде NetBeans
  • ознакомиться с работой коллекций в языке Java
  • ознакомиться с написанием многопоточных приложений
  • научиться работать с файлами в Java (доступными по абсолютному пути и через CLASSPATH)
  • получить представление о пакете визуальных компонентов Swing и о пакете Java2D для работы с 2D графикой средствами API языка Java
  • разработать и написать алгоритм волны для поиска кратчайшего пути на карте
  • простейший парсинг строк средствами API языка Java
  • создать красивый графический интерфейс

6. Программирование искусственного интеллекта робота-исполнителя на встраиваемом языке LUA.

Цели мастерской

  1. Изучить новый язык программирования — LUA
    Сайт языка Lua: http://lua.org
  2. Создать на C++ среду для робота-исполнителя
    Среда для робота, исполняющего команды, должна включать в себя:
    1. Визуализацию в текстовом режиме
    2. Визуализацию в графическом режиме (с использованием библиотеки SDL)
    3. Тест-режим без визуализации для быстрой качественной оценки алгоритма робота в миллисекундах и количестве шагов. С возможностью запуска нескольких тестовых алгоритмов в нескольких тестовых лабиринтах. См. папку ARENA на ЛШ07 DVD \ lua_cd.zip
    4. Интерфейс на C++ содержит набор команд для робота, которые становятся доступны из LUA
  3. Создать алгоритмы для исполнителя (созданной среды) на LUA
    Задачи
    Решенные:
    1. Создание среды исполнителя «с нуля». Т.е. никаких заготовок для проекта не сущесвовало.
    2. Создание ИИ для исполнителя (по несколько вариантов от каждого участника)
    3. Самостоятельное «склеивание» С и LUA (в виде задач с таблицами)

7. Математическое моделирование на Pascal'e.

 

    Цели и задачи мастерской:
  1. Освоение навыков алгоритмического мышления.
  2. Выработка устойчивых навыков работы в интерированой среде Turbo Pascal.
  3. Изучение основных операторов языка уровня Pasсal.
  4. Знакомство с особенностями текстового и графического режимов работы.
  5. Освоение некоторых математических понятий:
    • понятия переменных и постоянных, деление чисел на целые и вещественные, зависимости и функции, алгебраические уравнения первого и второго порядков;
    • простейшие приемы обработки числовых последовательностей (начала комбинаторного анализа данных);
    • поиск минимального и максимального чисел массива;
    • простейшая сортировка (метод пузырька) массива по возрастанию и по убыванию.
  6. Решение алгебраических уравнений 1-го и 2-го порядков.
    • Задача «Угадайка». Решение алгебраического уравнения 1-го порядка.
    • Решение алгебраического уравнения 2_го порядка - квадратного уравнения.
  7. Элементы математического моделирования:
    • построение таблицы Пифагора в текстовом и графическом режимах;
    • анализ характеристики чисел таблицы Пифагора: выделение цветом квадратных (а=х^2) и треугольных чисел t=(x*(x+1)/2);
    • задача о камне, брошенном вертикально вверх с начальной скоростью Vo;
      • разработка алгоритма решения задачи;
      • программирование расчетного блока;
      • графическое отображение динамики движения мяча.
  8. Освоение основных приемов работы в среде Microsoft Office. Пакет Power Point;
    • Подготовка презентации задач решенных участниками мастерской.

8. «В помощь археологу»

Цели мастерской:

  1. Изучить язык программирования Pascal;
  2. Освоить системы программирования PABC и Delphi;
  3. Создать проект, обрабатывающий фотографии сосудов, найденных археологическими экспедициями, выдающий размерные характеристики и объём сосуда и сохраняющий эту информацию в базе данных.


9. Лого + Пресс-центр

Цели:

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

Задачи:

  • написание проекта «Шифровальщик» в среде программирования MSWLogo,
  • регулярный выпуск газеты ЛШ: сбор материала, в том числе фотоматериала, верстка в специализированной компьютерной среде, распечатка,
  • знакомство с основами HTML и выпуск HTML-версии газеты,
  • посещение лекций,
  • создание и печать брошюры к Лого-проекту (внеплановая задача, идея которой появилась в процессе реализации проекта «Шифровальщик»),
  • работа с трехмерной графикой в Лого (для подготовленных участников мастерской),
  • решение рекурсивных задач (для подготовленных участников мастерской).

10. Математический пакет Syple

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

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



11. Мобильные технологии

Цели
Изучить язык Java для мобильного телефона, научиться работать в среде NetBeans, познакомиться с основами ООП и сетевого и многопоточного программирования, создать программу для мобильного телефона, пригодную для использования в повседневной жизни.

Задачи

  1. Создание простейшей программы HelloWorld.
  2. Создание классической аркадной игры «Змейка»
  3. Создание программы-чата, работающего по сети Bluetooth.
  4. [незапланированная, но выполненная] Знакомство с Photoshop.
  5. [незапланированная, но выполненная] Очень поверхностное знакомство в 3dsmax.

12. Учимся программировать на Паскале»

Цели мастерской:
Овладение языком Паскаль на базовом уровне

Задачи:
Овладение Паскалем путём создания простой компьютерной игры на основе управляемого и неуправляемого движения







13. Сетевое программирование

Цели мастерской:
В цель мастерской ставилось написание сетевого клиент-серверного чата с поддержкой множества комнат, реализованного для нескольких операционных систем (32х битные Linux & Windows), с гибкой возможностью послания сообщений, а именно: приватные сообщения, глобальные сообщения и сообщения в текущую комнату.
В процессе работы мастерская отказалась от концепции «клиент-сервер», заменив её на более удобную модель, которая позволяла не иметь в сети выделенного сервера для чата. Кроме того, реализация на Linux портировали на 64х битную платформу.
Цели, поставленные мастерской достигнуты полностью.

Задачи:
Усвоение основ сетевого программирования, послание и получения данных через сеть.
Послание широковещательных запросов в сеть, broadcast. Написание программы, способной подсчитать количество своих копий в сети.

Разбор протоколов передачи данные:

  • UDP
  • TCP
Разбор протоколов прикладного уровня, таких как:
  • IMAP (Internet Message Access Protocol)
  • POP3 (Post Office Protocol, version 3)
  • SMTP (Simple Mail Transfer Protocol)
Вкратце рассмотрены протоколы FTP и HTTP.

Написание пары приложений для отправки файлов с клиента на сервер. Сверх плана ученики добавили в программу потоки и добились одновременного принятия файлов от нескольких клиентов.

Рассмотрение перехвата пакетов с помощью программы tcpdump, с дальнейшим изучением структуры ICMP и IP пакетов.

Сверх плана ученики сделали небольшой сайт посвящённый мастерской, с описание проектов и состава мастерской. Использовались технологии HTML, CSS и JavaScript.

Создана многопоточная программа сканирования TCP портов, перенесённая на операционную систему Linux. Добавлена поддержка вывода информации в текстовый файл и в формате html, для лучшего восприятия полученной информации. Данная программа выросла в отдельный самостоятельный проект.


14. Подбор паролей

Цели мастерской
Реализовать программную систему, выполняющую подбор пароля пользователя операционной системы Linux, имея зашифрованный стандартной функцией crypt(3) пароль. Подбор пароля выполнять распределённо на нескольких рабочих станциях, объединённых в локальную сеть. При подборе использовать как полный перебор (brute-force), так и методы поиска по словарю.

Задачи (планировавшиеся и решённые, в том числе сверх плана)
Основной проект мастерской реализован полностью, т.е. созданы серверное и клиентское приложения. Сервер руководит процессом подбора пароля и раздаёт задачи клиентам, которые выполняют собственно перебор.
Перед началом работы над проектом проведён интенсивный курс языка программирования C. Рассказаны основы C (без рекурсии и динамической памяти). В процессе было решено большое количество небольших задач, в основном алгоритмических.
В процессе работы над проектом Владимир Яковлев заинтересовался сетевой темой и реализовал сетевой многопользовательский чат, причём сразу в двух версиях: в ОС Linux (gcc) и ОС Windows (Borland C++ Builder). Этот чат можно считать побочным проектом мастерской.
После завершения основного проекта силами участников создан сайт мастерской


15. WebDB

Задачей мастерской было изучение технологий XML/XSLT, клиент-серверной архитектуры, основ построения баз данных, основ проектирования Web-ориентированных информационных систем.
Прикладной (творческой) задачей мастерской было создание начального варианта фотоархива ЛШЮП.



Надо отметить, что большинство мастерских не только успешно справились с реализацией намеченной работы, но и усложнили поставленные перед участниками задачи. Каждая мастерская накануне конференции показала выполненные проекты. Жюри, состоявшее из А.А. Берса, А.Г. Марчука, Т.И. Тихоновой посмотрело все работы на месте работы каждой мастерской, выслушало комментарии, поинтересовалось особенностями работы. Вне зависимости от возрастных особенностей программистская часть проектов выполнена на достойном уровне. Многие проекты представляют собой законченную реализацию программного продукта, готового к дальнейшему внедрению. О результатах работы Мастерских участники делали доклады на научно-практической конференции. Эта часть работы является неотъемлемой частью Летней школы юных программистов. Школьники готовят презентации и доклады, без помощи мастеров выходят перед всеми участниками с сообщением о проделанной в рамках мастерской работы.

Методические особенности Летней школы юных программистов основа модернизации образования в некотором ключе. Дело в том, что в большинстве школ сейчас делается упор на пользовательские курсы в преподавании информатики. Соответственно, теряется некоторая когорта детей, способных на большее продвижение в этой образовательной области. Мы стараемся сохранить традиции воспитания и образования детей, которые бы поддержали сибирскую школу программирования, всегда славившуюся своим умением писать системы, трансляторы, то есть те программы, которые может использовать весь мир. Это даёт толчок к развитию. Дети возвращаются в школу, рассказывают, что они могут сделать, а преподаватели уже ищут дополнительный приток учителей, чтобы они могли поддержать уровень и тематику перспективных направлений развития информационных технологий.


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