vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Вчера одна 15-летняя девушка, дочь моих хороших знакомых, с гордостью опубликовала в своём ЖЖ описание своих первых заработавших программ со школьных уроков по программированию.

Среди них была программа для подсчета суммы всех четных чисел меньших заданного.

Даже ежу (но не нашим школьным преподавателям информатики) понятно, что эта задача вообще-то решается по замкнутой формуле. Без всяких циклов. Гаусс, помнится, аналогичную задачу в третьем классе в уме решал, выведя указанную формулу самостоятельно. Современным школьникам, насколько я помню школьный курс алгебры, самостоятельно выводить формулу даже не надо. Надо только сообразить что эта задача решается по той формуле.

Соответственно, я запостил данной девушке коммент с подковыркой "Надеюсь эта программа не содержит циклов и скорость её не зависит от введенного числа?".

Совершенно неожиданно для меня отец и отчим этой девушки, взрослые люди, профессиональные программисты, один из которых имеет опыт руководства крупным проектом, а другой весьма уверенно растет в неплохого software architect в один голос стали высказываться на тему того, что я не по делу вмешиваюсь в учебный процесс, и вообще не рановато ли таким сложным вещам девочку учить (девочка на вид выглядит совершенно взрослой дамой, и на ролевых играх успешно играет весьма непростых взрослых персонажей, чья роль требует решения нетривиальных задач).

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

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

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

Удивительно не то, что этого не понимают замученные учениками и методистами школьные учителя. Удивительно то, что родители, которые вообще-то сами эти принципы знают и умеют ими пользоваться, не считают что в 15 лет им пора учить. Или не считают что им стоит учить на примере школьных заданий.
Page 2 of 4 << [1] [2] [3] [4] >>

Date: 2006-11-10 10:27 pm (UTC)
From: [identity profile] asphyx-lj.livejournal.com
А как, в таком случае, должна решаться такая задача?

Date: 2006-11-10 11:02 pm (UTC)
From: [identity profile] stefashka.livejournal.com
Раньше выходило, а теперь не может? Что-то не то.. Скорее, подход поменялся у людей - раньше они пытались решить задачи, а теперь они пытаются найти уже готовые решения...

Date: 2006-11-10 11:40 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
теоретик, блин.

Date: 2006-11-11 12:38 am (UTC)
From: [identity profile] http://users.livejournal.com/_glav_/
+1
также полезной особенностью использования "решения в лоб" для "точно решаемых" примеров является возможность проверить алгоритм на предмет ошибок.

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

Date: 2006-11-11 12:50 am (UTC)
From: [identity profile] illyn.livejournal.com
Предполагается понять, что в ряду

a, b, c, … x, y, z

где abc это 2 4 6, а xyz — последние чётные числа нашего ряда перед заданым числом:

a+z = b+y = c+x
и так далее. Число подобных пар, каждая из которых одинакова по сумме, равна
«исходное число» — 1 делить на 4 (нацело, доли не потребуются)

и получается, что надо просто посчитать что либо причём мгновенно и от величины введённого числа скорость получения результата меняться не будет по формуле:

2+z * "исходное число"-1 / 4
и всё

Date: 2006-11-11 12:55 am (UTC)
From: [identity profile] illyn.livejournal.com
Отчасти согласен, но пункт про десктопные БД мне кажется избыточным. Хотя и допустимым. Наверное.

Date: 2006-11-11 01:37 am (UTC)
From: [identity profile] asphyx-lj.livejournal.com
Мдя... Я явно плохо учился в школе :)

Re: чему учить

Date: 2006-11-11 04:47 am (UTC)
From: [identity profile] http://users.livejournal.com/_kleptos_/
компактность кода и простота немного разные вещи.

Date: 2006-11-11 06:52 am (UTC)
From: [identity profile] os80.livejournal.com
Убиться веником!

Date: 2006-11-11 06:57 am (UTC)
From: [identity profile] os80.livejournal.com
Да, нормальное естественное название (сам так называл в 11 классе).
Но ведь смешно, когда сначала идёт про важность хороших названий, а потом пишется неправильное название.

Насчёт кода: мог бы уж тогда до number все числа перебирать. А если экономить, то уж до округлённого корня из number.

Re: чему учить

