Хочу высказать свои мысли по поводу вопросов, поднятых Сергеем Прохоренко. Если какие-то мысли Сергея сформулировал не точно, прошу поправить, поскольку сразу читал страницы 2-5, в голове отложилось общее впечатление - в деталях могу ошибиться.
- Задачи на массивы, - мало готовят для реальных творческих задач и т. п. Простой инструмент (без всяких полезных средств, облегчающих ввод и т. п.) - для начинающего сложность, для обучения - минус.Сергей, мне кажется, что преподаванием программирования Вы профессионально не занимались. Прошу меня заранее извинить, если я ошибся, и Ваши высказывания основаны на конкретном опыте - в этом случае было бы интересно, чтобы Вы более подробно пояснили свое мнение и поделились конкретным опытом. Иначе это равносильно тому, что, например, Вы никогда не работали в Access, а нам рассказываете как там работать.
Я тоже самоучка, осваивал "программирование" либо методом тыка, либо по убогим книгам. Ко всяким паскалям и учебным задачкам у меня было пренебрежительное отношение. Многие вещи стал переосмысливать после 3 лет преподавания, и теперь я жалею, что не было учителя, который мне давал бы такие задачки и учил правильно программировать (а точнее - составлять алгоритмы). Это сэкономило бы для меня уйму времени. Что такое инвариант цикла узнал в прошлом году (хотя слово это мне попадалось лет 8 назад).
Вот мое мнение сейчас:
Когда речь идет об обучении программированию - она идет прежде всего об обучению составлению алгоритмов. Все внимание должно быть сфокусировано именно на алгоритме, как последовательности действий, которую учащийся должен составить от начала до конца и при этом понимать и осмысливать каждый шаг. Лишь после этого он может приступить к записи алгоритма - и тут не важно как его писать - полностью от руками, при помощи кнопок или шаблонов. Это уже детали. Можно даже вообще работать без компьютера - с ручкой и бумагой - а исполнять записанный алгоритм будет сам учащийся.
Однако, сейчас, поскольку компьютеры есть везде и работают обычно сразу с ними - получается параллельное освоение учащимся и навыка "составления алгоритмов" и навыка "использования какого-либо инструмента". Поскольку первый навык является целью обучения, сложность освоения второго должна стремиться к минимуму (чтобы акцентировать внимание на первом, не сбивать с него внимание, не создавать дополнительных трудностей и т. д.) - что достигается при наиболее простом инструменте.
Если дать учащемуся тот инструмент, который предлагаете Вы, - да он его по-любому освоит, с ним он будет записывать алгоритм быстрее, - но 100% внимание сместится на освоение инструмента - и драгоценное время будет потеряно - тем больше, чем сложнее-удобнее наш инструмент.
- Построитель в Access удобен.Это субъективное мнение. Кому то он удобен, кому то нет.
Про себя скажу: первое мое впечатление при изучении Access - я был просто в шоке от количества элементов управления, обилия кнопок и проч. Считаю также, что лучше бы меня в университете обучили основам теории баз данных и основам SQL, нежели обучали тыканью кнопок в вызыванию визардов в Access - при этом про базы данных я не получил никакого представления. Сейчас, когда я знаком с SQL, в Access для меня удобнее писать SQL запрос, нежели ковырять кнопки в построителе.
Построители и всякие кнопки полезны при изучении самого инструмента.Тут я считаю не стоит забывать психологию. При обучении надо учитывать тип мышления обучаемого. Насколько я помню курс возрастной психологии (точность не гарантирую), с подросткового возраста 11-13 лет начинает формироваться абстрактно-логическое мышление, когда человек мыслит словами, фразами языка. До этого мышление основано на образах предметов и т. п.
Если мы будем обучать малого ребенка работе в Access - вопрос только зачем ему это, то кнопочки и всякие построители тут на руку - он видит с чем работает. Чтобы получить то то и то то - он должен нажать кнопку с той или иной картинкой...
Если же речь идет о взрослых людях, студентах (котрых надо научить учиться, мыслить) - обучение их тыканью кнопок - сведение их до уровня малых детей, которое ничего хорошего в развитии не даст, мыслить не научит и будет вести к отупению. На примере того же Access - основы теории БД, основы языка SQL - человек может решать свои задачи и мыслить при помощи языка. После уже можно показать, как запись на языке (для тех кто медленно набирает) можно ускорить при помощи всяких кнопок и диалогов.
Несомненно, что последний подход труднее в освоении. Однако, вспомним - "Математику уже затем учить надо, что она ум в порядок приводит." А математика тоже наука абстрактная и не простая в изучении. А надо ее учить или не надо - да просто сравним средний уровень образованности наших людей и, скажем, американцев. Надо учить математике всех или не надо - когда взрослый человек не может сложить "половину с третью" и не знает, "сколько будет стоить 1 метр чего-то, если 100 стоит 7 долларов"? Надо учить физике или не надо - когда засудили бедную компанию по производству фенов, которая не написала в руководстве, что нельзя использовать фен под душем; или другую компанию, которая не написала, что кошек в микроволновке сушить нельзя? Если америкосы в своем большинстве такие дэбилы и им это нравится, так это их дело, и очень прискорбно, что люди, особенно чиновники от образования, начинаю перенимать методы и программы обучения. Уже сейчас все ВУЗы жалуются, что уровень поступающих сильно упал. Будем идти дальше в этом направлении - и нам ничего не останется, как стать тем сырьевым придатком запада, который они из нас усиленно пытаются сделать.
Надо идти по пути максимальной интеграцииНасчет максимальной интеграции - особенно с MS и их стандартами - тут лучше почитать статью бывшего работника MS. Ссылку на нее приводили или на этом форуме или на форуме
http://forum.phys-math.ru - возможно подскажет Борис Рюмшин. Смысл статьи такой - MS плодит всякие технологии - которые играют роль заградительного огня по конкурентам. И те, кто пытается все это поддерживать, просто изнемогают, тратя кучу времени на изучение новинок от MS и прикручивания их поддержки к своим продуктам, в то время как MS идет своим путем дальше.
Резюме:
- Всякие рюшечки и прочие вспомогательности - это маркетинговый шаг. На него разумно идти специально, если только есть свободные ресурсы, которые не задейстованы в более важных местах.
- Никакой интеграции нам не надо. Нужен независимый качественный передовой продукт, который будет удовлетворять наши потребности. Если интеграция и понадобиться - то это опять же маркетинговый шаг, и делаться она должна поверх независимой основы - насколько получится.