Всего лишь наблюдения...
От: Fastwit  
Дата: 28.12.04 05:12
Оценка: 10 (3) +2
Доброго времени суток!

Вот закончился год и пора делать выводы и отчеты...

Предисловие:


Вообщем, мне доверили вести факультатив по ООП + C++/С#. Я браться за это не хотел, т.к. считаю себя не достаточно компетентным для этого, но предложили хорошую денежную компенсацию.

Группа получилась... странной — 70% девушек и 30% юношей (1 и 2 курса института), при этом, девушки хорошо ориентировались в Turbo Pascal (на уровне школьных задачек), а юноши в HTML и самые продвинутые в "PHP минус ООП". Предстояло много веселья...

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

Сначала я хотел обучить их какому-нибудь UML'ю, прежде чем вдаваться в синтаксис и заморочки. Сам UML не подошел, т.к. сам в нем еще не до конца сам разобрался (точнее, вообще не разбирался ), поэтому решил, как обычно — по старинке, изобрести свой двухколесный механизм, в котором просто существует образы (читаем, графическое представление) некоторых сущностей и образы связей между ними (в отличие от UML, не унифицированные, а просто общие для большинства русских студентов). В результате получилась достаточно серьезная по объему коллекция образов (которые вводились по мере надобности), но студенты с легкостью решали с ее помощью сложные задачки (хоть и не ACM, но серьезные). Надо добавить, что все это они делали на бумаге!

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

Вывод №1:
Человек может запомнить практически неограниченное количество информации, но разбитой на специальным (читаем, удобным) образом сформированные пакеты (блоки) определенного размера, так ли это?

Потом мы перещли к заморочкам отдельных языков (на этом этапе добавились Delphi и Java — начитались в интернете всякой дряни ). Ни кому не составило труда перейти с языка образов на выбранный язык, но единство коллектива на этом кончилось — разгорелись священные войны! Слушая все эти бесконечные споры я постоянно испытывал ощущение, что где-то это уже слышал...

Вывод №2:
Похоже, что дело только в синтаксисе и удобочитаемости, т.е. в субъективных понятиях, так ли?

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

Вывод №3:

Все священные войны построены вокруг того, что два (допустим) человека, ведущих спор, работающие на разном оборудование решают разные задачи на разных языках пытаются навязать "свой устав" другим. Аргументация приводимая обеими сторонами с ссылками на теорию, переходит в выдергивание слов из контекста и иногда на личности, т.к. теория лишь находит отражение в реальных языках. Кроме того, человеку присущи поиски "волшебной палочки", щуки, рыбки (нужное подчеркнуть) и каждый стремиться найти язык, который был бы заточен под "анатомию" каждого программиста. Т.е. священные войны — ни что иное как, те самые крестовые походы для обращения в правильную веру "неверных"?


PS:
Некоторые студенты решили заняться free/share-ware и на добровольной основе перешли под мое руководство. Но я сделал глупость, познакомив их с профильными форумами в Интернете. Все эти священные войны очень сильно влияют на неокрепшие умы новоиспеченных программистов, поэтому мне бы хотелось выработать способ "поднятия уверенности в себе у программистов-новичков" и метод "отделения зерен от плевел".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.