SlideShare ist ein Scribd-Unternehmen logo
1 von 30
АНАЛИТИЧЕСКИЙ ПОДХОД
             К ДОВУЗОВСКОМУ ПРЕПОДАВАНИЮ
                   ПРОГРАММИРОВАНИЯ
                                  Илья Дединский
                               кафедра информатики МФТИ
                              лицей «Вторая школа», Москва
                                    http://ded32.ru



                                        Цель
        Разработка практико-ориентированной методики довузовского преподавания
        программирования, достаточной для успешного дальнейшего развития и
        саморазвития ученика в условиях современного ВУЗа и современного состояния
        индустрии разработки ПО.
                                Основные задачи
        - Способы определения и преодоления образовательных разрывов
          «школа – ВУЗ – профессия»
        - Выделение базовых принципов проектного обучения программированию,
          построение его последовательности и разработка основных курсов
          для школьного периода

1Аналитический подход к довузовскому преподаванию программирования
ПРОГРАММИРОВАНИЕ – ТРИ В ОДНОМ
              Точность
               Точность                             Абстрактность
                                                    Абстрактность
            определений
             определений                               методов
                                                        методов
                                                        Наглядность и
                                                         Наглядность и
                                 Математика          инструментальность
                                                      инструментальность
                                 Математика



         Целостность систем
         Целостность систем                                   Эффективность
                                                              Эффективность
              понятий
               понятий                                           работы
                                                                  работы




                                                      Соответствие срокам
                                                      Соответствие срокам
     Логика Стилистика
     Логика Стилистика
                                 ПРОЕКТНОЕ
 Выразительность
 Выразительность              ПРОГРАММИРОВАНИЕ
                                                                Актуальность и
                                                                Актуальность и
                                                                   реализм
                                                                    реализм


    Литература
    Литература

                                                               Технология
                                                               Технология
     Преемственность
     Преемственность

2                         Сопровождение
                          Сопровождение
 Аналитический подход к довузовскому преподаванию программирования
ЧЕРТЫ ИНДУСТРИИ – МЕЙНСТРИМ

                                               Что сейчас? – промышленная модель
                                                 – Промышленный стиль разработки
                                                   (ориентация на продукт)
                                                 – Согласование с заказчиком
                                                 – Документирование
                                                 – Ограничения по срокам
 Что было раньше? – кустарная модель             – Большой объем
   – Научный стиль разработки (ориентация на     – Коллективность
     метод)                                      – Много стандартов, инструментов
   – Сотрудничество с заказчиком                 – Чужой и устаревший код
   – Пользование компьютером предполагало        – Удаленная разработка
     навыки программирования                     – Большой объем литературы
   – Меньший объем проектов
   – Локальная разработка                       – Без культуры программирования работать
   – Преимущественно индивидуальная               невозможно!
     разработка                                 – Учиться самому все труднее и труднее
   – Небольшое количество стандартов
   – Небольшой объем литературы                 – В результате без опыта промышленной
                                                  разработки даже самая светлая голова –
   – Культура программирования только             убытки для компании. (с)
     развивалась
   – Легко было учиться самому

3Аналитический подход к довузовскому преподаванию программирования
РАЗВИТИЕ ИНСТРУМЕНТАРИЯ

        Развитие инструментария и техники разработки – способ скомпенсировать
        человеческие недостатки перед лицом усложняющихся задач


        Что это за недостатки?
          – Забывчивость
          – Невнимательность
          – Утомляемость
          – Медленное усвоение информации
          – Медленная реакция
          – Неалгоритмичность
          – Склонность запутываться
          – …
        От этих недостатков никуда не деться
        На этапе обучения излишняя борьба с ними может превратить человека в
        смесь кодогенератора с отладчиком (другими словами, в «человека-
        бетономешалку»)

        «Принцип разумной лени»
          – Грамотно использовать средства, а не неграмотно – себя



4Аналитический подход к довузовскому преподаванию программирования
ВУЗОВСКОЕ ОБРАЗОВАНИЕ – МЕЙНСТРИМ
      Что сейчас? (МФТИ, ВМК МГУ – отчасти счастливые исключения)
        – Как раздел математики, либо офисные технологии
        – Отрыв обучения от индустрии
        – Не усваиваемые порядок и темп изложения
        – Практика: фрагментарность, ориентация «на методичку». И – мало практики!
        – Нет командных технологий
        – Нет рефлексии – не «ставится голова»
        – Трудно приобрести нужные навыки
        – Это скорее отбор уже успешных, а не обучение одаренных.
          Оно больше соответствует прошлому периоду развития индустрии, чем нынешнему.
      Счастливые исключения, ставшие мейнстримом:
       – Олимпиадные технологии
       – В какой-то степени – курсовые и дипломные работы, спецкурсы (МФТИ: Intel и др.)
      Как быть студенту?
        – Заниматься олимпиадами (но до определенной стадии)
        – Самому идти на кафедру, брать тему и выбиваться в люди
        – Оставить надежду на ВУЗ, учиться самому, идти работать и выбиваться в люди

        – Вообще, никакая система обучения не гарантирует порождения Специалиста.
          Она может этому только способствовать.
        – Кроме того, надо искать соответствующие ВУЗы. Но сколько их?


5Аналитический подход к довузовскому преподаванию программирования
ШКОЛЬНОЕ ОБРАЗОВАНИЕ – МЕЙНСТРИМ
      То же, что и в вузе, плюс:
        – Великая ориентация на пользование ПК, иногда – на олимпиады
        – Очень разный и часто низкий уровень подготовки учителей
        – Разнородное, неустойчивое и утилитарное мнение родителей, администрации школ
          (программист – это вид сантехника)
        – Такая же мотивация учеников (скачать весь Интернет… взломать сервер Microsoft…)
        – Слабое сопряжение со смежными предметами (у всех свои заботы…)
        – Низкий уровень проектных работ (проекты по истории программирования, скачанные
          рефераты…)
        – Отношение администрации (программирование – не экзамен, не основной предмет)
      Счастливые исключения, ставшие мейнстримом:
       – Олимпиадные технологии
        – Дополнительное образование (но здесь многие пед. технологии теряют устойчивость).
        – Самостоятельное изучение, но это все труднее и труднее, несмотря на книги и Интернет
      Как быть школьнику?
        – Заниматься олимпиадами и надеяться, что в вузе и на работе будет то же самое.
        – Самому искать научника, брать тему и выбиваться в люди. Но это труднее, чем студенту.
        – Оставить надежду на школу, учиться самому и выбиваться в люди. Так многие и делают.
        – Искать соответствующие школы. Но сколько их?



6Аналитический подход к довузовскому преподаванию программирования
ОБРАЗОВАТЕЛЬНЫЕ РАЗРЫВЫ
Способы преодоления
 – Самостоятельный метод
                                             КНИГ
                                             КНИГ               ИНТЕРНЕТ
                                                                ИНТЕРНЕТ
 – Олимпиадный метод                          ИИ
 – Непрерывное профильное образование
Повышение КПД образования                                                        РАБОТА
 – Использование ВУЗа как ресурса                     О     П     Ы        Т
Для этого нужны:
 – Активная учебная позиция
     – Мотивация
     – Конструктивное мышление
                                                      совокупность шишек,
 – Результаты и наработки                              набитых граблями
Следствие:
 – Это необходимо приобрести до ВУЗа!                                             КУРСЫ
                                                                                  КУРСЫ
                                           ШКОЛА
                                           ШКОЛА
                                                                    ВУЗ
                                                                    ВУЗ

Печальный вывод:
  – Без грамотно поставленной работы в школе первокурснику будет очень трудно.
    От лучших сокурсников он зачастую отстал навсегда.
Конструктивный вывод:
  – Нужна методика, закладывающая фундамент и облегчающая «пользование ВУЗом как ресурсом»
  – Эта методика должна и «ставить голову» и давать конкретную отдачу в виде материалов,
    которые можно показать будущим преподавателям и научным руководителям.

7Аналитический подход к довузовскому преподаванию программирования
МОДЕЛИ ОПЫТА

             Школьный
             Школьный
                                                Одновременное наращивание
             Окружной
             Окружной                            всего комплекса навыков

             Городской
             Городской
                                                                                     Область
             Региональный
             Региональный                                                            професс.
                                                                                      работы
             Всероссийский
             Всероссийский
                               Переход «к реальной действительности»
             Международный
                                                                              FAIL
                             Идеализированная модель    Реальная модель


    Локальную абстрактную задачу          Ориентация на           Целостный продукт
                     Небольшой            Объем задачи            Большой
              Узкий и постоянный         Контекст задачи          Широкий и меняющийся
       Импульсная фрагментарная          Характер работы          Непрерывная итерационная
                 Только со своим          Работа с кодом          Со своим и чужим
                Индивидуальная             Разработка             Командная
                           Мало       Стандарты и литература      Много

  Требуется методика, максимизирующая наборсопровождение . Обязательны
                          Нет  Документация и именно опыта Все остальное придет и так.

