ailev.ru

Обсуждение

В архиве: 11 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 3 декабря 2011

Комментарий

По поводу дошкольной алгоритмики: только что наткнулся на восхитительный фрагмент из книги "Coders at Work", рассказывает Брэд Фицпатрик: This was one of my first programs—it was something like K equals grab the next char. Then I said if K equals “a”, print “a”; if K is “b”, print “b”. I pretty much did every letter, number, and some punctuation. Then at one point I was like, “Wait, I could just say, ‘Print the variable!’” and I replaced 40 lines of code with one. I was like, “Holy shit, that was awesome!” That was some major abstraction for a six-year-old.

Имя не сохранено · 3 декабря 2011

Комментарий

> "программировать раньше, чем читать!" Слоган мне нравится :) Вот только, ребенок, научившись в младшей школе беглому чтению, пользуется навыком чтения для освоения иных навыков. Мало кто еще лет семь-восемь в скорочтении соревнуется :) А вот ребенок, которого научили программировать в младшей школе, часто, обречен и в средней, и в старшей школе копать навязшую в зубах тему все глубже и глубже. Трех-четырех лет в средней школе достаточно, чтоб среди прочей информатики прилично выучить алгоритмические конструкции, типы данных, освоить джентльменский набор сортировок, перестановок и рекурсивных переборов с возвратом. Понятно, когда ученик участвует в олимпиадном движении и находит, что программирование это его хлеб в будущем, надо копать глубже. Для остальных же навык программирования должен превратиться в привычное подспорье в чем-то ином востребованном. Но этого не происходит, другие учебные курсы не опираются на умение детишек программировать. Моим увлеченным программированием старшеклассникам полюбились Питон и С#. Реже выбирают Джаваскрипт и Джаву. Если позволить выбирать язык тем, кто увлечен иными предметами, большинство выберет старый добрый Паскаль. Младшеклассники находят восхитительным Scratch, старшеклассники находят его прикольной безделицей и здорово удивляются, когда их младшие братишки и сестренки в пятом классе начинают шустро писать на нем программки из джентльменского набора, а в шестом полновесных Вормсов и Пакмэнов. Еще там есть классные средства работы со звуком и возможность легко программировать настоящих роботов Lego WeDo. Я еще не встречал ни одного ребенка, самостоятельно выбравшего Кумир. Он нисколько не наглядный, чудовищно медленный, там кривая работа с файлами и параметрами подпрограмм, нет динамических переменных (кроме локальных в случае рекурсии). Я иногда пользуюсь им на доске вместо псевдокода, когда язык реализации выбирают сами ученики и мне не хочется давать подсказки совсем слабеньким программистам.

Анатолий Левенчук · 3 декабря 2011

Комментарий

Я совершенно с вами согласен: месяц на ПиктоМир с ЛайтБотом, еще полгода на КуМир с его Ершолом -- и можно дальше заняться интересненьким (я вот думаю, что с Нового Года дитенок у меня на полгодика займется соревнованиями роботов, http://robosport.ru/msr/ -- надеюсь, что это будет для него более интересным, чем "нарисованная алгоритмика"). Про сравнение Ершола и остальных языков я бы мог поспорить: за более чем 20 лет с момента появления Ершола, конечно, многое в учебном языкостроении произошло (и продолжает происходить: например, новый подход к тайловым языкам от vpri.org, который они заявили совсем недавно), но подход этот еще вполне рабочий. Конечно, сам КуМир в его нынешней версии ужасен, но я знаю, что пишется КуМир 2.0 -- и вот он обещает быть уже получше. Кратенько перечислю достоинства Ершола: -- это всё-таки игрушечный учебный язык, что быстрее осваивается -- он сам по себе минимален именно для алгоритмики, остальное добирается исполнителями, которые вводятся явно (сравните со Scratch, например: там собственно алгоритмика размазывается с геометрией, управлением цветами и прочими подобными штуками) -- он русскоязычен (а это существенно коррелирует со скоростью начального освоения: на эту тему было много экспериментов в разных странах мира, да и у нас) -- он текстовый (хотя тут можно сильно спорить, не нужно ли таки сделать его тайловым) -- он прямо ассоциируется с "задачным методом" образования (а не "проектным" или каким другим) В моей концепции обучения алгоритмике как раз три ступеньки: пиктографический язык ПиктоМира, Ершол, а затем сразу "взрослый язык". А дальше -- выход в реальный мир (робототехника), и моделирование данных (ибо алгоритмика -- это еще не вся информатика).

Ответ на комментарий

Имя не сохранено · 6 декабря 2011

Комментарий

> дошкольная алгоритмика Как вы считаете, не испортит ли молодые головы функциональное программирование? Есть мнение, что очень даже наоборот — императивное испортит ;-)

