Информатика-21. Форум проекта |
Форум открыт по просьбам читателей сайта проекта для обсуждения Оберона/Компонентного
Паскаля/Блэкбокса как технологической платформы для современной общей системы преподавания программирования,
параллельной и дополняющей систему преподавания математики. Мнения за и против, вопросы как и почему, и т.п.
Характер форума предполагает максимальную корректность высказываний: модераторы удалят без предупреждения
любые сообщения с вульгарным или неуместным контентом, переходом на личности и т.п.
Всего в теме 1147 сообщений
Добавить свое сообщение
- Проект «Информатика—21»
- Обсуждение темы "Мысли об Обероне" на Королевстве
Уважаемые участники форума! Обращаем ваше внимание на тот факт, что данная
тема никоим образом не допускает offtopic и предполагает максимальную корректность высказываний:
модераторы удалят без предупреждения любые сообщения с вульгарным или неуместным контентом, переходом на личности и т.п.
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 377 08-07-2005 12:00 | |
>>>Так, что корректнее говорить "я могу научить
>>>программировать 25% учеников". Это довольно
>>>высокий показатель, так что, повторюсь, это не
>>>в коем случае не упрек. Просто такая
>>>постановка вопроса стимулирует поиск новых
>>>методик и приемов, а ссылки на способности
>>>учеников позволяют жить спокойно.
А у меня есть замечательный критерий :)).
Представьте себе модельную ситуацию. Два ученика и один преподаватель. Оба - на уровне 0 в смысле знания основ алгоритмизации и программирования. Впереди 4 года. Старт...
1 ученик: 2-2-2-3-3-4-3-4-3-4-4-4-5-4-4-5-5-5
2 ученик: 2-2-2-3-2-2-2-3-2-2-3-3-2-3-2-3-2-3
Финиш.
Смысл понятен? Конечно, методики, задачи и тд. и тп. Это все понятно. Но разница между этими двумя ребятами тоже понятна. Первый четко работает, от задачи к задаче наращивая и укрепляя свои способности. Второй - к концу первого года осваивает, что слово BEGIN пишется через букву I :))).
Это я к тому, что методики методиками, от препода очень много зависит и т.д. - никто с этим не спорит. Но... Все-таки есть что-то изначально данное, что позволяет одному полностью понять смысл оператора цикла за две недели работы, а у другого и через два года никакого понимания: как это так, написано на бумаге один раз, а выполняется несколько?
Скорее всего истина лежит посередине. Учить надо грамотно, но и "природные" способности человека, а может его "подготовка" в детском саду, тоже имеют значение. Кстати тоже критерий - если я человека за 3 месяца работы (!) не могу научить находить наибольшее значение числа в одномерном массиве, то я очень мягко и уважительно рекомендую ему попробовать себя в гуманитарной области :)). Хотя внутренне понимаю - может я что-то не так объяснил? :((. Но почему же тогда у его товарища эта задача занимает 5 минут в качестве разминки? Он ведь тоже по "моей" методике учился :).
№ 376 08-07-2005 11:34 | |
>>>Я про те базовые знания, которые надо
>>>попытаться дать всем.
Самый сложный вопрос :))). Что надо всем и что надо избранным. Мне кажется этот вопрос наше Минобразованияинауки никогда не решит :). Я помню в каком-то далеком году помогал дочке выпускнице школы решить несколько контрольно-выпускных задач по физике. Детали не помню, но в память врезалось: расчет дефекта массы атомного ядра и еще что-то с мю-мезонами или пи-мезонами. Но я точно помню, о чем я тогда думал: Господи, ну ведь все равно дочери, собравшейся на экономический факультет, никогда в жизни не повредит, если она не очень твердо усвоит, что такое дефект массы. Зачем это впихивать каждому, кто получает общее среднее образование и не собирается работать в области естествознания?
То же самое и с информатикой-программированием.
Где граница между общим и профессиональным?
Могу привести один почти шуточный пример. Как я проверяю алгоритмические способности в математических классах. На определенных задачах.
Есть такая знаменитая задача: Задача о ханойских башнях, автор: французский математик Люка. В общем монахи должны перекладывать диски с одной башни на другую с помощью третьей, больший диск нельзя класть на меньший. Единственное разумное решение - это рекурсивный алгоритм в три строки. Его можно написать на чем угодно, на Паскале, Обероне, СИ с тремя плюсами и т.д. Неважно! Но самое интересное не в этом. Понять его труднее, чем написать. Я когда-то в математической группе десятиклассников написал его на доске и показал, как он работает на компе. Так вот, хотите верьте, хотите нет, но большая часть времени ушла на то, чтобы понять, как алгоритм работает. "Дети" заставили подробно расписывать все рекурсивные вызовы, чтобы "реально" почувствовать, что именно происходит и как с помощью трех строк автоматически решается такая, на первый взгляд, "мудреная" проблема.
К чему я это говорю? К тому, что для меня граница между "общим" и "расширенным" образованием проходит где-то примерно здесь. Т.е. "математики" у меня обязаны "пройти" через "Ханойские башни", которые их "логические мозги" "прочищают" лучше любого Word'a с Excel'ем & etc. А вот в обыкновенном "среднем" образовании без этого, пожалуй, можно прожить. Там, дай бог, сортировку массива освоить. Хотя алгоритм Хоара - это опять рекурсия :)).
Ну, а в принципе, все зависит от отношения к программированию. Для меня - это не профессия для ученика, которую он может и не выбрать. Это часть прикладной математики. Никто же не спорит, что основы математики должны преподаваться даже "закоренелым гуманитариям". Почему же основы прикладной математики не имеют права на свою долю в общей культуре человека. Пусть ты никогда не будешь программистом, но понимать, что такое алгоритм не помешает. А как об этом рассказывать без конкретных задач. А где конкретные задачи, там и "конкретное" программирование. И круг замыкается :).
№ 375 08-07-2005 11:09 | |
Ответ на »сообщение 373« (S.A.)
___________________________
При всем уважении, хочу заметить, что подобная статистика очень сильно зависит от преподователя.
Я сталкивался с очень разными стилями преподования, которые оперались на разные способности учеников и, соответственно, давали различный процент "успешных" учеников. Если бы удалось провести чистый эксперимент и дать преподователям один и тот же класс, боюсь множества успешных учеников не сильно бы пересеклись.
Так, что корректнее говорить "я могу научить программировать 25% учеников". Это довольно высокий показатель, так что, повторюсь, это не в коем случае не упрек. Просто такая постановка вопроса стимулирует поиск новых методик и приемов, а ссылки на способности учеников позволяют жить спокойно.
№ 374 08-07-2005 10:59 | |
Ответ на »сообщение 372« (А.П.)
___________________________
Мы опять про разное :)
Я про те базовые знания, которые надо попытаться дать всем.
А те, кто интересуются, будут учится не 300 часов, а всю жизнь. За них я гораздо меньше беспокоюсь.
№ 373 08-07-2005 09:15 | |
>>>Вопрос к S.A.: какова примерно у вас доля
>>>учащихся, занимающихся в классах с углубленным
>>>изучением программирования
>>>(где ""напрограммируешься" на 100%")?
Сразу поясню - я привел среднестатистические данные. К сожалению, в любом учебном заведении действует Закон Природы: мы работаем не с теми, кого хотели бы видеть, а с тем контингентом, который есть в реальности :)). Поэтому есть "математические" классы, где 50 процентов "схватывают" все, что надо, а есть, где и 5 не наберется :(.
Но, тем не менее, у меня выведена почти "железная" статистика (личная, конечно, у других цифры могут отличаться в разную сторону).
Итак, для одной "среднестатистической" московской школы имеем.
Из общего набора на параллель:
1) Примерно 20-30 процентов имеют способности для обучения в классе экономико-математического или естественнонаучного профиля;
2) Из этой доли примерно 20-30 процентов имеют базовые способности к освоению теории и практики программирования в объеме минимальных вступительных требований профильных вузов (вычислительная математика, векторы-матрицы, строки, файлы);
Отсюда легко получить абсолютные цифры. Если набор в 10 классы составил, например, 80 человек, то нормально работать (без троек) в классах матпрофиля будут в среднем 20 человек, а программирование из этих 20 будут нормально "тянуть" не больше 6-7 человек.
Я специально проверял эту статистику на "малых" объемах - за 10 лет "закон" соблюдается с удивительной точностью: скажем если у меня в подгруппе 10-15 человек, то я уже заранее знаю: без проблем программировать будут примерно 3-5. Что самое "загадочное" от номера класса почти не зависит! У меня в этом году была подгруппа 8 маткласса. Всего 16 человек в группе. Итоги года: 4 человека закончили цикл по программированию на 5 баллов. У остальных, как всегда, от 2 до 4. Это 25 процентов - я мог бы спорить c коллегами в начале года на бутылку :).
Итак. В моей локальной области действует "статистический закон природы": из каждых 10 родившихся мальчиков-девочек в будущие "математики-программисты" можно отбирать 2-3 человека. Для остальных обычные "средние" требования :). Конечно, это шутка, но факты тоже вещь упрямая.
№ 372 08-07-2005 05:39 | |
Ответ на »сообщение 370« (Сергей Перовский)
___________________________
Ответ на »сообщение 369« (А.П.)
В школе никогда не найдется 300 часов на информатику.
По сведениям S.A. (пост №371) и моим прикидкам, в матклассах [у них] на информатику набирается за период с 5 по 11 класс даже больше, чем 300 часов, из которых бОльшая часть идет на программирование. Так что правы ли Вы?
Вопрос к S.A.: какова примерно у вас доля учащихся, занимающихся в классах с углубленным изучением программирования (где ""напрограммируешься" на 100%")?
№ 371 08-07-2005 02:55 | |
>>>Курс пользования компьютером имеет очень мало
>>>общего с курсом алгоритмизации.
Согласен! Единственный общий фундамент и там, и там - это развитие способностей к КОНСТРУКТИВНОМУ мышлению и к КОНСТРУКТИВНОЙ деятельности. Умение правильно построить последовательность процедур, ведущих к заданной цели - вот это объединяет и задачи программирования и чисто технологические задачи.
А в целом проблема уже решаема. Хочу напомнить, что обычная школа наша хоть и общеобразовательная, но уже давно "профилированная". У меня лично такая ситуация: классы есть математические, экономико-математические, гуманитарные и общеобразовательные. У всех есть ИНФОРМАТИКА и ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (два разных курса, с 1 или с 5 по 11 класс, 1-2 часа в неделю, у математиков 2-3 часа). Понятно, что распределение часов и учебных тем в математическом классе и в гуманитарном-общеобразовательном - это "две большие разницы". "Математики" и "экономисты" развивают свое алгоритмическое мышление в три раза интенсивнее, чем остальные. Зато у них "дизайна и графики" меньше.
А сейчас все идет к тому, что старшая школа (10-11) будет абсолютно профилированной - т.е. если уж попал в 10 маткласс, то "напрограммируешься" на 100% :).
№ 370 07-07-2005 10:36 | |
Ответ на »сообщение 369« (А.П.)
___________________________
Так стало понятнее, и вызывает гораздо меньше возражений :)
Разумеется компьютер - полезный и во многом необходимый инструмент преподования, особенно в информатике.
Я просто хочу еще раз подчеркнуть разницу между общеобразовательной школой и другими видами образования. В школе никогда не найдется 300 часов на информатику. Поэтому придется ограничиваться теми целями, которые могут быть достигнуты и которые имеет смысл ставить перед всеобщим образованием. Я бы вообще разделил курс информатики на отдельные части. Курс пользования компьютером имеет очень мало общего с курсом алгоритмизации.
№ 369 07-07-2005 07:49 | |
Ответ на »сообщение 368« (Сергей Перовский)
___________________________
Ответ на »сообщение 367« (А.П.)
___________________________
Профессиональных программистов школа выпускать не должна - это забота профессионального образования.
Я не о них, а о тех учащихся, которые будут физиками, химиками и другими НЕпрофессиональными программистами и которые уже в школе хотят многому научиться и пойти в вуз. В группах дополнительного образования (как наша школа "Лидер") они вроде бы получают то, что надо. Другое дело, что я конкретно недоволен этим уровнем и считаю, что его нужно и можно повышать, в том числе переходом на Компонентный Паскаль, тщательной отработкой учебных примеров на основе достижений классиков программирования, усвоением идей школы Н.Вирта, обновлением учебных пособий и т.д., и т.п.
Учить алгоритмизации нужно не только будущих программистов, но и будущих юристов, чиновников, менеджеров и т.д.
...На мой взгляд целью курса информатики должно быть развитие навыка создания и описания алгоритмов. Причем не только (может быть даже не столько) для компьютеров.
Полностью согласен. Но компьютер весьма хорош тем, что очень (!!!) быстро и тупо, прилежно и непредвзято выполняет то, что наваял начинающий алгоритмист. Учитель столько работ и так подробно и беспристрастно ну никак не может проверить. Да и к детям компьютер гораздо более лоялен, более доступен и т.п.
Изучение тонкостей какой либо "промышленной" системы программирования оставим для специального образования. Это потребуется только профессиональным программистам, а их не так уж много.
Смею утверждать, что: 1) без многих "тонкостей" алгоритмизации в курсе основ не обойтись, если мы хотим готовить профессионалов высокого класса (необязательно профессиональных программистов), а не хакеров, выросших из ПТУ;
2) обязательно необходимо учить тем "особенностям", которые следует считать общим местом для любой системы программирования, а еще точнее, тем, которые ДОЛЖНЫ БЫТЬ у каждой научно обоснованной системы программирования.
Прочитайте, пожалуйста, доклад Н.Вирта "Преподавание информатики: потерянная дорога" на сайте Информатика-21. Центральная мысль доклада - боль за негодно поставленное в массе преподавание информатики.
300 часовой курс необходим в профильном техникуме.
После техникума мы получаем в лучшем случае полуграмотных кодировщиков. Я же говорю о людях с полноценным высшим образованием, которые владеют не только своей специфической областью знания, но и научно выверенными алгоритмизацией и программированием, отработанными на самой совершенной из имеющихся на сегодня в мире системе программирования.
Своим ученикам я всегда говорю о том, что настоящего программиста (даже не профессионала, а прикладника) без высшего образования не бывает, даже после 300 часов добротного курса основ. Поэтому после группы "Лидер" вам дорога прямиком в вуз, пусть и не на факультеты информатики.
Надеюсь, теперь моя позиция стала понятнее :-)
№ 368 07-07-2005 05:19 | |
Ответ на »сообщение 367« (А.П.)
___________________________
Надо договорится о целях.
Чего мы хотим от общеобразовательной школы?
Профессиональных программистов школа выпускать не должна - это забота профессионального образования.
Грамотных пользователей компьютеров уже должна - это повсеместно необходимый навык.
А вот познакомить с алгоритмическим мышлением обязана!
Школа всегда демонстрировала продуктивность алгоритмического подхода, предлагая алгоритмы решения задач в самых разных курсах. Разработке алгоритмов учили в курсе геометрии - задачам на построение отводилось значительное место. Но это было неявное обучение - не объяснялись общие принципы, не вводилась терминология.
Учить алгоритмизации нужно не только будущих программистов, но и будущих юристов, чиновников, менеджеров и т.д.
Взгляните на любую современную инструкцию: это по смыслу алгоритм производства каких то работ, но сколько там обнаруживается тривиальных алгоритмических ошибок. Не все варианты ветвлений описаны, негарантируется завершение циклов и т.д. и т.п. И это главный упрек школьному образованию в области алгоритмизации.
На мой взгляд целью курса информатики должно быть развитие навыка создания и описания алгоритмов. Причем не только (может быть даже не столько) для компьютеров. Из этих соображений и нужно выбирать инструмент. Изучение тонкостей какой либо "промышленной" системы программирования оставим для специального образования. Это потребуется только профессиональным программистам, а их не так уж много.
300 часовой курс необходим в профильном техникуме.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|