8Аналитический подход к довузовскому преподаванию программирования
ОБУЧЕНИЕ ЧЕРЕЗ РЕФАКТОРИНГ
  Что такое «знать»?
  Когнитивно-технологическая единица (КТЕ)
   –   Зачем это надо?
   –   Что это такое?                               Как хотеть учиться
   –   Где это можно и где нельзя использовать?
                                                    Автор: Илья Дединский
   –   Как это применять?
                                                    Опубликовано в журнале "Компьютерра" №24 от 23 июня 2005 года
   –   На чем основано и с чем связано?
   –   Чем придется пожертвовать?                   По моему мнению, главная задача вуза, и не только в сфере ИТ, - научить студента действовать грамотно и самостоятельно…

   –   Что будет, если этого не делать?
   –   Какие в этом «подводные камни»                «ТЕХНОЛОГИЯ ГРАБЛЕЙ (racket)»:
       (чего опасаться и «накладные расходы»)          МОДЕЛИРОВАНИЕ СИТУАЦИИ



                                                                                           Реализация
                                                                                            Реализация
    Реализация
     Реализация     Рефлексия.
                    Рефлексия.          Поиск
                                        Поиск                                               «новыми»
                                                                                             «новыми»                                Рефлексия и
                                                                                                                                      Рефлексия и
                                                   Поиск новой
                                                   Поиск новой
    «старыми»
     «старыми»        Анализ
                       Анализ      «идеального»
                                    «идеального»                                           средствами
                                                                                            средствами                              обкатка новой
                                                                                                                                     обкатка новой
                                                   технологии
                                                    технологии
    средствами
     средствами      ситуации
                      ситуации        решения
                                       решения                                           (рефакторинг)
                                                                                          (рефакторинг)                               технологии
                                                                                                                                       технологии


                                                                                                                       Технология подается
                                                                                                                              максимально
                       Ужасное              Прекрасное                                                                          «вовремя»,
                                                                                                                            на выверенном
                                                                                                                                  примере.
                           …с иронией и юмором
