понедельник, 11 мая 2009 г.

Русский в обучении программированию

В очередной раз решил проверить как поживает BlackBox. К сожалению он так и остаётся пока чисто виндовой программой :( Правда под WinE идёт более-менее чисто. Очень не хватает консольного компилятора - без этого невозможно применение BB в автоматизированых системах проверки (например для олимпиадных задач)
Появился интересный модуль - "Русский язык", позволяющий вести программирование на русском.
Учебная программа может теперь выглядеть примерно так:

(* пример намеренно содержит ошибки *)

МОДУЛЬ  урок;
   ПОДКЛЮЧИТЬ Ввод := i21ruВвод, Вывод := i21ruВывод;
   
   ПРОЦЕДУРА задача1;
      ПЕРЕМЕННЫЕ  ц: ЦЕЛАЯ;
   НАЧАЛО
      Ввод.Открыть;  УБЕДИТЬСЯ( Ввод.сделано )
      Ввод.Цел( ц );  УБЕДИТЬСЯ( Ввод.сделан );
      Вывод.Цел( ц );  Вывод.НовСтрока;
   КОНЕЦ задача1;
   
КОНЕЦ  урок.

Элегантное решение через подключаемый словарь ключевых слов, что позволяет использовать эту фичу для ЛЮБОГО языка (хоть на иврите пиши свою программу). Имеет право на жизнь, несмотря на некоторый скепсис по отношению к подобного рода изыскам.
Как правильно, на мой взгляд, было замечено в форуме что исходя из основной направленности BB на обучение его использование в школе можно представить следующим образом:
Полагаю, что можно алг-ю и пр-е разбить на 3 этапа примерно так:
1. 5-7 класс - пропедевтика: черепашка => пр-е на русском элементарных алгоритмов на подмножестве КП.(любой учитель информатики, учит 100% детей)
2. 7-9 класс - отход от черепашки к наработке навыков правильного решения типовых задач средней сложности, расширение кругозора и арсенала, плавный переход на англоязычный ББ.(подготовленный учитель, учит 40-60%)
3. 10-11 класс - освоение наиболее сложных разделов КП, разбор ряда классических алгоритмов, обширная практика решения сложных задач, реализация небольших программных проектов.(профи, не чурающийся преподавания, или очень подготовленный учитель учит 15-20% на факультативе)
В больших школах, где есть несколько учителей инф-ки, это реально, было бы желание руководства (что делать в небольших сельских школах - не знаю).
(с) А.П.
В результате получим основную массу учеников, изучивших основы алгоритмизации и  программирования на родном языке, и отдельных учеников, в голове которых нет каши из различных операторов увиденных ими в других программах.
Кстати, введение русскоязычной нотации позволит сгладить недостаточное (мягко говоря) владение многими учителями информатики англоязычной терминологией.
Ещё один интересный приём из форума - "Написание документации к программе". Как же не хватает этого умения у школьников-псевдопрограммистов.

9 комментариев:

  1. А имеет ли смысл добавлять русский язык в School Pak? Я имею в виду сам входной язык.

    Резидент такой попадался, не гарантирую, что он заработает, но всё же...

    ОтветитьУдалить
  2. Если это делается с помощью внешних навесок, то нет. А переводить операторы языка в самой программе не вижу смысла. Т.ч. наверное надо оставить TPascal в том виде в каком он есть.

    ЗЫЖ Всё чаще рекомендую FreePascal в качестве замены Turbo Pascal-я (благо мультиплатформенная вещь) или тот же BBox

    ОтветитьУдалить
  3. School Pak потенциально тоже кроссплатформенный, за счёт DOSBox. В планах сделать пакеты для Alt Linux и Ubuntu. Если удастся, то и для Mac OS X тоже.

    ОтветитьУдалить
  4. у freepascal нативная мультиплатформенность без промежуточных прослоек

    ОтветитьУдалить
  5. Псевдокод к любому языку программирования решает проблемы обучения алгоритмизации по ЕГЭ.

    ОтветитьУдалить
  6. Если говорить об обучении программированию лишь как средству для сдачи экзамена, то да - псевдокод рулит. А вот если мы говорим о воспитание тех программистов, которые потом смогут поднять программную индустрию, то псевдокод уже будет недостаточен. и в этом случае BlackBox с русскими операторами как раз и даст единый инструмент для разных категорий обучающихся.

    ОтветитьУдалить
  7. Профессионалы ведут разработки на Java и С++ в среде Eclipse, которая выдержала 5 миллионов установок.

    ОтветитьУдалить
  8. Для детей вполне подойдет Javascript с русскоязычным псевдокодом.

    ОтветитьУдалить
  9. Профессионалы они разные бывают - есть те кто пишет на FORT, LISP, Erlang и прочих языках. А уж по числу установок ни один Eclipse и рядом с vi не стоял.

    Javascript слишком специфичный язык чтобы на нём продолжать что-либо разрабатывать. После освоениня псевдокода, те кто хочет пойти дальше школьной программы, будут вынуждены изучать другой язык. В случае рассматриваемого здесь BlackBox-а (и вообще данной парадигмы) этого не надо будет делать, т.е нет потерь времени.

    ОтветитьУдалить