Анатолий Левенчук · 7 декабря 2011

Комментарий

На всякий случай: а вы функциональные планы мероприятий видели? Можно ли использовать опыт функционального программирования для обучения деток планированию и работе со временем, или таки лучше это делать в процедурной парадигме?

Ответ на комментарий

Имя не сохранено · 7 декабря 2011

Комментарий

Сам по себе план — это структура данных. И к функциональности перпендикулярна. А вот исполнение плана, пожалуй, во многих контекстах проще считать императивным. Тем не менее, не вижу особой сложности объяснить и функционально. Очень приблизительно, это передача результата по сети. Вполне так сочетается с конструктивизмом, который вполне сочетается с интуиционизмом, который вполне сочетается с функциональщиной. Естественно, страшные слова произносить при объяснениях необязательно ;-)

Ответ на комментарий

Анатолий Левенчук · 7 декабря 2011

Комментарий

Я бы вам рекомендовал рассуждать не только по-программистски, но и соотноситься с терминологией и реалиями жизни. Но даже и в программистком рассуждении любая программа -- это структура данных, если мы говорим об архитектуре фон Неймана. В этом-то и фишка, что программы и пишутся (как данные), и исполняются (как программы), и психопрактики тут довольно разные. А насчет "объяснения функционально" -- объясните это пятилетним и шестилетним детям. Когда поймут, возвращайтесь -- и обсудим ваш позитивный опыт. Можете не использовать при объяснениях страшные слова, но детей возьмите сразу несколько (чтобы не считать, что для одного дитенка получилось случайно) -- главное, чтобы возраст был подходящий.

Ответ на комментарий

Имя не сохранено · 8 декабря 2011

Комментарий

Структуры в архитектуре фон Неймана очень неудобны для описаний чего либо. И в пример ставить нельзя. Объяснял, но не совсем детям (5-6 класс), и с рекурсией возникли сложности. Детей было несколько. Но систематически, у меня не было возможности объяснять. Может быть, что и вышло бы. А основа объяснения простая — как конструктор ты собираешь. Обязательно попробую ещё. Но тут тоже нужен специальный язык, без него малореально это объяснять 5-6-летним детям!

Ответ на комментарий

Анатолий Левенчук · 8 декабря 2011

Комментарий

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

Ответ на комментарий

Имя не сохранено · 8 декабря 2011

Комментарий

Для начала, будет весьма нелишним посмотреть эти языки, о которых вы писали. А язык категорный я разрабатываю. Очень хорошо сочетается с моноидальными диаграммами, правда, в упрощённом виде. И позволяет выразить как "сборку из частей", так и логические взаимоотношения. Но думаю, думаю... В упрощённом виде, может быть, будем скоро проект делать, где это используется... Я задумывался о том, насколько это возможно детям представить. Но во-первых, я никогда не имел опыта преподавания детям младше 5-6 класса, во-вторых, там и без этого проблем много и часть прагматики, относящуюся к преподаванию детям, я пока отложил.

Ответ на комментарий