9Аналитический подход к довузовскому преподаванию программирования
ПРИМЕР РЕФАКТОРИНГА
(Второе занятие начального курса: Функции)
  – Это первый рефакторинг: выделение функций
  – Чему учит: Структурирование, Культура именования
  – Сразу – довольно большие программы (200-300, а то и до 1000 строк)

     #include<TXLib.h>
     #include<TXLib.h>                                                     #include <TXLib.h>
                                                                           #include <TXLib.h>
       int main()                   #include <TXLib.h>
       int main()
    {txCreateWindow(630,390);
    {txCreateWindow(630,390);                                              void HouseDraw();
                                                                           void HouseDraw();
         txSetColor(TX_WHITE);      int main ()                            void TreeDraw();
         txSetColor(TX_WHITE);      {                                      void TreeDraw();
     txLine(90 ,80,180 ,80);
     txLine(90 ,80,180 ,80);
  txLine(180,80,180,130);           txCreateWindow (630, 390);             int main ()
  txLine(180,80,180,130);           txSetColor (TX_WHITE);                 int main ()
       txLine(180,130,70,130);
       txLine(180,130,70,130);                                             {
                                                                           {
    txLine(70,130,70,80);
    txLine(70,130,70,80);                                                  txCreateWindow (630, 390);
                                                                           txCreateWindow (630, 390);
  txLine(70,130 ,120,180);          txLine   ( 90,    80,
                                                      80,   180,
                                                            180,    80);
                                                                    80);
  txLine(70,130 ,120,180);          txLine   (180,    80,   180,   130);
      txLine(70,180,120 ,130 );
      txLine(70,180,120 ,130 );                       80,                  HouseDraw();
                                                                           HouseDraw();
  txLine(130 ,130,180,180);         txLine   (180,   130,    70,   130);   TreeDraw();
  txLine(130 ,130,180,180);         txLine   ( 70,   130,    70,    80);   TreeDraw();
      txLine(180,130 ,130,180);
      txLine(180,130 ,130,180);                              70,    80);   DogDraw();
                                                                           DogDraw();
  txSetColor(TX_RED);//vrode        txLine   ( 70,   130,   120,   180);
  txSetColor(TX_RED);//vrode        txLine   ( 70,   180,   120,   130);
  domik?
  domik?                                                                   return 0;
                                                                           return 0;
    txLine (460,230 ,480,200);      txLine   (130,   130,   180,   180);   }
    txLine (460,230 ,480,200);      txLine   (180,   130,   130,   180);   }
  txLine(580 ,200,610,200);
  txLine(580 ,200,610,200);
  txLine(610 ,200,610,250);
  txLine(610 ,200,610,250);                                                void HouseDraw()
                                                                           void HouseDraw()
    txLine (610, 200,590,220);      txSetColor (TX_GREEN);                 void HouseDraw()
                                                                           {
    txLine                          txLine (460, 230, 480,         200);   {
  txLine(590,220,460,230);
  txLine(590,220,460,230);                                                 {
                                                                           txLine ( 90, 80, 180,
                                                                           txLine ( 90, 80, 180,
   txLine(460, 230,460,280);        txLine (580, 200, 610,         200);   txLine ( 90, 80, 180, 80);
                                                                           80);
   txLine(460, 230,460,280);        txLine (610, 200, 610,         250);   80);
    txLine (490,230, 490,280);
    txLine             490,280);                                           txLine (180, 80, 180, 130);
                                                                           txLine (180, 80, 180, 130);
  txSetColor(TX_BROWN);             txLine (610, 200, 590,         220);   txLine (180, 130, 70, 130);
  txSetColor(TX_BROWN);             txLine (590, 220, 460,         230);   txLine (180, 130, 70, 130);
  txLine(270
  txLine(270    ,380,270,280);
                ,380,270,280);                                             txLine ( 70, 130, 70, 80);
                                                                           txLine ( 70, 130, 70,
                                                                                     70, 130, 70,
   txLine (270,280,340,280);        txLine (460, 230, 460,         280);   80);
   txLine (270,280,340,280);        txLine (490, 230, 490,         280);   80);
                                                                           txLine ( 70, 130, 120, 180);
  txLine(340 ,280,340,380);
  txLine(340 ,280,340,380);                                                txLine ( 70, 180, 120, 130);
                                                                           txLine ( 70, 130, 120, 180);
                                                                           txLine ( 70, 130, 120, 180);
   txCircle(380, 330,2);
   txCircle(380, 330,2);                                                   txLine ( 70, 180, 120, 130);
                                                                           txLine ( 70,130, 180, 180);
  return 0;}
  return 0;}
                                    txSetColor (TX_BROWN);                 txLine (130, 180, 120, 130);
                                                                           txLine (130, 130, 180, 180);
                                    txLine (270, 380, 270, 280);           txLine (130, 130, 180, 180);
                                                                           txLine (180, 130, 130, 180);
                                                                           txLine (180, 130, 130, 180);
                                                                           txLine (180, 130, 130, 180);
                                    txLine (270, 280, 340, 280);
  «This code                        txLine (340, 280, 340, 380);
                                    txCircle (380, 330, 2);
                                                                           }
                                                                           }
                                                                           }

   smells»                          return 0;
                                                                           void Tree::Draw()
                                                                           void Tree::Draw()
                                                                           {
                                                                           {
   M. Fowler                        }                                      txSetColor (TX_GREEN);
                                                                           txSetColor (TX_GREEN);
                                                                           txLine (460, 230, 480, 200);
                                                                           txLine (460, 230, 480, 200);


10
 Аналитический подход к довузовскому преподаванию программирования
ПРИМЕР РЕФАКТОРИНГА
(Третье занятие начального курса: Функции с параметрами)
  – Функция как черный ящик
  – Первый опыт конструктивного обобщения
  – Первый опыт (зародыш) построения API и контрактного программирования

    #include <TXLib.h>                                                                          #include <TXLib.h>
    void HouseDraw();                                                                           void HouseDraw (int x, int y,
    void TreeDraw();                                                                                            int sizeX, int sizeY,
                                                                                                                int sizeWin, int chimney,
    int main ()                                                                                                 COLORREF color);
    {                                                                                           …
    txCreateWindow (630, 390);
                                                     К-во параметров функции
                                                                                                int main ()
    HouseDraw();                                                                                {
    TreeDraw();                           Гибкость         Простота        Удобство             txCreateWindow (630, 390);
    DogDraw();
                                                                                                HouseDraw (100, 150, 100, 40, 20, …);
    return 0;                                                                                   TreeDraw (…);
    }                                                                                 y         DogDraw (…);
                                                 x
    void HouseDraw()                                                                            return 0;
    {                                                                                           }
    txLine ( 90, 80, 180, 80);                                                        sizeWin
    txLine (180, 80, 180, 130);         sizeX                                                   void HouseDraw (int x, int y,
    txLine (180, 130, 70, 130);                                                                                    int sizeX, int sizeY,
    txLine ( 70, 130, 70, 80);                                                                                     int sizeWin, int chimney,
    txLine ( 70, 130, 120, 180);      sizeY                                                                        COLORREF color)
    txLine ( 70, 180, 120, 130);                                                                {
    txLine (130, 130, 180, 180);                                                                txSetColor (color);
    txLine (180, 130, 130, 180);                                                                txLine (x – sizeX/2, y + sizeY,
    }                                                                                                   x + sizeX/2, y + sizeY);
                                                                                                …
    void TreeDraw()                                                                             }
    {                                                                            chimney
    txSetColor (TX_GREEN);                                                                      void TreeDraw (int x, int y, int size,
    txLine (460, 230, 480, 200);                                                                               int branchesSize,
    …                                                                                                          int branchesUp,
                                                                               color                           …)



11
 Аналитический подход к довузовскому преподаванию программирования
ПРИМЕР РЕФПКТОРИНГА
(Пятое занятие начального курса: модули)
  – Выделение модуля (модулей) для разработки мультфильма
  – Библиотеки (на уровне include-файлов с кодом. Это не совсем профессионально, но в раздельной
    компиляции 7(8)-классники путаются).
  – Деление функции на «сценарные» (вспомогательные для основной программы), «библиотечные»
    (API модуля) и «вспомогательные для библиотеки» (в терминах раздельной компиляции на С они
    соответствуют статическим функциям).
  – Документация по библиотеке с героями мультика (doxygen).
  – Выпуск mini-SDK (code + doc + example). Versioning.
  – Перекрестный обмен кодом, задание – написать нано-мультик на чужом SDK за 1-2 урока.
  – Домашнее задание – (перекрестная) небольшая рецензия на использованный SDK (code/doc peer
    review) и рефакторинг своей библиотеки с учетом этой рецензии. Отдельная песня – худо-бедно
    надо научить писать рецензии.
  – Надо сдать много чего: наномультик, библиотеку, рецензию, переработанную библиотеку.
  – На эту работу удобно потом часто ссылаться, в ней много знаковых моментов.

   Построение и использование SDK
   Построение и использование SDK                 Peer review
                                                   Peer review

                          Документирование
                          Документирование                       Versioning
                                                                 Versioning

                             Техники промышленного программирования
                              Техники промышленного программирования


Кто ясно мыслит – ясно излагает.
Обратное часто тоже верно.

12
 Аналитический подход к довузовскому преподаванию программирования
ВОСПИТАНИЕ ТЕХНОЛОГИЧЕСКОЙ КУЛЬТУРЫ

Выработка системы
 Выработка системы
ценностей
 ценностей
и критериев качества
 и критериев качества                                              Lr


                                                                        V
 Ясность
  Ясность
                                                               N

 Выразительность
  Выразительность
                                                              L


 Надежность
 Надежность
 Сопровождаемость
 Сопровождаемость

 Модульность
  Модульность
 Архитектурная логичность
  Архитектурная логичность




                                       !
 Масштабируемость
 Масштабируемость


 Поддержка стандартов
 Поддержка стандартов
 Переносимость
 Переносимость

 Навыки командной
  Навыки командной
 работы
  работы


 Культура как контекст
  Культура как контекст



13
 Аналитический подход к довузовскому преподаванию программирования
ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗУЧЕНИЯ
   Техники
    Техники
   промышленного
    промышленного                    Данная методика       Традиционная методика
                                     Данная методика        Традиционная методика
   программирования
    программирования

                                     Библиотечные вызовы
                                     Библиотечные вызовы   Теоретические алгоритмы
                                                            Теоретические алгоритмы
    Рефакторинг
     Рефакторинг
                                     Функции
                                     Функции               Библиотечные вызовы
                                                           Библиотечные вызовы
    Модульность
    Модульность                      Параметры             Переменные
                                     Параметры             Переменные
                                     Переменные
                                     Переменные            Условия
                                                           Условия
    Интерфейсы
    Интерфейсы
                                     Циклы
                                     Циклы                 Алгоритмы
                                                           Алгоритмы
    Документирование
    Документирование                 Условия
                                     Условия               Циклы
                                                           Циклы
                                     Библиотеки
                                     Библиотеки            Массивы
                                                           Массивы
    Построение и использование SDK
    Построение и использование SDK
                                     Указатели
                                     Указатели             Строки
                                                           Строки
    Peer review
    Peer review                      Структуры
                                     Структуры             Указатели
                                                           Указатели

    Versioning                       Модули
                                     Модули                Функции
                                                           Функции
    Versioning
                                     Массивы
                                     Массивы               Параметры
                                                           Параметры
    Внутреннее самотестирование
    Внутреннее самотестирование
    Отладочные техники
    Отладочные техники               Строки
                                     Строки                Структуры
                                                           Структуры
    Внешнее тестирование
    Внешнее тестирование             Алгоритмы             (Библиотеки)
                                     Алгоритмы              (Библиотеки)
    Перекрестное тестирование
    Перекрестное тестирование


14
 Аналитический подход к довузовскому преподаванию программирования
ПОРОЖДЕНИЕ ПРОЕКТНЫХ ЭЛЕМЕНТОВ

                Пример: курс «Структуры данных и алгоритмы»
                    Третий год обучения (9 или 10 класс)

                                                                        Трансляция
                                                                         Трансляция
                         е
Промыш-             вани е
                      ани                                             и оптимизация,,
                                                                      и оптимизация
                лиро в ных
                лиро ь ных
 ленный    Моде ител ь
            Моде ител         Функциональное
                              Функциональное                           символьные
                                                                        символьные
               сл л                                                  преобразования
уровень    вычи с стем
           вычи и стем
                             программирование
                             программирование         Сжатие
                                                      Сжатие         преобразования
                си
                 с                                  и передача
                                                    и передача
                                                      данных
                                                      данных


                                                                        nanoGCC
                                                                        nanoGCC
Уровень                          nanoLISP
                                 nanoLISP
учебной       nanoCPU
              nanoCPU                                Архиватор
                                                     Архиватор
модели                                               Хаффмана
                                                      Хаффмана




 Набор
 задач
              Стеки      …      Списки       …     Деревья              Деревья


   Олимпиадный путь   Идеализированный (не реализуемый) путь     Проектный путь

                  (Опущены: очереди, хеш-таблицы, графы, автоматы)

15
 Аналитический подход к довузовскому преподаванию программирования
МИКРО-ПРОЕКТИРОВАНИЕ
     ТРАДИЦИОННАЯ МЕТОДИКА                              ПРОЕКТНАЯ МЕТОДИКА

                                                                                 «Липкие»
                                                                                  «Липкие»
                                                                                   концы
                                                                                    концы
       Теория
        Теория                   ЗАДАЧИ
                                 ЗАДАЧИ



                                                       T
                                                       T
                                                           1
                                                           1
           T
           T             1
                         1                                      2
                                                                2
                                                                    3
                                                                    3
                             4
                             4                                          4
                                                                        4
            2
            2
                 3
                 3                                                          5
                                                                            5
                             5
                             5
                                                                                 Р
                                                                                 Р
                                    O
                                    O




                                             Инкрементальный
                                             Инкрементальный
   Моноцентрический                                                 Рефлексия
                                                                     Рефлексия
    Моноцентрический                          характер задач
                                               характер задач
 частично-сопряженный
  частично-сопряженный           Обобщение
                                 Обобщение
     характер задач
      характер задач
                                             Монтажная единица – микропоследовательность
                                                         («липкий фрагмент»)

16
 Аналитический подход к довузовскому преподаванию программирования
МИКРО-ПРОЕКТИРОВАНИЕ


                                                          T
                                                          T


         T
         T
                                                         Базовый       Р/Т
                                                                       Р/Т
             1
             1
                 2
                 2                                Р/Т
                                                  Р/Т
                     3                   P
                                         P
                     3                                   Средний
                         4
                         4                               уровень
                             5
                             5
                                 Р
                                 Р                                      P
                                                                        P

                                                 P
                                                 P      Творческий

                                                                P
                                                                P
   Монтаж фрагментов


                                                 Структура темы
                                                Т – теория, Р – рефлексия



17
 Аналитический подход к довузовскому преподаванию программирования
ФРОНТАЛЬНАЯ ПРОЕКТНАЯ СИСТЕМА

                                 1
                                 1                2
                                                  2           3
                                                              3                4
                                                                               4                Фронтальны
                                                                                                Фронтальны
                                                                                                  й уровень
                                                                                                   й уровень


                                                                                                  Школьный
                                                                                                  Школьный
                                                                                                   спецкурс
                                                                                                    спецкурс


                                                                                                Студенчески
                                                                                                Студенчески
                                                                                                  й курсовик
                                                                                                   й курсовик


                                                                                                Студенчески
                                                                                                Студенчески
                                                                                                          йй
                                                                                                    диплом
                                                                                                     диплом


                                                                                                    Научная
                                                                                                    Научная
Пример монтажа последовательности                                                                    работа
                                                                                                      работа

                                     (3) Графики
                                      (3) Графики
 (1) Мультфильм                                                   (4) Молекулы
                                                                   (4) Молекулы
  (1) Мультфильм                     указатели, структуры,
                                      указатели, структуры,       указатели, классы,
 стиль, операторы, функции           указатели на функции,
                                      указатели на функции,        указатели, классы,
  стиль, операторы, функции          классы, гр.интерфейс         наследование, гр.интерфейс
                                                                   наследование, гр.интерфейс
                                      классы, гр.интерфейс

                 (2) Аркадные игры
                  (2) Аркадные игры                                            (5) Оконная система
                                                                                (5) Оконная система
                 указатели, структуры,
                  указатели, структуры,                                       классы, наследование,
                                                                               классы, наследование,
                 указатели на функции,
                  указатели на функции,                                       проектирование,
                                                                               проектирование,
                 классы, наследование
                  классы, наследование                                        гр.интерфейс
                                                                               гр.интерфейс


18
 Аналитический подход к довузовскому преподаванию программирования
СТРУКТУРА КУРСА
                                                     –   «Тупой художник»
   7 класс
    7 класс                                          –   «Графики»
   Основные понятия программирования
    Основные понятия программирования                –   «Возня с данными»
   Базовая алгоритмика                               –   Анализ сортировок
    Базовая алгоритмика
                                                     –   Строковая библиотека


   8 класс                                           –   «ПРОЕКТ-МОЛЕКУЛА»
    8 класс
   Основы ООП, основы ООД, компонентное              –   Оконная система
    Основы ООП, основы ООД, компонентное
   программирование, архитектурные навыки            –   Компонентное программирование,
    программирование, архитектурные навыки               плагины

                                                     – Стек и стековая машина, наноассемблер
                                                                       машина,
   9 класс
    9 класс                                          – Очереди, списки, хеш-таблицы
    Алгоритмы и структуры данных, конструирование
     Алгоритмы и структуры данных, конструирование   – Деревья
   компиляторов. Язык ассемблера.
    компиляторов. Язык ассемблера.                       – Экспертные системы
                                                         – Архиватор (алг. Хаффмана)
                                                         – Деревья выражений, nanoGCC
                                                                     выражений,
   10 класс
    10 класс                                             – Символьное дифференцирование
   Программирование на платформах Win32 и .NET
    Программирование на платформах Win32 и .NET          – Оптимизация выражений и программ
   3D-графика, OpenGL и DirectX
    3D-графика, OpenGL и DirectX                     – Лексический анализ, графы и автоматы
                                                     – Нейронные сети

   11 класс                                          – Оконная система – оболочка для Win32
    11 класс
   Проектная работа. Специальные                     – Обработка данных, введение в численные
    Проектная работа. Специальные
   пользовательские навыки. Борьба с ЕГЭ :(            методы, визуализация данных
    пользовательские навыки. Борьба с ЕГЭ :(


19
 Аналитический подход к довузовскому преподаванию программирования
2 ЧЕТВЕРТЬ – «ПОСТРОИТЕЛЬ ГРАФИКОВ»
Модуль пересчета координат + тонкая оболочка над графической библиотекой.
 – Интерфейс («Кнопочки») – запланированная «головная боль». Набираем базу для MVC-
   архитектуры, классов и менеджеров интерфейса. Проект запросто углубляется до довольно
   серьезных вещей.




20
 Аналитический подход к довузовскому преподаванию программирования
3-4 СЕМЕСТР – С++, МОДЕЛИРОВАНИЕ И ИНТЕРФЕЙСЫ
3 семестр – моделирование
физики (идеальный газ,
столкновения шаров, освещение)
и химии (химическая кинетика).


4 семестр – классический проект
GUI library – ООП «in large»
  – ООД, затем ООП
  – Start from UML, но не делая из него
    Holy Cow.
  – Последовательное применение того,
    что учили в предыдущем семестре,
    но теперь не этюд, а проект.
  – Невытесняющая многозадачность
  – Многопоточность
Графический редактор nanoPhotoshop
  – Плагины
  – Компонентное программирование (COM-like)
  – Единый стандарт API по группе,
    кто первый выпустил SDK – его и стандарт.
  – Головная боль с поддержкой собственных
    старых версий. Еще +1 к рефлексии.


21
 Аналитический подход к довузовскому преподаванию программирования
ВИЗУАЛЬНЫЙ ПОДХОД
 Максимизация мотивации, ясность результата

 Разработана библиотека под Windows для облегчения работы
  – Тонкая и прозрачная среда – реально разобраться
  – Минимализм. Специально убрано все, что «вкусно»,
    но можно сделать самому
  – Без пафоса («песочница», «тупой художник», ироничная
    псевдореклама)
  – Подталкивает «выйти за стенки песочницы»
  – Хороший методический инструмент – тот, что попался в нужное
    время, но который не привязывает к себе, а побуждает идти
    дальше




22
 Аналитический подход к довузовскому преподаванию программирования
КОГДА НАЧИНАТЬ? СИСТЕМА НАБОРА
 Наиболее критичный этап –
 старт обучения
   – Сильно мотивационно обусловлен!
   – Не только и не столько учить,
     сколько воспитывать
                                                   Смена
 Требуемые качества                                школы
   – Воображение, творчество
   – Трудолюбие
   – Обязательность
   – Самооценка                              4кл 5кл    6кл 7кл       8кл 9кл 10кл 11кл 1к      2к   3к   4к   5к

   – Результативность                               Активность                          Доверие к учителю
                                                    Аналитичность мышления              Вероятность успеха
   – Коммуникабельность
 Система набора: микропроект
 (мультик)
   – Лучше в 8 класс (сейчас в 7-й)                 70%                                        20%
                                              1                   2          3          4             Конс Зачет
   – Цель – попробовать процесс
   – В любом случае – получение базовых      Д/З              Д/З           Д/З         Д/З
     знаний по программированию
                                                  30%
 Статистика набора                                           70%                  10%           35%        65%
   – 70% желали продолжать занятия
   – из них 70% не смогли посетить        Отказались
                                             сразу      Не смогли
                                                        Не смогли         Отказались          Не сдали       Приняты
     занятия (из-за расписания
     экзаменов)
23
 Аналитический подход к довузовскому преподаванию программирования
ОБРАЗОВАТЕЛЬНЫЕ ТРАЕКТОРИИ
                                                                                  Временная динамика
  Учебный процесс
  Учебный процесс




                                                 Проектная активность
                                                                                                                       «Разработчик»
   Цельность
   Цельность

   Непрерывность
   Непрерывность

   Учебная база
   Учебная база
                                                                                                                       «Аналитик,
                                                                                                                        пользователь»
   Техническая база
   Техническая база
                                                                           7          8        9         10      11
                                                                          Где-то будет пауза… обычно на 2 году
               Ученик
               Ученик
                  Результативность
                  Результативность

                  Коммуникабельность
                  Коммуникабельность




            Успех
            Успех                    Имитационная
                                     Имитационная                       Формальная
                                                                        Формальная        Олимпиадная
                                                                                          Олимпиадная       Проектная
                                                                                                             Проектная
                                                                                                            активность
                                                                                                                          Профессиональная
                                                                                                                          Профессиональная
                                      активность
                                      активность                        активность
                                                                         активность        активность
                                                                                           активность                        активность
                                                                                                                             активность
           работы
           работы                      Лодырь                              Ботан           Спортсмен
                                                                                                         Экспериментатор,
                                                                                                         Экспериментатор,
                                                                                                                            Профессионал
                                        Лодырь                              Ботан                             инженер
                                                                                                              инженер       Профессионал


                                       Непродуктивная активность                                        Продуктивная активность


24
 Аналитический подход к довузовскому преподаванию программирования
ИТОГИ


 Математика
 Математика
                                                   Технология
                                                   Технология



  Физика
  Физика



                             Программирование
                             Программирование



  География
  География
                                                              Филология
                                                              Филология

                                                             Литература
                                                             Литература


                                                     Биология
                                                     Биология
     Химия
     Химия                                           На слайде приведены фрагменты
                                                   презентаций учащихся. См. ded32.ru

25
 Аналитический подход к довузовскому преподаванию программирования
КОНФЕРЕНЦИЯ ПРОЕКТНЫХ РАБОТ

                                                 Конференция начиналась
                                                 Конференция начиналась
                                                 в 2003 г. с секций
                                                 в 2003 г. с секций
                                                 программирования
                                                 программирования
                                                 и физики. Сейчас ее нет.
                                                 и физики. Сейчас ее нет.




                                                             ded32.ru




26
 Аналитический подход к довузовскому преподаванию программирования
РЕЗУЛЬТАТЫ ОДНОГО ПРЕПОДАВАТЕЛЯ

 Участие в региональных и международных конкурсах
   (не считая призовых мест на олимпиадах Всероссийского уровня)
 • Балтийский научно-инженерный конкурс (СПб) –
   за 4 года 19 участников, 13 наград, 7-11 класс
 • Intel ISEF (Международный этап, США) –
   за 4 года 4 участника, 3 награды, 11 класс
 • Intel ISEF (Всероссийский этап) – за 3 года
   7 участниов, 7 наград, 7-11 класс                       Сотрудничество с ВУЗами и НИИ РАН
                                                           • МФТИ
 • «Старт в науку» (Физтех Мск) – за 2 года
   5 участников, 5 наград, 8-11 класс                      • СПбГУ ИТМО
                                                           • ВМК МГУ
      Динамика успеваемости по классам                     • Физфак МГУ
                                        4.5         4.7    • Институт механики МГУ
     4.2                                                   • Институт Системного
                            4
                                                             программирования РАН
              3.5


                                                           В ходе обучения не использовались
                                                           меры «нерезультативных – выгоним».
                                                           Показатель ухода составлял в среднем
                                                           0.5 чел., прихода 0.3 чел. за год.

       7        8               9         10          11
             Успеваемость           Загруженность

27
 Аналитический подход к довузовскому преподаванию программирования
РЕЗУЛЬТАТЫ ОДНОГО ПРЕПОДАВАТЕЛЯ

    Количество проектов на «Ярмарке Идей» (проектный конкурс ЮЗАО г.Москвы)

           а ≤ 100%
                                  15


                                                   а << 100%
                      11




                                                                   а = 0%
                                           5             5
       4

                           2           2                       2

           0                                   0                   0 0


        2004           2005        2006    2007           2008     2009
                      ИКТ      Не ИКТ          Отн.нагрузка

28
 Аналитический подход к довузовскому преподаванию программирования
ЗАКЛЮЧЕНИЕ
В целом, методика показала свою эффективность и «нетравматичность».
Необходимые для нее условия:
  – Методика работает в полную силу только при сильной математике и физике.
  – Крайне желателен еще и английский язык.
  – Методика работает в полную силу только при непрерывном поддержании мотивации от всех
    участников образовательного процесса.
  – Она не может быть «слабым звеном», тогда она превратится в профанацию. Это опасно.
  – «Гениальности» для успехов у ребенка не требуется. Но с ней будет легче получать результаты.
  – Что требуется – работоспособность и коммуникабельность. К сожалению, эти качества
    трудно воспитываются в среднем и старшем школьном возрасте.
  – Для успеха требуется свободное владение курсом физики и математики в объеме физматшколы.
Что дает методика
  – Минимально – отсутствие проблем с информатикой/программированием в физико-
    математическом ВУЗе.
  – Стандартно – умение программировать «для себя», с 1-2 курса ВУЗа успешно осваивать
    профильные занятия на 1-3 года вперед, часто опережая сокурсников.
  – Программа по информатике МФТИ, ВМК и мехмата МГУ по программированию во многом покрыта
    стандартным курсом 7-10 классов.
  – Максимально – посильной научной и наукоемкой производственной работой школьник может
    грамотно заняться начиная с 7-8 класса, с 10 класса быть приглашенным в учебно-научный или
    научно-производственный коллектив.
  – Это «социальный лифт», позволяющий ребенку быстро подняться профессионально.

29
 Аналитический подход к довузовскому преподаванию программирования
Спасибо за внимание




                        Остальная информация на http://ded32.ru




                                       Благодарности
                                 акад. В.П. Иванников, ИСП РАН
                              член-корр. РАН А.Л. Семенов, МИОО
                            проф. Н.И.Яковлева, ДО ЮЗАО г. Москвы
           проф. А.А. Шананин, проф. И.Б.Петров, А.В. Гасников, Е.Г. Молчанов, МФТИ
чл.-корр. РАО проф. В.Н. Васильев, проф. В.Г. Парфенов, проф. А.А. Шалыто и сотр., СПбГУ ИТМО
                               А.С. Татаринов, nVidia Corporation

Weitere ähnliche Inhalte

Ähnlich wie S05dedinskij 4site

Образовательная робототехника на уроках технологии в школе
Образовательная робототехника на уроках технологии в школеОбразовательная робототехника на уроках технологии в школе
Образовательная робототехника на уроках технологии в школеАндрей Гурьев
 
А.Левенчук -- инженерное образование: итоги 2014 и планы.
А.Левенчук -- инженерное образование: итоги 2014 и планы.А.Левенчук -- инженерное образование: итоги 2014 и планы.
А.Левенчук -- инженерное образование: итоги 2014 и планы.Anatoly Levenchuk
 
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]Alex V. Petrov
 
Школа молодого преподавателя семинар
Школа молодого преподавателя семинарШкола молодого преподавателя семинар
Школа молодого преподавателя семинарmanzyr
 
проектная деятельность 1
проектная деятельность 1проектная деятельность 1
проектная деятельность 1Irina29i
 
9.инновационные технологии обучения. что это такое.
9.инновационные технологии обучения. что это такое.9.инновационные технологии обучения. что это такое.
9.инновационные технологии обучения. что это такое.Plekhanov Russian University of Economics
 
Введение в педагогический дизайн
Введение в педагогический дизайн Введение в педагогический дизайн
Введение в педагогический дизайн Mikhail Morozov
 
Подготовка специалистов в университете Дубна
Подготовка специалистов в университете ДубнаПодготовка специалистов в университете Дубна
Подготовка специалистов в университете ДубнаAtner Yegorov
 
защита педпроект
защита педпроектзащита педпроект
защита педпроектnatalyakalinina29
 
Тьюторская Конференция 2012 - Суханова
Тьюторская Конференция 2012 - СухановаТьюторская Конференция 2012 - Суханова
Тьюторская Конференция 2012 - СухановаAlexander Nikolaev
 
Технология (само)обучения
Технология (само)обученияТехнология (само)обучения
Технология (само)обученияSergey Minyurov
 
Системноинженерное мышление в непрерывном образовании
Системноинженерное мышление в непрерывном образованииСистемноинженерное мышление в непрерывном образовании
Системноинженерное мышление в непрерывном образованииAnatoly Levenchuk
 
Моделеориентированность в инженерии
Моделеориентированность в инженерииМоделеориентированность в инженерии
Моделеориентированность в инженерииAnatoly Levenchuk
 
Моя деятельность
Моя деятельностьМоя деятельность
Моя деятельностьangelikadp87
 
технологии на уроках математики 17.04 97 2003
технологии на уроках математики 17.04 97 2003технологии на уроках математики 17.04 97 2003
технологии на уроках математики 17.04 97 2003imckur
 
А.Левенчук -- Практики системной инженерии
А.Левенчук -- Практики системной инженерииА.Левенчук -- Практики системной инженерии
А.Левенчук -- Практики системной инженерииAnatoly Levenchuk
 

Ähnlich wie S05dedinskij 4site (20)

Образовательная робототехника на уроках технологии в школе
Образовательная робототехника на уроках технологии в школеОбразовательная робототехника на уроках технологии в школе
Образовательная робототехника на уроках технологии в школе
 
А.Левенчук -- инженерное образование: итоги 2014 и планы.
А.Левенчук -- инженерное образование: итоги 2014 и планы.А.Левенчук -- инженерное образование: итоги 2014 и планы.
А.Левенчук -- инженерное образование: итоги 2014 и планы.
 
Кузнецов С.В.
Кузнецов С.В.Кузнецов С.В.
Кузнецов С.В.
 
фещенко соц сети
фещенко   соц сетифещенко   соц сети
фещенко соц сети
 
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
 
W2 zharkova
W2 zharkovaW2 zharkova
W2 zharkova
 
Школа молодого преподавателя семинар
Школа молодого преподавателя семинарШкола молодого преподавателя семинар
Школа молодого преподавателя семинар
 
проектная деятельность 1
проектная деятельность 1проектная деятельность 1
проектная деятельность 1
 
9.инновационные технологии обучения. что это такое.
9.инновационные технологии обучения. что это такое.9.инновационные технологии обучения. что это такое.
9.инновационные технологии обучения. что это такое.
 
Введение в педагогический дизайн
Введение в педагогический дизайн Введение в педагогический дизайн
Введение в педагогический дизайн
 
Подготовка специалистов в университете Дубна
Подготовка специалистов в университете ДубнаПодготовка специалистов в университете Дубна
Подготовка специалистов в университете Дубна
 
Презентация
ПрезентацияПрезентация
Презентация
 
защита педпроект
защита педпроектзащита педпроект
защита педпроект
 
Тьюторская Конференция 2012 - Суханова
Тьюторская Конференция 2012 - СухановаТьюторская Конференция 2012 - Суханова
Тьюторская Конференция 2012 - Суханова
 
Технология (само)обучения
Технология (само)обученияТехнология (само)обучения
Технология (само)обучения
 
Системноинженерное мышление в непрерывном образовании
Системноинженерное мышление в непрерывном образованииСистемноинженерное мышление в непрерывном образовании
Системноинженерное мышление в непрерывном образовании
 
Моделеориентированность в инженерии
Моделеориентированность в инженерииМоделеориентированность в инженерии
Моделеориентированность в инженерии
 
Моя деятельность
Моя деятельностьМоя деятельность
Моя деятельность
 
технологии на уроках математики 17.04 97 2003
технологии на уроках математики 17.04 97 2003технологии на уроках математики 17.04 97 2003
технологии на уроках математики 17.04 97 2003
 
А.Левенчук -- Практики системной инженерии
А.Левенчук -- Практики системной инженерииА.Левенчук -- Практики системной инженерии
А.Левенчук -- Практики системной инженерии
 

Mehr von Vyacheslav Govorov (20)

S26burnusuzyan
S26burnusuzyanS26burnusuzyan
S26burnusuzyan
 
S25molchanov
S25molchanovS25molchanov
S25molchanov
 
S21korytin
S21korytinS21korytin
S21korytin
 
S20govorov
S20govorovS20govorov
S20govorov
 
S19korytin
S19korytinS19korytin
S19korytin
 
S17orlov
S17orlovS17orlov
S17orlov
 
S14ivanov2
S14ivanov2S14ivanov2
S14ivanov2
 
S14ivanov
S14ivanovS14ivanov
S14ivanov
 
S10gallamov
S10gallamovS10gallamov
S10gallamov
 
S07frolov
S07frolovS07frolov
S07frolov
 
S06carkov
S06carkovS06carkov
S06carkov
 
S01samojlov
S01samojlovS01samojlov
S01samojlov
 
08arseniev2
08arseniev208arseniev2
08arseniev2
 
08arseniev
08arseniev08arseniev
08arseniev
 
07ivanov
07ivanov07ivanov
07ivanov
 
04saprykin
04saprykin04saprykin
04saprykin
 
02slobodyanin
02slobodyanin02slobodyanin
02slobodyanin
 
01voronov 4site
01voronov 4site01voronov 4site
01voronov 4site
 
01voronov 4site
01voronov 4site01voronov 4site
01voronov 4site
 
S24fedorov
S24fedorovS24fedorov
S24fedorov
 

S05dedinskij 4site

  • 1. АНАЛИТИЧЕСКИЙ ПОДХОД К ДОВУЗОВСКОМУ ПРЕПОДАВАНИЮ ПРОГРАММИРОВАНИЯ Илья Дединский кафедра информатики МФТИ лицей «Вторая школа», Москва http://ded32.ru Цель Разработка практико-ориентированной методики довузовского преподавания программирования, достаточной для успешного дальнейшего развития и саморазвития ученика в условиях современного ВУЗа и современного состояния индустрии разработки ПО. Основные задачи - Способы определения и преодоления образовательных разрывов «школа – ВУЗ – профессия» - Выделение базовых принципов проектного обучения программированию, построение его последовательности и разработка основных курсов для школьного периода 1Аналитический подход к довузовскому преподаванию программирования
  • 2. ПРОГРАММИРОВАНИЕ – ТРИ В ОДНОМ Точность Точность Абстрактность Абстрактность определений определений методов методов Наглядность и Наглядность и Математика инструментальность инструментальность Математика Целостность систем Целостность систем Эффективность Эффективность понятий понятий работы работы Соответствие срокам Соответствие срокам Логика Стилистика Логика Стилистика ПРОЕКТНОЕ Выразительность Выразительность ПРОГРАММИРОВАНИЕ Актуальность и Актуальность и реализм реализм Литература Литература Технология Технология Преемственность Преемственность 2 Сопровождение Сопровождение Аналитический подход к довузовскому преподаванию программирования
  • 3. ЧЕРТЫ ИНДУСТРИИ – МЕЙНСТРИМ Что сейчас? – промышленная модель – Промышленный стиль разработки (ориентация на продукт) – Согласование с заказчиком – Документирование – Ограничения по срокам Что было раньше? – кустарная модель – Большой объем – Научный стиль разработки (ориентация на – Коллективность метод) – Много стандартов, инструментов – Сотрудничество с заказчиком – Чужой и устаревший код – Пользование компьютером предполагало – Удаленная разработка навыки программирования – Большой объем литературы – Меньший объем проектов – Локальная разработка – Без культуры программирования работать – Преимущественно индивидуальная невозможно! разработка – Учиться самому все труднее и труднее – Небольшое количество стандартов – Небольшой объем литературы – В результате без опыта промышленной разработки даже самая светлая голова – – Культура программирования только убытки для компании. (с) развивалась – Легко было учиться самому 3Аналитический подход к довузовскому преподаванию программирования
  • 4. РАЗВИТИЕ ИНСТРУМЕНТАРИЯ Развитие инструментария и техники разработки – способ скомпенсировать человеческие недостатки перед лицом усложняющихся задач Что это за недостатки? – Забывчивость – Невнимательность – Утомляемость – Медленное усвоение информации – Медленная реакция – Неалгоритмичность – Склонность запутываться – … От этих недостатков никуда не деться На этапе обучения излишняя борьба с ними может превратить человека в смесь кодогенератора с отладчиком (другими словами, в «человека- бетономешалку») «Принцип разумной лени» – Грамотно использовать средства, а не неграмотно – себя 4Аналитический подход к довузовскому преподаванию программирования
  • 5. ВУЗОВСКОЕ ОБРАЗОВАНИЕ – МЕЙНСТРИМ Что сейчас? (МФТИ, ВМК МГУ – отчасти счастливые исключения) – Как раздел математики, либо офисные технологии – Отрыв обучения от индустрии – Не усваиваемые порядок и темп изложения – Практика: фрагментарность, ориентация «на методичку». И – мало практики! – Нет командных технологий – Нет рефлексии – не «ставится голова» – Трудно приобрести нужные навыки – Это скорее отбор уже успешных, а не обучение одаренных. Оно больше соответствует прошлому периоду развития индустрии, чем нынешнему. Счастливые исключения, ставшие мейнстримом: – Олимпиадные технологии – В какой-то степени – курсовые и дипломные работы, спецкурсы (МФТИ: Intel и др.) Как быть студенту? – Заниматься олимпиадами (но до определенной стадии) – Самому идти на кафедру, брать тему и выбиваться в люди – Оставить надежду на ВУЗ, учиться самому, идти работать и выбиваться в люди – Вообще, никакая система обучения не гарантирует порождения Специалиста. Она может этому только способствовать. – Кроме того, надо искать соответствующие ВУЗы. Но сколько их? 5Аналитический подход к довузовскому преподаванию программирования
  • 6. ШКОЛЬНОЕ ОБРАЗОВАНИЕ – МЕЙНСТРИМ То же, что и в вузе, плюс: – Великая ориентация на пользование ПК, иногда – на олимпиады – Очень разный и часто низкий уровень подготовки учителей – Разнородное, неустойчивое и утилитарное мнение родителей, администрации школ (программист – это вид сантехника) – Такая же мотивация учеников (скачать весь Интернет… взломать сервер Microsoft…) – Слабое сопряжение со смежными предметами (у всех свои заботы…) – Низкий уровень проектных работ (проекты по истории программирования, скачанные рефераты…) – Отношение администрации (программирование – не экзамен, не основной предмет) Счастливые исключения, ставшие мейнстримом: – Олимпиадные технологии – Дополнительное образование (но здесь многие пед. технологии теряют устойчивость). – Самостоятельное изучение, но это все труднее и труднее, несмотря на книги и Интернет Как быть школьнику? – Заниматься олимпиадами и надеяться, что в вузе и на работе будет то же самое. – Самому искать научника, брать тему и выбиваться в люди. Но это труднее, чем студенту. – Оставить надежду на школу, учиться самому и выбиваться в люди. Так многие и делают. – Искать соответствующие школы. Но сколько их? 6Аналитический подход к довузовскому преподаванию программирования
  • 7. ОБРАЗОВАТЕЛЬНЫЕ РАЗРЫВЫ Способы преодоления – Самостоятельный метод КНИГ КНИГ ИНТЕРНЕТ ИНТЕРНЕТ – Олимпиадный метод ИИ – Непрерывное профильное образование Повышение КПД образования РАБОТА – Использование ВУЗа как ресурса О П Ы Т Для этого нужны: – Активная учебная позиция – Мотивация – Конструктивное мышление совокупность шишек, – Результаты и наработки набитых граблями Следствие: – Это необходимо приобрести до ВУЗа! КУРСЫ КУРСЫ ШКОЛА ШКОЛА ВУЗ ВУЗ Печальный вывод: – Без грамотно поставленной работы в школе первокурснику будет очень трудно. От лучших сокурсников он зачастую отстал навсегда. Конструктивный вывод: – Нужна методика, закладывающая фундамент и облегчающая «пользование ВУЗом как ресурсом» – Эта методика должна и «ставить голову» и давать конкретную отдачу в виде материалов, которые можно показать будущим преподавателям и научным руководителям. 7Аналитический подход к довузовскому преподаванию программирования
  • 8. МОДЕЛИ ОПЫТА Школьный Школьный Одновременное наращивание Окружной Окружной всего комплекса навыков Городской Городской Область Региональный Региональный професс. работы Всероссийский Всероссийский Переход «к реальной действительности» Международный FAIL Идеализированная модель Реальная модель Локальную абстрактную задачу Ориентация на Целостный продукт Небольшой Объем задачи Большой Узкий и постоянный Контекст задачи Широкий и меняющийся Импульсная фрагментарная Характер работы Непрерывная итерационная Только со своим Работа с кодом Со своим и чужим Индивидуальная Разработка Командная Мало Стандарты и литература Много Требуется методика, максимизирующая наборсопровождение . Обязательны Нет Документация и именно опыта Все остальное придет и так. 8Аналитический подход к довузовскому преподаванию программирования
  • 9. ОБУЧЕНИЕ ЧЕРЕЗ РЕФАКТОРИНГ Что такое «знать»? Когнитивно-технологическая единица (КТЕ) – Зачем это надо? – Что это такое? Как хотеть учиться – Где это можно и где нельзя использовать? Автор: Илья Дединский – Как это применять? Опубликовано в журнале "Компьютерра" №24 от 23 июня 2005 года – На чем основано и с чем связано? – Чем придется пожертвовать? По моему мнению, главная задача вуза, и не только в сфере ИТ, - научить студента действовать грамотно и самостоятельно… – Что будет, если этого не делать? – Какие в этом «подводные камни» «ТЕХНОЛОГИЯ ГРАБЛЕЙ (racket)»: (чего опасаться и «накладные расходы») МОДЕЛИРОВАНИЕ СИТУАЦИИ Реализация Реализация Реализация Реализация Рефлексия. Рефлексия. Поиск Поиск «новыми» «новыми» Рефлексия и Рефлексия и Поиск новой Поиск новой «старыми» «старыми» Анализ Анализ «идеального» «идеального» средствами средствами обкатка новой обкатка новой технологии технологии средствами средствами ситуации ситуации решения решения (рефакторинг) (рефакторинг) технологии технологии Технология подается максимально Ужасное Прекрасное «вовремя», на выверенном примере. …с иронией и юмором 9Аналитический подход к довузовскому преподаванию программирования
  • 10. ПРИМЕР РЕФАКТОРИНГА (Второе занятие начального курса: Функции) – Это первый рефакторинг: выделение функций – Чему учит: Структурирование, Культура именования – Сразу – довольно большие программы (200-300, а то и до 1000 строк) #include<TXLib.h> #include<TXLib.h> #include <TXLib.h> #include <TXLib.h> int main() #include <TXLib.h> int main() {txCreateWindow(630,390); {txCreateWindow(630,390); void HouseDraw(); void HouseDraw(); txSetColor(TX_WHITE); int main () void TreeDraw(); txSetColor(TX_WHITE); { void TreeDraw(); txLine(90 ,80,180 ,80); txLine(90 ,80,180 ,80); txLine(180,80,180,130); txCreateWindow (630, 390); int main () txLine(180,80,180,130); txSetColor (TX_WHITE); int main () txLine(180,130,70,130); txLine(180,130,70,130); { { txLine(70,130,70,80); txLine(70,130,70,80); txCreateWindow (630, 390); txCreateWindow (630, 390); txLine(70,130 ,120,180); txLine ( 90, 80, 80, 180, 180, 80); 80); txLine(70,130 ,120,180); txLine (180, 80, 180, 130); txLine(70,180,120 ,130 ); txLine(70,180,120 ,130 ); 80, HouseDraw(); HouseDraw(); txLine(130 ,130,180,180); txLine (180, 130, 70, 130); TreeDraw(); txLine(130 ,130,180,180); txLine ( 70, 130, 70, 80); TreeDraw(); txLine(180,130 ,130,180); txLine(180,130 ,130,180); 70, 80); DogDraw(); DogDraw(); txSetColor(TX_RED);//vrode txLine ( 70, 130, 120, 180); txSetColor(TX_RED);//vrode txLine ( 70, 180, 120, 130); domik? domik? return 0; return 0; txLine (460,230 ,480,200); txLine (130, 130, 180, 180); } txLine (460,230 ,480,200); txLine (180, 130, 130, 180); } txLine(580 ,200,610,200); txLine(580 ,200,610,200); txLine(610 ,200,610,250); txLine(610 ,200,610,250); void HouseDraw() void HouseDraw() txLine (610, 200,590,220); txSetColor (TX_GREEN); void HouseDraw() { txLine txLine (460, 230, 480, 200); { txLine(590,220,460,230); txLine(590,220,460,230); { txLine ( 90, 80, 180, txLine ( 90, 80, 180, txLine(460, 230,460,280); txLine (580, 200, 610, 200); txLine ( 90, 80, 180, 80); 80); txLine(460, 230,460,280); txLine (610, 200, 610, 250); 80); txLine (490,230, 490,280); txLine 490,280); txLine (180, 80, 180, 130); txLine (180, 80, 180, 130); txSetColor(TX_BROWN); txLine (610, 200, 590, 220); txLine (180, 130, 70, 130); txSetColor(TX_BROWN); txLine (590, 220, 460, 230); txLine (180, 130, 70, 130); txLine(270 txLine(270 ,380,270,280); ,380,270,280); txLine ( 70, 130, 70, 80); txLine ( 70, 130, 70, 70, 130, 70, txLine (270,280,340,280); txLine (460, 230, 460, 280); 80); txLine (270,280,340,280); txLine (490, 230, 490, 280); 80); txLine ( 70, 130, 120, 180); txLine(340 ,280,340,380); txLine(340 ,280,340,380); txLine ( 70, 180, 120, 130); txLine ( 70, 130, 120, 180); txLine ( 70, 130, 120, 180); txCircle(380, 330,2); txCircle(380, 330,2); txLine ( 70, 180, 120, 130); txLine ( 70,130, 180, 180); return 0;} return 0;} txSetColor (TX_BROWN); txLine (130, 180, 120, 130); txLine (130, 130, 180, 180); txLine (270, 380, 270, 280); txLine (130, 130, 180, 180); txLine (180, 130, 130, 180); txLine (180, 130, 130, 180); txLine (180, 130, 130, 180); txLine (270, 280, 340, 280); «This code txLine (340, 280, 340, 380); txCircle (380, 330, 2); } } } smells» return 0; void Tree::Draw() void Tree::Draw() { { M. Fowler } txSetColor (TX_GREEN); txSetColor (TX_GREEN); txLine (460, 230, 480, 200); txLine (460, 230, 480, 200); 10 Аналитический подход к довузовскому преподаванию программирования
  • 11. ПРИМЕР РЕФАКТОРИНГА (Третье занятие начального курса: Функции с параметрами) – Функция как черный ящик – Первый опыт конструктивного обобщения – Первый опыт (зародыш) построения API и контрактного программирования #include <TXLib.h> #include <TXLib.h> void HouseDraw(); void HouseDraw (int x, int y, void TreeDraw(); int sizeX, int sizeY, int sizeWin, int chimney, int main () COLORREF color); { … txCreateWindow (630, 390); К-во параметров функции int main () HouseDraw(); { TreeDraw(); Гибкость Простота Удобство txCreateWindow (630, 390); DogDraw(); HouseDraw (100, 150, 100, 40, 20, …); return 0; TreeDraw (…); } y DogDraw (…); x void HouseDraw() return 0; { } txLine ( 90, 80, 180, 80); sizeWin txLine (180, 80, 180, 130); sizeX void HouseDraw (int x, int y, txLine (180, 130, 70, 130); int sizeX, int sizeY, txLine ( 70, 130, 70, 80); int sizeWin, int chimney, txLine ( 70, 130, 120, 180); sizeY COLORREF color) txLine ( 70, 180, 120, 130); { txLine (130, 130, 180, 180); txSetColor (color); txLine (180, 130, 130, 180); txLine (x – sizeX/2, y + sizeY, } x + sizeX/2, y + sizeY); … void TreeDraw() } { chimney txSetColor (TX_GREEN); void TreeDraw (int x, int y, int size, txLine (460, 230, 480, 200); int branchesSize, … int branchesUp, color …) 11 Аналитический подход к довузовскому преподаванию программирования
  • 12. ПРИМЕР РЕФПКТОРИНГА (Пятое занятие начального курса: модули) – Выделение модуля (модулей) для разработки мультфильма – Библиотеки (на уровне include-файлов с кодом. Это не совсем профессионально, но в раздельной компиляции 7(8)-классники путаются). – Деление функции на «сценарные» (вспомогательные для основной программы), «библиотечные» (API модуля) и «вспомогательные для библиотеки» (в терминах раздельной компиляции на С они соответствуют статическим функциям). – Документация по библиотеке с героями мультика (doxygen). – Выпуск mini-SDK (code + doc + example). Versioning. – Перекрестный обмен кодом, задание – написать нано-мультик на чужом SDK за 1-2 урока. – Домашнее задание – (перекрестная) небольшая рецензия на использованный SDK (code/doc peer review) и рефакторинг своей библиотеки с учетом этой рецензии. Отдельная песня – худо-бедно надо научить писать рецензии. – Надо сдать много чего: наномультик, библиотеку, рецензию, переработанную библиотеку. – На эту работу удобно потом часто ссылаться, в ней много знаковых моментов. Построение и использование SDK Построение и использование SDK Peer review Peer review Документирование Документирование Versioning Versioning Техники промышленного программирования Техники промышленного программирования Кто ясно мыслит – ясно излагает. Обратное часто тоже верно. 12 Аналитический подход к довузовскому преподаванию программирования
  • 13. ВОСПИТАНИЕ ТЕХНОЛОГИЧЕСКОЙ КУЛЬТУРЫ Выработка системы Выработка системы ценностей ценностей и критериев качества и критериев качества Lr V Ясность Ясность N Выразительность Выразительность L Надежность Надежность Сопровождаемость Сопровождаемость Модульность Модульность Архитектурная логичность Архитектурная логичность ! Масштабируемость Масштабируемость Поддержка стандартов Поддержка стандартов Переносимость Переносимость Навыки командной Навыки командной работы работы Культура как контекст Культура как контекст 13 Аналитический подход к довузовскому преподаванию программирования
  • 14. ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗУЧЕНИЯ Техники Техники промышленного промышленного Данная методика Традиционная методика Данная методика Традиционная методика программирования программирования Библиотечные вызовы Библиотечные вызовы Теоретические алгоритмы Теоретические алгоритмы Рефакторинг Рефакторинг Функции Функции Библиотечные вызовы Библиотечные вызовы Модульность Модульность Параметры Переменные Параметры Переменные Переменные Переменные Условия Условия Интерфейсы Интерфейсы Циклы Циклы Алгоритмы Алгоритмы Документирование Документирование Условия Условия Циклы Циклы Библиотеки Библиотеки Массивы Массивы Построение и использование SDK Построение и использование SDK Указатели Указатели Строки Строки Peer review Peer review Структуры Структуры Указатели Указатели Versioning Модули Модули Функции Функции Versioning Массивы Массивы Параметры Параметры Внутреннее самотестирование Внутреннее самотестирование Отладочные техники Отладочные техники Строки Строки Структуры Структуры Внешнее тестирование Внешнее тестирование Алгоритмы (Библиотеки) Алгоритмы (Библиотеки) Перекрестное тестирование Перекрестное тестирование 14 Аналитический подход к довузовскому преподаванию программирования
  • 15. ПОРОЖДЕНИЕ ПРОЕКТНЫХ ЭЛЕМЕНТОВ Пример: курс «Структуры данных и алгоритмы» Третий год обучения (9 или 10 класс) Трансляция Трансляция е Промыш- вани е ани и оптимизация,, и оптимизация лиро в ных лиро ь ных ленный Моде ител ь Моде ител Функциональное Функциональное символьные символьные сл л преобразования уровень вычи с стем вычи и стем программирование программирование Сжатие Сжатие преобразования си с и передача и передача данных данных nanoGCC nanoGCC Уровень nanoLISP nanoLISP учебной nanoCPU nanoCPU Архиватор Архиватор модели Хаффмана Хаффмана Набор задач Стеки … Списки … Деревья Деревья Олимпиадный путь Идеализированный (не реализуемый) путь Проектный путь (Опущены: очереди, хеш-таблицы, графы, автоматы) 15 Аналитический подход к довузовскому преподаванию программирования
  • 16. МИКРО-ПРОЕКТИРОВАНИЕ ТРАДИЦИОННАЯ МЕТОДИКА ПРОЕКТНАЯ МЕТОДИКА «Липкие» «Липкие» концы концы Теория Теория ЗАДАЧИ ЗАДАЧИ T T 1 1 T T 1 1 2 2 3 3 4 4 4 4 2 2 3 3 5 5 5 5 Р Р O O Инкрементальный Инкрементальный Моноцентрический Рефлексия Рефлексия Моноцентрический характер задач характер задач частично-сопряженный частично-сопряженный Обобщение Обобщение характер задач характер задач Монтажная единица – микропоследовательность («липкий фрагмент») 16 Аналитический подход к довузовскому преподаванию программирования
  • 17. МИКРО-ПРОЕКТИРОВАНИЕ T T T T Базовый Р/Т Р/Т 1 1 2 2 Р/Т Р/Т 3 P P 3 Средний 4 4 уровень 5 5 Р Р P P P P Творческий P P Монтаж фрагментов Структура темы Т – теория, Р – рефлексия 17 Аналитический подход к довузовскому преподаванию программирования
  • 18. ФРОНТАЛЬНАЯ ПРОЕКТНАЯ СИСТЕМА 1 1 2 2 3 3 4 4 Фронтальны Фронтальны й уровень й уровень Школьный Школьный спецкурс спецкурс Студенчески Студенчески й курсовик й курсовик Студенчески Студенчески йй диплом диплом Научная Научная Пример монтажа последовательности работа работа (3) Графики (3) Графики (1) Мультфильм (4) Молекулы (4) Молекулы (1) Мультфильм указатели, структуры, указатели, структуры, указатели, классы, стиль, операторы, функции указатели на функции, указатели на функции, указатели, классы, стиль, операторы, функции классы, гр.интерфейс наследование, гр.интерфейс наследование, гр.интерфейс классы, гр.интерфейс (2) Аркадные игры (2) Аркадные игры (5) Оконная система (5) Оконная система указатели, структуры, указатели, структуры, классы, наследование, классы, наследование, указатели на функции, указатели на функции, проектирование, проектирование, классы, наследование классы, наследование гр.интерфейс гр.интерфейс 18 Аналитический подход к довузовскому преподаванию программирования
  • 19. СТРУКТУРА КУРСА – «Тупой художник» 7 класс 7 класс – «Графики» Основные понятия программирования Основные понятия программирования – «Возня с данными» Базовая алгоритмика – Анализ сортировок Базовая алгоритмика – Строковая библиотека 8 класс – «ПРОЕКТ-МОЛЕКУЛА» 8 класс Основы ООП, основы ООД, компонентное – Оконная система Основы ООП, основы ООД, компонентное программирование, архитектурные навыки – Компонентное программирование, программирование, архитектурные навыки плагины – Стек и стековая машина, наноассемблер машина, 9 класс 9 класс – Очереди, списки, хеш-таблицы Алгоритмы и структуры данных, конструирование Алгоритмы и структуры данных, конструирование – Деревья компиляторов. Язык ассемблера. компиляторов. Язык ассемблера. – Экспертные системы – Архиватор (алг. Хаффмана) – Деревья выражений, nanoGCC выражений, 10 класс 10 класс – Символьное дифференцирование Программирование на платформах Win32 и .NET Программирование на платформах Win32 и .NET – Оптимизация выражений и программ 3D-графика, OpenGL и DirectX 3D-графика, OpenGL и DirectX – Лексический анализ, графы и автоматы – Нейронные сети 11 класс – Оконная система – оболочка для Win32 11 класс Проектная работа. Специальные – Обработка данных, введение в численные Проектная работа. Специальные пользовательские навыки. Борьба с ЕГЭ :( методы, визуализация данных пользовательские навыки. Борьба с ЕГЭ :( 19 Аналитический подход к довузовскому преподаванию программирования
  • 20. 2 ЧЕТВЕРТЬ – «ПОСТРОИТЕЛЬ ГРАФИКОВ» Модуль пересчета координат + тонкая оболочка над графической библиотекой. – Интерфейс («Кнопочки») – запланированная «головная боль». Набираем базу для MVC- архитектуры, классов и менеджеров интерфейса. Проект запросто углубляется до довольно серьезных вещей. 20 Аналитический подход к довузовскому преподаванию программирования
  • 21. 3-4 СЕМЕСТР – С++, МОДЕЛИРОВАНИЕ И ИНТЕРФЕЙСЫ 3 семестр – моделирование физики (идеальный газ, столкновения шаров, освещение) и химии (химическая кинетика). 4 семестр – классический проект GUI library – ООП «in large» – ООД, затем ООП – Start from UML, но не делая из него Holy Cow. – Последовательное применение того, что учили в предыдущем семестре, но теперь не этюд, а проект. – Невытесняющая многозадачность – Многопоточность Графический редактор nanoPhotoshop – Плагины – Компонентное программирование (COM-like) – Единый стандарт API по группе, кто первый выпустил SDK – его и стандарт. – Головная боль с поддержкой собственных старых версий. Еще +1 к рефлексии. 21 Аналитический подход к довузовскому преподаванию программирования
  • 22. ВИЗУАЛЬНЫЙ ПОДХОД Максимизация мотивации, ясность результата Разработана библиотека под Windows для облегчения работы – Тонкая и прозрачная среда – реально разобраться – Минимализм. Специально убрано все, что «вкусно», но можно сделать самому – Без пафоса («песочница», «тупой художник», ироничная псевдореклама) – Подталкивает «выйти за стенки песочницы» – Хороший методический инструмент – тот, что попался в нужное время, но который не привязывает к себе, а побуждает идти дальше 22 Аналитический подход к довузовскому преподаванию программирования
  • 23. КОГДА НАЧИНАТЬ? СИСТЕМА НАБОРА Наиболее критичный этап – старт обучения – Сильно мотивационно обусловлен! – Не только и не столько учить, сколько воспитывать Смена Требуемые качества школы – Воображение, творчество – Трудолюбие – Обязательность – Самооценка 4кл 5кл 6кл 7кл 8кл 9кл 10кл 11кл 1к 2к 3к 4к 5к – Результативность Активность Доверие к учителю Аналитичность мышления Вероятность успеха – Коммуникабельность Система набора: микропроект (мультик) – Лучше в 8 класс (сейчас в 7-й) 70% 20% 1 2 3 4 Конс Зачет – Цель – попробовать процесс – В любом случае – получение базовых Д/З Д/З Д/З Д/З знаний по программированию 30% Статистика набора 70% 10% 35% 65% – 70% желали продолжать занятия – из них 70% не смогли посетить Отказались сразу Не смогли Не смогли Отказались Не сдали Приняты занятия (из-за расписания экзаменов) 23 Аналитический подход к довузовскому преподаванию программирования
  • 24. ОБРАЗОВАТЕЛЬНЫЕ ТРАЕКТОРИИ Временная динамика Учебный процесс Учебный процесс Проектная активность «Разработчик» Цельность Цельность Непрерывность Непрерывность Учебная база Учебная база «Аналитик, пользователь» Техническая база Техническая база 7 8 9 10 11 Где-то будет пауза… обычно на 2 году Ученик Ученик Результативность Результативность Коммуникабельность Коммуникабельность Успех Успех Имитационная Имитационная Формальная Формальная Олимпиадная Олимпиадная Проектная Проектная активность Профессиональная Профессиональная активность активность активность активность активность активность активность активность работы работы Лодырь Ботан Спортсмен Экспериментатор, Экспериментатор, Профессионал Лодырь Ботан инженер инженер Профессионал Непродуктивная активность Продуктивная активность 24 Аналитический подход к довузовскому преподаванию программирования
  • 25. ИТОГИ Математика Математика Технология Технология Физика Физика Программирование Программирование География География Филология Филология Литература Литература Биология Биология Химия Химия На слайде приведены фрагменты презентаций учащихся. См. ded32.ru 25 Аналитический подход к довузовскому преподаванию программирования
  • 26. КОНФЕРЕНЦИЯ ПРОЕКТНЫХ РАБОТ Конференция начиналась Конференция начиналась в 2003 г. с секций в 2003 г. с секций программирования программирования и физики. Сейчас ее нет. и физики. Сейчас ее нет. ded32.ru 26 Аналитический подход к довузовскому преподаванию программирования
  • 27. РЕЗУЛЬТАТЫ ОДНОГО ПРЕПОДАВАТЕЛЯ Участие в региональных и международных конкурсах (не считая призовых мест на олимпиадах Всероссийского уровня) • Балтийский научно-инженерный конкурс (СПб) – за 4 года 19 участников, 13 наград, 7-11 класс • Intel ISEF (Международный этап, США) – за 4 года 4 участника, 3 награды, 11 класс • Intel ISEF (Всероссийский этап) – за 3 года 7 участниов, 7 наград, 7-11 класс Сотрудничество с ВУЗами и НИИ РАН • МФТИ • «Старт в науку» (Физтех Мск) – за 2 года 5 участников, 5 наград, 8-11 класс • СПбГУ ИТМО • ВМК МГУ Динамика успеваемости по классам • Физфак МГУ 4.5 4.7 • Институт механики МГУ 4.2 • Институт Системного 4 программирования РАН 3.5 В ходе обучения не использовались меры «нерезультативных – выгоним». Показатель ухода составлял в среднем 0.5 чел., прихода 0.3 чел. за год. 7 8 9 10 11 Успеваемость Загруженность 27 Аналитический подход к довузовскому преподаванию программирования
  • 28. РЕЗУЛЬТАТЫ ОДНОГО ПРЕПОДАВАТЕЛЯ Количество проектов на «Ярмарке Идей» (проектный конкурс ЮЗАО г.Москвы) а ≤ 100% 15 а << 100% 11 а = 0% 5 5 4 2 2 2 0 0 0 0 2004 2005 2006 2007 2008 2009 ИКТ Не ИКТ Отн.нагрузка 28 Аналитический подход к довузовскому преподаванию программирования
  • 29. ЗАКЛЮЧЕНИЕ В целом, методика показала свою эффективность и «нетравматичность». Необходимые для нее условия: – Методика работает в полную силу только при сильной математике и физике. – Крайне желателен еще и английский язык. – Методика работает в полную силу только при непрерывном поддержании мотивации от всех участников образовательного процесса. – Она не может быть «слабым звеном», тогда она превратится в профанацию. Это опасно. – «Гениальности» для успехов у ребенка не требуется. Но с ней будет легче получать результаты. – Что требуется – работоспособность и коммуникабельность. К сожалению, эти качества трудно воспитываются в среднем и старшем школьном возрасте. – Для успеха требуется свободное владение курсом физики и математики в объеме физматшколы. Что дает методика – Минимально – отсутствие проблем с информатикой/программированием в физико- математическом ВУЗе. – Стандартно – умение программировать «для себя», с 1-2 курса ВУЗа успешно осваивать профильные занятия на 1-3 года вперед, часто опережая сокурсников. – Программа по информатике МФТИ, ВМК и мехмата МГУ по программированию во многом покрыта стандартным курсом 7-10 классов. – Максимально – посильной научной и наукоемкой производственной работой школьник может грамотно заняться начиная с 7-8 класса, с 10 класса быть приглашенным в учебно-научный или научно-производственный коллектив. – Это «социальный лифт», позволяющий ребенку быстро подняться профессионально. 29 Аналитический подход к довузовскому преподаванию программирования
  • 30. Спасибо за внимание Остальная информация на http://ded32.ru Благодарности акад. В.П. Иванников, ИСП РАН член-корр. РАН А.Л. Семенов, МИОО проф. Н.И.Яковлева, ДО ЮЗАО г. Москвы проф. А.А. Шананин, проф. И.Б.Петров, А.В. Гасников, Е.Г. Молчанов, МФТИ чл.-корр. РАО проф. В.Н. Васильев, проф. В.Г. Парфенов, проф. А.А. Шалыто и сотр., СПбГУ ИТМО А.С. Татаринов, nVidia Corporation

Hinweis der Redaktion

  1. Обучение методом отвергания (при неудачах профессиональной работы после ВУЗа) Школьное образование зачастую не влияет на профессиональный успех
  2. Это не образовательные оковы.