|
|
Автор: Крис Пайн
Издательство:
Год издания: 2005
Количество страниц: 96
Язык: русский
Формат: PDF
Размер: 0 Мб
Каталожный номер: 21777
|
Во-первых, я старался как можно больше разделять понятия так, чтобы учащемуся требовалось изучать каждый раз только одно понятие. Это было трудно сначала, но уж слишком легко после того, как я приобрёл некоторый опыт. Некоторые вещи
должны изучаться прежде других, но я был поражён, насколько мало в действительности имеется таких иерархических зависимостей. В конечном счёте, я просто выбирал порядок изложения и старался скомпоновать материал таким
образом, чтобы каждый новый раздел основывался на предыдущих.
Другой принцип, о котором я всё время помнил, — учить только одному способу делать что-либо. В этом очевидное преимущество учебника для тех, кто никогда не
программировал ранее. С одной стороны, один способ делать что-то легче выучить, чем два. Хотя, возможно, более важная выгода от этого состоит в том, что, чем меньшему числу приёмов вы учите начинающего программиста, тем более
изобретательным и сообразительным ему придётся быть в своих программах.
Поскольку основная деятельность в программировании связана с решением задач, критически важным становится поощрять это насколько возможно на каждом этапе разработки. Я постарался переводить понятия программирования на те понятия, которые уже есть у начинающего программиста, с целью представить идеи таким образом, чтобы нагрузка ложилась более на его интуицию, нежели на учебник. Объектно-ориентированное программирование подходит для этого весьма хорошо. Мне можно
было достаточно рано начать ссылаться в учебнике на объекты" и различные "типы объектов", невинно роняя такого рода фразы в подходящие моменты. Я не говорил что-либо подобное "всё в Ruby является объектами," или "числа и строки — это разновидности объектов", поскольку эти утверждения в действительности ничего не значат для начинающего программиста. Вместо этого я предпочёл говорить о строках (а не о "строковых объектах"), но иногда я упоминал "объекты", имея в виду просто "вот эти вещи в этих программах". А то, что все эти вещи в Ruby фактически являются объектами, позволило этим уловкам с моей стороны хорошо сработать.
Хотя я желал избежать ненужного объектно-ориентированного жаргона, я хотел быть уверенным, что если им в самом деле нужно было узнать какой-то термин, они выучат правильное слово. (Я не хотел, чтобы им пришлось учить его дважды, верно?) Вот почему я применял слово "строки", а не "текст". Методы тоже нужно было как-нибудь назвать, и я называл их "методы".
Что касается упражнений, думаю, что я приготовил несколько удачных, но их никогда не бывает слишком много. Если известно, могу поспорить, что я половину времени
провёл, просто пытаясь подобрать забавные и интересные упражнения. Скучные упражнения напрочь убивают всякое желание программировать, в то время как от безупречно подходящих упражнений появляется профессиональный зуд, перед
которым начинающий программист вряд ли сможет устоять. Короче говоря, невозможно потратить слишком много времени на подготовку хороших упражнений.
|
|