|
July 27th, 2020
09:17 pm Где-то здесь в комментах к верхнему посту (или какому-то другому, найти сейчас не могу) tiphareth зашёл разговор об обучении программированию детей в школе (а именно в 57), и там обнаружилось, по словам tiphareth, что перед программированием на паскале был ещё как минимум какой-то диалект лиспа, которому их учил Шень. Я же почему-то думал, что книга, составленная, по-видимому, по мотивам этих уроков, предназначена(?) для введения в программирование вообще и паскаль как первый язык программирования в частности. В книге говорится о том, что программирование само по себе, независимо от конкретного языка и каких-то важных и полезных алгоритмов и структур данных, представляет собой отдельный предмет, о котором и пойдёт речь в книге. Я написал на lj Шеню в комментах к какому-то из постов (но он там не ответид) --- в чём же состояли те занятия с использованием лиспа, и нет ли каких-нибудь сохранившихся записей с тех времён об этом.
Меня этот вопрос занимает, потому что близится уже очередной учебный год, в котором, если коронавирус не повлияет достаточно серьёзно на образовательный процесс, будет переделываться программа по информатике для школьников 7--9 класса по всему району. Изменения эти вызваны тем, что на базе нескольких школ в прошлом году были открыты ``Центры образования цифрового и гуманитарного профилей «Точка роста»'' --- что-то вроде таких кружков по информатике (и не только) с использованием всякого оборудования типа квадрокоптеров (курс программирования квадрокоптеров) и VR хедсета (программирование для VR/AR). А т. к. информатики у этих детей час в неделю, причём весь 7 класс заполнен бессодержательной болтовнёй типа ``что такое информация'' и ``роль информации в современном обществе'', то знают они --- по моему опыту --- только основы синтаксиса паскаля, решать же более-менее содержательные задачи они не умеют. Программирование (почти всегда на паскале) начинается классе в 8, а иногда и в 9. Перед программированием говорятся какие-то слова про ``алгоритмизацию'' и рисуются блок-схемы. Было решено в связи с этим как-то так отредактировать программу, чтобы они были подготовлены к занятиям в этих центрах доп. образования.
Ещё один вопрос --- с какого возраста и в каком формате можно обучать детей программированию. Есть такая штука как Scratch, и считается, что это можно давать класса уже с пятого как минимум, а может, и в начальной школе. Но какой эффект это обучение окажет на детей в дальнейшем? Про вред бейсика и фортрана я слышал много, а о скретче или, более общо, об императивных языках --- ничего или совсем мало. Про то, что хорошо бы начинать с SICP и лиспа, и о представлении себе программы как функции, а не как последовательности инструкций речь заходила, насколько я знаю, только в контексте университетского обучения. Про школы, где рассказывают про лисп (и начинают знакомство с программированием вообще) я слышал только здесь от Мишы, которого этому учил Шень.
Интересно было бы от кого-нибудь (особенно от непосредственно причастных к процессу) послушать рассуждения на эти темы.
|
Comments:
Вот тут описывается программа в 57 (начала 2000-х) http://shura.luberetsky.ru/2011/09/23/kak-ya-uchilsya-v-shkole/ Нельзя не упомянуть и “информатику“. Под этим словом понимается так много, что надо расшифровывать, что же изучалось в школе. А программа у нас была неплохой. В девятом классе изучались “Робот” – некое подобие языка Logo, нам на примере шагающего по клеткам робота объясняли такие мудрые вещи, как “инвариант цикла”, RL – диалект Лиспа, ЕМНИП, и Scheme – не тот, что в SICP, а особый пятидесятисемитский язык моделирования схем из функциональных элементов (”VHDL для детей”). Все это описано в книжечке “Программирование: вводный курс“. В десятом классе – Паскаль и основные алгоритмы. Представление о том, что мы должны были делать, можно получить из книги “Программирование: теоремы и задачи“. К сожалению, никто так и не объяснил, почему содержимое первой книжечки намного ценнее всех знаний о Паскале. А в конце 10 класса нас ждал “проект” по программированию – необходимо было самостоятельно написать довольно большую программу. Я делал “еще один” интерпретатор языка Робота из первой книжечки, одноклассники – разные вещи – от тренажера игры в шашки (игравшего довольно сильно, Давидович обыграть его не смог) до всякой ерунды типа крестиков-ноликов на поле 15×15. За две недели я “изучил” в достаточном объеме C и WinAPI и соорудил довольно неплохую, как мне казалось, программу. Впрочем, шашки на OpenGL были намного, намного круче. В 11 классе информатика была только в расписании, вместо нее мы занимались “вступительной математикой”.
Все эти предметы изучаются в таком объеме только в матклассах. В обычных и “гуманитарных” классах (которые мало от них отличаются, разве что набор происходит в 9 класс) математика и физика недалеко ушли от хорошей “обычной” школы.
>RL – диалект Лиспа
вот оно, название было короткое и с буквой R, это я запомнил. если не ты, то кто-то другой его упоминал, видимо
и это же, судя по написанному, на класс раньше паскаля
угу, у моих детей оно было
из личного опыта: скрач отлично осваивается во 2-3 классе; сделан, на мой взгляд, очень грамотно, вкл. понятный параллельный процессинг, семафоры, сообщения, все дела. функциональную парадигму через него, при желании, наверное можно дать, но будет синтаксически через жопу (с оверхедом непонятно зачем), и во 2-3 классе, подозреваю -- дико скучно. для не состоящих в секте лиспо-фундаменталистов, скрач -- отличная детская тема. после него, в те же 10 лет, питон идёт ок, бо понятно о чём он.
>для не состоящих в секте лиспо-фундаменталистов
я лично знаком с людьми, которые про Haskell, Agda, Idris, теорию категорий, HoTT любят разговаривать. но вот интересно, зачем в 57 был лисп, причём до паскаля. Шеня, думаю, сложно заподозрить в таком сектанстве.
Шень ответил. Язык управления роботом, простой функциональный язык и язык логических схемы были даны для того, чтобы посмотреть на разнообразие ``ветвей'' программирвания. Конкретно RL --- из-за простоты синтаксиса.
ку: "зачем в 57" -- увы, без понятия, от фольклора этого далёк. если про 57 ещё слышал по публичным проявлениям выпускников (впечатления очень комичные), то что такое шень -- в ум не возьму. ку: "любят разговаривать" -- я сам был некогда поговорить огого. но с годами всё больше как-то так -- https://xkcd.com/224/лисп и хаскел, конечно, знать полезно, но скорее как умственный, чем практический инструментарий. а сектанты -- это у кого мантры про "испортить бейсиком".
Это какая-то неправильная секта, так как scratch никакого отношения к функциональной парадигме не имеет. Для обучения детей я бы использовал книгу little schemer. Не стоит портить детям мозг паскалем и бейсиков всяким. |
|