GrabDuck

Мы не написали книгу! Практический опыт создания учебного пособия по программированию

:

Идею написать эту заметку подарила статья «Мы написали книгу! Практический опыт издания книги о программировании». Как и тот автор, я начала писать в начале года и закончила к середине апреля, работала примерно в том же объеме. Но произведение немного иного толка — учебное пособие по языку программирования C.

До этого у меня уже был опыт написания учебных материалов по программированию и другому в виде курсов и циклов занятий, был опыт обучения подростков программированию. Курс, который я писала на этот раз, в первую очередь предназначался гражданам, начиная лет с 14-15, уже знакомых с азами программирования посредством других языков.

Потребность в таком пособии назрела к началу декабря прошедшего учебного года. Декабрь ушел на просмотр существующей литературы и пособий по языку C. Не смотря на то, что среди просмотренного были достойные произведения, ни одно из них не подходило. Например, известное издание K&R, которое часто рекомендуют, не подходит для начинающих. Другие издания либо были объемны, либо не давали объективных знаний. Мне же нужно было пособие, рассчитанное не более чем на 30 пар (60 академ.часов).

Первое, что требуется при написании курса — разработать примерный план и примерное содержание занятий. Это значит, надо обозначить в какой последовательности что изучается, что нового осваивается на каждом конкретном занятии. Для этого требуется где-то неделя.

Потом наступает время для последовательного написания каждого занятия. Обзор производительности:

  1. Для текущего занятия надо продумать (но еще не написать!) последовательность изложения материала, наглядные примеры для каждого нового понятия, уместные задания внутри и в конце занятия (час).
  2. Написание кода демонстрационных примеров. Часто при этом приходится от чего-то отказываться, что-то добавлять. Короче практика вносит свои коррективы в первоначально запланированное (в среднем пара часов).
  3. Потом работа над текстом и стилем изложения. Когда цель объяснить как можно доходчивее и проще, то приходится задумываться над каждым предложением. Чтобы написать такого текста на одну страницу A4, у меня уходило не менее часа. А объем исключительно текста каждого занятия в среднем чуть менее трех страниц.
  4. Проверка заданий, входящих в занятие, оценка их на требуемое время для выполнения обучающимися (где-то час).
  5. Если в занятии должны быть картинки (скриншоты, схемы), то еще в среднем час.

Итак, чтобы создать около 4-х страниц мне надо было 7-9 часов! Если всего занятий 23, то получается, что я потратила времени исключительно на написание занятий где-то 160—210 часов, что примерно в 1.5 раза больше, чем автор вышеуказанной статьи (там 120 часов), причем объем текста там видимо больше. Честно говоря, я всегда считала, что пишу очень медленно. Но разница всего в 1.5 раза обнадеживает и говорит, что почти нормально. Если учитывать и все остальное (изучение литературы, общее планирование, размещение занятий на сайте), то можно сказать, что создание и «публикация» этого курса мне обошлась часов в 250-300, т.е. 7.5 (300/40) полноценных трудовых недель.

Конечно, я понимаю, что если бы знала предмет изначально досконально и имела большой опыт программирования на C, то пособие писалось бы раза в два быстрее.

Меня удивило, что автор той статьи мог писать всего час в день. У меня часто час уходил, чтобы просто «раскачаться и въехать в тему». Наверно особенности темперамента. Так что если я садилась за работу, то часа на 2-3. Один час в день — не имело смысла.

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

Хотелось бы еще отметить по поводу перфекционизма, замеченного автором той статьи. Да, несмотря на его привлекательность с точки зрения создания качественного до мелочей продуманного «продукта», он может мешать видеть целое и распределять во времени свои умственные ресурсы. Желание перфекционизма возникало в тот момент, когда я начинала очень хорошо осознавать описываемый предмет, видеть каждую мелочь. Этот перфекционизм дает легкую эйфорию и хочется сделать еще лучше. Видимо тоже самое бывает у людей занимающихся спортом, танцами и т.п., когда они описывают радость от того, что чувствуют каждый мускул и контролируют каждое движение. Но в какой-то момент ловишь себя на мысли: «пошла шизофрения».

Автор той статьи написал книгу, которая так или иначе популяризирует Windows, а, следовательно, книга выгодней Microsoft, чем автору (он и пишет, что гонорар крошечный). Ну не знаю, если вы очень молоды и хотите в первую очередь проявить и зарекомендовать себя, может быть оно и к лучшему. Я это уже прошла, так что меня в данном случае задушила бы жаба.

Свою писанину я обычно выкладываю на сайте. Но чтобы он не упал, pdf-версия курса с Яндекса.