О том чему учить
Nov. 10th, 2006 01:40 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вчера одна 15-летняя девушка, дочь моих хороших знакомых, с гордостью опубликовала в своём ЖЖ описание своих первых заработавших программ со школьных уроков по программированию.
Среди них была программа для подсчета суммы всех четных чисел меньших заданного.
Даже ежу (но не нашим школьным преподавателям информатики) понятно, что эта задача вообще-то решается по замкнутой формуле. Без всяких циклов. Гаусс, помнится, аналогичную задачу в третьем классе в уме решал, выведя указанную формулу самостоятельно. Современным школьникам, насколько я помню школьный курс алгебры, самостоятельно выводить формулу даже не надо. Надо только сообразить что эта задача решается по той формуле.
Соответственно, я запостил данной девушке коммент с подковыркой "Надеюсь эта программа не содержит циклов и скорость её не зависит от введенного числа?".
Совершенно неожиданно для меня отец и отчим этой девушки, взрослые люди, профессиональные программисты, один из которых имеет опыт руководства крупным проектом, а другой весьма уверенно растет в неплохого software architect в один голос стали высказываться на тему того, что я не по делу вмешиваюсь в учебный процесс, и вообще не рановато ли таким сложным вещам девочку учить (девочка на вид выглядит совершенно взрослой дамой, и на ролевых играх успешно играет весьма непростых взрослых персонажей, чья роль требует решения нетривиальных задач).
А ведь по хорошему счету, тот навык на который я намекнул в своей подковырке, существенно важнее, чем знание конкретного языка программирования, и даже императивного программирования вообще. И учить в школе надо именно ему, а не конкретике, используя конкретику только для иллюстрации применения метода.
Возможно, девушке никогда в жизни не придется писать программы. Но почти наверняка ей придется работать на компьютере с текстами, или с табличными данными. Нынче это даже для ведения личных финансов необходимо.
Поэтому понимание того, что привлечение знаний из соседней предметной области может превратить длинную и нудную работу (не важно выполняешь ты её руками и мышью, или у тебя программа по циклу бегает) в одномоментную операцию, в жизни пригодится всегда. Кстати, аналогия между длительной ручной работой, и программой считающей что-либо в лоб - тоже не бессмысленное знание.
Удивительно не то, что этого не понимают замученные учениками и методистами школьные учителя. Удивительно то, что родители, которые вообще-то сами эти принципы знают и умеют ими пользоваться, не считают что в 15 лет им пора учить. Или не считают что им стоит учить на примере школьных заданий.
Среди них была программа для подсчета суммы всех четных чисел меньших заданного.
Даже ежу (но не нашим школьным преподавателям информатики) понятно, что эта задача вообще-то решается по замкнутой формуле. Без всяких циклов. Гаусс, помнится, аналогичную задачу в третьем классе в уме решал, выведя указанную формулу самостоятельно. Современным школьникам, насколько я помню школьный курс алгебры, самостоятельно выводить формулу даже не надо. Надо только сообразить что эта задача решается по той формуле.
Соответственно, я запостил данной девушке коммент с подковыркой "Надеюсь эта программа не содержит циклов и скорость её не зависит от введенного числа?".
Совершенно неожиданно для меня отец и отчим этой девушки, взрослые люди, профессиональные программисты, один из которых имеет опыт руководства крупным проектом, а другой весьма уверенно растет в неплохого software architect в один голос стали высказываться на тему того, что я не по делу вмешиваюсь в учебный процесс, и вообще не рановато ли таким сложным вещам девочку учить (девочка на вид выглядит совершенно взрослой дамой, и на ролевых играх успешно играет весьма непростых взрослых персонажей, чья роль требует решения нетривиальных задач).
А ведь по хорошему счету, тот навык на который я намекнул в своей подковырке, существенно важнее, чем знание конкретного языка программирования, и даже императивного программирования вообще. И учить в школе надо именно ему, а не конкретике, используя конкретику только для иллюстрации применения метода.
Возможно, девушке никогда в жизни не придется писать программы. Но почти наверняка ей придется работать на компьютере с текстами, или с табличными данными. Нынче это даже для ведения личных финансов необходимо.
Поэтому понимание того, что привлечение знаний из соседней предметной области может превратить длинную и нудную работу (не важно выполняешь ты её руками и мышью, или у тебя программа по циклу бегает) в одномоментную операцию, в жизни пригодится всегда. Кстати, аналогия между длительной ручной работой, и программой считающей что-либо в лоб - тоже не бессмысленное знание.
Удивительно не то, что этого не понимают замученные учениками и методистами школьные учителя. Удивительно то, что родители, которые вообще-то сами эти принципы знают и умеют ими пользоваться, не считают что в 15 лет им пора учить. Или не считают что им стоит учить на примере школьных заданий.
no subject
Date: 2006-11-10 01:49 pm (UTC)no subject
Date: 2006-11-10 02:13 pm (UTC)По следующим пунктам:
1. Работа в текстовом процессоре это в первую очередь не писание текста, а его оформление. Основы верстки. Верстка, особенно стилевая - это именно что работа с информацией, и место ей не в курсе русского языка, а в курсе информатики. Эта область деятельности с распространением компьютеров превратилась из узкопрофессиональной в массовую, и учить ей в школе надо.
2. Кроме текстовых процессоров и математических пакетов бывают электронные таблицы. Учить пользоваться ими, причем не только как инструментом для оформления, но и инструментом для организации данных и инструментом для вычислений - тоже надо. Сейчас люди этого в массе своей не умеют, в результате непроизводительно расходуют многие часы и дни. С математическими пакетами 90% учеников дела иметь не будут никогда, а вот с личными финансами - придется всем.
3. Нужно давать представление о том, чем отличается организация табличных данных для восприятия человеком, от организации для машинной обработки. Представление о том, что дублирование - источник трудноуловимых ошибок. Здесь уже спредшитом не обойдешься, нужно давать десктопные БД вроде MS Access или OpenOffice base.
4. Необходимо давать представление о работе с графикой, аудио- и видеоинформацией. Отличия векторной графики от растровой - фундаментальны. Это не техническая особенность реализации, это разные способы моделирования реальных и абстрактных объектов в компьютере. Понимание что такое сжатие с потерями, а что такое - без потерь - тоже достаточно фундаментальная концепция. Причем имеющая практический выход ещё до окончания школы - при возне с любимой музыкой и фотографиями любимой кошки. В школьной программе сейчас не предусмотрено курса, куда бы вписывалась фотография и видеосъемка как практическая деятельность. Да и аудиозапись к урокам музыки имеет весьма опосредованное отношение.
5. Что касается программирования, то та база которую я изложил в данном посте, необходима вообще в жизни.
no subject
Date: 2006-11-10 02:37 pm (UTC)здрасте приехали. на уроке русского языка тебя не учили красным строкам, абзацам, ценрированию заголовков, оформлению цитат и эпиграфов?
no subject
Date: 2006-11-10 02:52 pm (UTC)При рукописной работе отцентрировать заголовок НЕВОЗМОЖНО.
no subject
Date: 2006-11-10 03:56 pm (UTC)no subject
Date: 2006-11-10 11:40 pm (UTC)no subject
Date: 2006-11-13 02:11 am (UTC)Или +- сантиметр считаем за "отцентрировано"?
no subject
Date: 2006-11-13 06:41 am (UTC)no subject
Date: 2006-11-10 05:32 pm (UTC)это к вопросу о грамотном использовании стилей
no subject
Date: 2006-11-11 12:55 am (UTC)no subject
Date: 2006-11-12 05:25 pm (UTC)То есть показать, каким образом нужно эффективно хранить свои данные - избыточно?
Я вот вспоминаю, какой ужас наблюдается в компутере типичного виндовозника-юзера, и понимаю, что desktop database с полнотекстовым поиском вместо завалов c:\notes\temp\temp\1.txt был бы куда удобнее.
no subject
Date: 2006-11-12 07:36 pm (UTC)Меня вообще-то вообще информатике в школе не учили. Программированию учили - вместо УПК (было в свое время в советских школах такое понятие в 9-10 классе - обучение некой рабочей или около того профессии). Но это не значит что в наше время этому учить не надо.
no subject
Date: 2006-11-16 02:41 pm (UTC)Текстовые файлы хороши ровно тем, что пока жив сам файл - пусть всё остальное (включая любой код) обваливается, информация останется _тривиально_ доступной, причём на любом компьютере вне зависимости от платформы.
Ровно поэтому у меня записная книжка и живёт в текстовом файле, а не в БД. Причём кодировка там 1251, потому что линух заставить её прочесть тривиально, а винду прочесть кои - чуть-чуть сложнее.
Re: Reply to your comment...
Date: 2006-11-16 03:07 pm (UTC)2. Бэкапы рулят.
Re: Reply to your comment...
Date: 2006-11-16 03:56 pm (UTC)2. Бэкап не поможет прочесть database на совсем друггой машине, которую я не контролирую.
Re: Reply to your comment...
Date: 2006-11-16 04:02 pm (UTC)Re: Reply to your comment...
Date: 2006-11-16 04:15 pm (UTC)Разница в скорости поиска для меня несущественна. grep и его интерактивные аналоги рулят.
Re: Reply to your comment...
Date: 2006-11-16 04:16 pm (UTC)