Date: 2006-11-11 07:08 am (UTC)
From: [identity profile] taris_marh.livejournal.com
В режиме предельной краткости Perl становиться языком write-only :) - читать и отлаживать его почти невозможно.

Date: 2006-11-11 09:38 am (UTC)
From: [identity profile] jerom.livejournal.com
Это вывод, а школьник просто помнит сумму арифметической прогрессии (не может не помнить).

Date: 2006-11-11 11:27 am (UTC)
From: [identity profile] zhuk-s.livejournal.com
Ну, насчет не может не помнить, это Вы загнули :)

Date: 2006-11-11 11:43 am (UTC)
From: [identity profile] zhuk-s.livejournal.com
или тут что-то не то с синтаксисом, или формула неверна :)

PS
((n-1) div 2 + 1) * ((n-1) div 2)
где n - аргумент

Re: Об образовании

Date: 2006-11-11 11:53 am (UTC)
From: [identity profile] mrdim.livejournal.com
Ну хоть изделие номер 2 было ;)

Date: 2006-11-11 11:54 am (UTC)
From: [identity profile] tolkonevmoymozg.livejournal.com
Аналогичная проблема. :)

Date: 2006-11-11 02:14 pm (UTC)
From: [identity profile] slava-askeri.livejournal.com
Самое смешное даже не это.А разрез обсуждения вопроса.Есть формула,по ней легче вычислить.А откуда есть эта формула?Насколько я помню в школе нам давали эту формулу и доказывали ее методом мат.индукции.Хороший вывод не правда ли?А всего то надо нарисовать квадрат со сторонами N ,найти его площадь N**2 потом отнять диагональ -N и полученное поделить на два.(для арифметической прогрессии и все можно проделать просто в уме за 10 секунд и мне не надо вовсе помнить эту формулу).То есть я к тому ,что указанные проблемы уже давно существуют.И это обычная практика в преподавании.Ведь готовят в массе своей не мыслителей,а в лучшем случае исполнителей имеющих определенные навыки для работы в определенных областях преобладающих технологий.И не более того.

Date: 2006-11-11 03:40 pm (UTC)
From: [identity profile] alexander-mikh.livejournal.com
а это был перевод с японского на английский наверно. при переводе как известно смысл теряется.

Date: 2006-11-11 07:26 pm (UTC)
From: [identity profile] silly_sad.livejournal.com
это огромный ППКС !

тока я думаю что родители не очень то сами понимают математику и честно лоханулись а потом пытались оправдаться.

(знаем мы этих типа крутых архитектов из очень крутых контор - пользовались мы программами очень крутых контор... было дело)

Date: 2006-11-11 07:34 pm (UTC)
From: [identity profile] silly_sad.livejournal.com
вот и с вами согласен ! полностью !
(что за день вегодня ? :-) )

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

И кстати, очень кстати, вчера наткнулся на очередное упражнение по рекурсии: "вычислить факториал"
и хотел сделать опрос: "что надо сделать с учителем, который объясняет рекурсию на примере вычисления факториала"

Date: 2006-11-11 07:40 pm (UTC)
From: [identity profile] silly_sad.livejournal.com
вот теперь я чувствую что прав, когда считаю что моя главная работа происходит на бумаге карандашом, а код это так, просто офрмление резщультата работы - молодёжь не понимает? смеётся, "ГЫ програмист без компутера"

Date: 2006-11-12 08:14 am (UTC)
From: [identity profile] kdv2005.livejournal.com
Спасибо за поддержку :-)

Date: 2006-11-12 01:21 pm (UTC)
From: [identity profile] illyn.livejournal.com
Короче в целом: либо обосрался формулой, либо с написанием, но идею мы поняли — считать то что нужно, а не циклить позорно.

Date: 2006-11-12 01:22 pm (UTC)
From: [identity profile] illyn.livejournal.com
Называется — готовят тактический персонал. Не стратегический. Исключительно.

Date: 2006-11-12 01:24 pm (UTC)
From: [identity profile] illyn.livejournal.com
Что!? Где ребёнок встречаться с прогрессией, если это не позывной его подружки?
Page 2 of 4 << [1] [2] [3] [4] >>

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

July 2025

S M T W T F S
  12345
6789 1011 12
13141516 17 1819
20212223 242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2025 02:40 pm
Powered by Dreamwidth Studios