Архив метки: психолог

Классы и объекты ООП. Или что творится в голове у программиста?

Особенности мышления программиста. Как устроено мышление программиста, пишущего на объектно-ориентированных языках программирования. Аналогии между концепцией объектно-ориентированного программирования и концепцией эйдосов Платона. Объекты и классы, вещи и эйдосы. О мирах, в которых живут программисты. Экспериментальное исследование мышления студентов программистов, которым давали задания до изучения языков программирования (Java, PHP, C++) Сравнение мышления программистов и непрограммистов. Логическая задача, при помощи которой в ребенке можно выявить  способности к программированию. Какие акцентуации характера свойственны программистам? Кто может стать программистом и кто не может.

 

Недопсихология с еще одним психологом. Привет друзья.

В особенности те, кто занимается каким либо программированием.

И те, у кого среди родственников есть программисты.

А также подруги и жены программистов.

И мужьям программистов тоже привет.

Кажется, со всеми поздоровался.

Как вы уже поняли из названия, в этом видео мы будем говорить об особенностях мышления и мировосприятия людей, которые занимаются программированием. Ох, прямо чувствую этот вопросительный взгляд. Мол, да что тут говорить. Какие там особенности? Ну не от реальности сей. Ну, залипают за компом днями и ночами. Смотрят в эти разноцветные строки из английских букв, слов, чисел и знаков. Ну, говорят на каком-то сленге. Живут в своем непостижимом для стороннего наблюдателя мире.

Однако, вглядитесь пристальнее и внимательнее в пространство между светящимся монитором и светящимися глазами программиста. Что вы видите!? Грязную, затертую, залитую чаем и пивом клавиатуру? Полысевшую от активного жмакания мышь? Вглядитесь еще внимательнее!

Ладно! Не пугайте человека. Не отвлекайте от решения важных задач. Да и Ницше предупреждал: «Если долго всматриваться в бездну, она начинает всматриваться в вас».

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

Приступим! В качестве опоры возьмем теорию, которая появилась за две с половиной тысячи лет до создания компьютеров.

Человек за монитором говорит: «Глубоко копает»

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

Алан Кэй: «Эй, а как же Я — Алан Кэй! Что за ересь!? При чем здесь Платон!?»

Сейчас расскажу об этой модели, потом мы сравним ее с парадигмой объектно-ориентированного программирования и все встанет на свои места.

Итак, Платон активно работал с таким понятием как «эйдос», которое, конечно, древние греки юзали и до него, но как-то неглубоко, поверхностно. Буквально «эйдос» переводится с греческого как вид или образ. Это собственно и была воспринимаемая форма. Платон вложил в это понятие более глубокий смысл. Для него эйдос стал идеей.

Платон: «Молодец сынок, хоть кто-то обо мне вспомнил»

Представьте себе некий образец, чертеж, схему, модель, идею согласно которой, к примеру, конструктор создает какой-то новый объект. Или множество объектов. Все они являются воплощением этого образца или эйдоса. Итак, есть некий идеальный, абсолютный образец, который воплощается в отдельных, конкретных вещах. Если Вы, к примеру, смастерили самостоятельно какую нибудь вещицу. Вы воплотили идею этой вещи, ее эйдос в материальном плане.

Платон: «Ох уж эти потомки, все упрощают и уплощают»

Понятное  дело, что эту идею вы либо придумали, либо получили от других людей. «Ох уж предок» пошел дальше. Он утверждал, что существует некий идеальный мир идей или эйдосов. И все конкретные похожие между собой вещи, существующие в нашей реальности – это воплощение идей из этого мира идей. Ну, с артефактами — рукотворными предметами, все понятно. Все эти идеи живут в коллективном бессознательном. А вот все остальное…

Платон: «Ну, сынок, не стесняйся обобщать. И все объекты живой и неживой природы тоже»

Ну, с объектами живой природы соглашусь. Каждый конкретный организм – воплощение идеи, заложенной в геноме. Выходит, генофонд биосферы земли – тоже своеобразный мир идей?

Платон: «Да, да! Для всего видимого есть эйдосы. И у эйдосов тоже есть идея. Одни эйдосы включают в себя другие эйдосы. Это и есть иерархия»

А знаете, эта мысль нам еще пригодится. Давайте теперь вернемся к объектно-ориентированному программированию. Когда программист пишет код, он оперирует конкретными объектами. У них, как и у конкретной вещи есть структура, свойства, функции. Эти объекты между собой взаимодействуют, обмениваются сообщениями. Меняют свои состояния. Проявляют определенное поведение. Программа – это тоже объект, который включает в себя все остальные объекты. Так все и работает.

И вот, самое интересное. Каждый объект является воплощением некоторого первообраза или идеи или эйдоса. В ООП такой первообраз называется КЛАСС. Итак, каждый объект программы является экземпляром класса. Точно так же, как каждая конкретная вещь является воплощением эйдоса. Все просто. У Платона: Вещи – воплощение эйдосов. У Алана Кэя: Объекты – экземпляры классов.

Алан Кэй: «Да, Да! И все классы объединены в иерархию. Одни классы включают в себя другие классы. Это все одна большая семья классов потомков с общим предком – базовым классом.

Психолог смотрит скептически в камеру: Вот сейчас у меня такое чувство, что Вы уже не удерживаете нить повествования. Похоже, надо разбавить этот густой крепкий концентрат какой ни будь водичкой! Так будет вкуснее.

Ок. Давайте обобщим и поговорим о внутреннем мире программиста в гуманитарном ключе. Это же все-таки «недопсихология с еще одним психологом» и негоже здесь сложные конструкции строить.

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

Программист это человек, который живет как минимум в двух мирах. И тот второй, идеальный мир классов и объектов настолько сложен и разнообразен, что не уступает этому миру в своей реалистичности и привлекательности. Сразу замечу, для людей с определенным характером.

В этом втором мире программист Демиург. Силой мысли, воли и слова может создавать из ничего из пустоты новые объекты – экземпляры по образу и подобию идей – классов. Из этих объектов он конструирует программы. Улавливаете всю важность и глобальность процесса. В этом, программист подобен Богу. Помните это торжественное: «Вначале было Слово…»?

Так стоп, пора останавливаться, а то видос про программистов превратится обзор пятой матрицы или какую ни будь проповедь.

Ну как? Стало понятнее? Прояснилось? Не очень? Согласен, в гуманитарном ключе душа программиста тоже потемки. Давайте вернемся к статистике и моделям.

Поговорим наконец-то о мышлении и личности программиста.

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

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

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

Проиллюстрировать это можно примером из возрастной психологии.

Проведем простой эксперимент, о котором писал еще Жан Пиаже. Будем задавать школьникам в возрасте 10 лет контрфактный силлогизм и попросим дать ответ. К примеру:

Все кошки лают         (большая посылка)

Булочка – это кошка (меньшая посылка)

Лают ли булочки?

И вот тут опять начинается деление на группы.

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

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

Давайте теперь поговорим о чертах характера, которые позволяют легче абстрагировать мешающие смыслы.

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

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

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

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

Думаю, что для того, чтобы общаться с машиной на ее языке, надо самому отчасти стать машиной. И чем дальше зайдет этот процесс, тем лучше будет программист. Но суть человека в том, что он не машина… Улавливаете силлогизм?

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

Дети. Тесты. Логика, обучаемость, уровень развития

Привет друзья. В особенности те, у кого в наличии есть маленькие дети в возрасте 5, 6, 7 лет. В этом видео мы узнаем, чем отличаются педагогическая запущенность и задержка психического развития. Это знание будет вам полезно даже в том случае, если с вашим ребенком все ок.
Начнем с небольшой, но очень остросюжетной истории со счастливым концом.
В одном шахтерском поселке жил маленький мальчик по имени Петя. Мама его очень любила и папа тоже очень любил. Но играть с ним не было у них никакой возможности. Папа ушел воевать за свободу и светлое будущее. А у мамы и так проблем хватало. То окна осколками побьет, то снайпер козу подстрелит, то похороны. Детского садика и школы в поселке после очередного минометного обстрела совсем не стало. Никто с Петей не играл и никто его ничему не учил. Только радио, когда удавалось добыть электричество, рассказывало о том, что с обеих сторон воюют плохие дяди.
Когда пришло время идти в школу, мама перевезла Петю в город, где они стали жить в приюте для переселенцев из зоны боевых действий. Там было пыльно, мама постоянно ссорилась с какими-то тетками на кухне и плакала по ночам, потому что от папы не было никаких новостей. Ведь, он оказался по ту сторону фронта. А Петя по эту.
Наконец, мама нашла место в садике, и отвела Петю в подготовительную группу. Самые светлые надежды и мечты грели сердце. Мама сказала, что теперь он будет рисовать, играть с другими детьми в разные интересные игры, учиться новому и станет умным мальчиком.
Поначалу Петя очень старался. Пытался рисовать, но получалось что-то страшное. Пытался играть, но дети как-то холодно относились к нему и не делились игрушками. На первых занятиях Петя старательно сидел и рассматривал воспитательницу и других детей. И совершенно ничего не понимал. Не мог сосредоточиться на предмете.
Однажды ему стало настолько скучно, а за окном была такая хорошая погода, что он встал и пошел прогуляться под чистым мирным небом и поискать бычков возле соседней курилки. Когда воспитательница попыталась его остановить, он послал ее на хер и начал драться. Вызвали заведующую. Воспитательница рассказала ей о том как Петя бьет других детей, показывает им свой писюн и даже писает в раздевалке. Заведующая пыталась ласково договориться, но Петя спустил штаны и тоже показал ей писюн, сопровождая сей акт плохими словами. Вызвали маму и стали предлагать ей перевести Петю в специальный интернат, ссылаясь на задержку психического развития и невозможность дальше продолжать обучение в группе с нормальными детьми. Мама плакала и пыталась доказать, что Петя очень умный мальчик. Но администрация была непреклонна.
Тогда мама потребовала в Гороно психолога. Пришла еще одна тетя. Она дала Пете карточки с разноцветными фигурками и попросила Петю разложить карточки в разные стопки. И о чудо, он сделал это очень быстро. Хотя даже не знал, как называются цвета и фигуры. Тетя сказала, что Петя действительно умный мальчик и всему бардаку виной педагогическая запущенность и психические травмы. Сказала, что если он вырастет хулиганом и гопником, а не талантливым инженером, то в этом будут виноваты не только война, но и родители с воспитателями.

Теория
Конечно, обыденности не все так заострено и выражено, но всеже бывают моменты, когда надо проверить у ребенка уровень развития психических функций. В этом видео мы научимся пользоваться методикой, которая позволяет изучать способность ребенка совершать такие логические операции как абстрагирование и обобщение, а также способность к логическому переносу. Также эта методика определяет способность к обучению новым знаниям, умениям и навыкам.
Для того чтобы понять как это работает нам надо разобраться, что такое обучение. В отечественной психологии по этому поводу придумали очень хорошую модель. Итак! Прошу любить и жаловать!
Маленький кружочек – это зона актуального развития. Это те задачи, который ребенок может решить самостоятельно.
Большой круг – это и есть зона ближайшего развития или сокращенно ЗБР. Это задачи, которые ребенок еще не в состоянии решить самостоятельно, но его психика уже оснащена всеми необходимыми для этого функциями. Надо лишь немного подсказать, помочь, подтолкнуть и вуаля! Все решено. Это те задачи, которые ребенок готов решить при помощи взрослого.
Так, собственно и происходит обучение, с помощью учителя ребенок преодолевает зону ближайшего развития и она становится для него зоной актуального развития.
С этим все понятно. Теперь расскажу о методике:
Это набор из карточек с фигурами разных цветов, форм и размеров. Ребенок в возрасте 5-6-7 лет еще не способен к классификации этих карточек по цвету, форме и размеру. Но он уже готов к тому, чтобы его этому научили. В психологии этот тест называется обучающим экспериментом. Собственно это и сделала психолог из Гороно в нашей истории. Она давала Пете подсказки и наблюдала за тем, как быстро Петя овладевает классификацией по цвету, форме и размеру. Когда она убедилась, что с развитием функций все в порядке, сообщила, что весь бардак – результат педагогической запущенности. Ребенком просто никто не занимался. У него не было базы для освоения новых навыков. Вот и получили хулигана и негативиста.
Итак, вот они: две колоды карточек по 24 штуки. В первом наборе присутствуют четыре фигуры трех цветов: круг, треугольник, квадрат и ромб. Видно, что фигуры разных размеров.

 

psychodiagnostika_1_2Во втором наборе часть фигур заменяется на пятиугольники.

psychodiagnostika_2
Еще должен быть листок с изображением всех карточек, но думаю, можно обойтись и без него. Итак все просто. Даем ребенку первый набор и предлагаем разложить карточки в несколько стопок. Следим за познавательным интересом, за ориентировочной активностью. Терпеливо ждем. И нихрена у него толкового не получается. Начинаем давать подсказки. Дозировано, через интервалы времни, необходимые для ориентировки. Сначала это просто намеки. Какого цвета карточки? Чем похожи вот эти две карточки. Куда надо положить эту карточку.
Когда сортировка по цвету закончена, можно начинать работать с формой. Что это за фигура? Сколько у нее углов? Чем похожи эти карточки? Куда положим и так далее.
И наконец, учимся сортировать по размеру.
Не забываем, что надо лишь немного помогать, намекать. И не показывать открыто что именно нужно сделать.
Когда все уже идет как по маслу и карточки разлетаются по стопкам по любому признаку.
Усугубляем задачу. Заменяем часть карточек из колоды на другие.

Вот те карточки которые надо убрать.

psychodiagnostika_1_2_2
И вот те, которые надо добавить.

psychodiagnostika_2_2
И теперь мы можем оценить способность ребенка к логическому переносу. Насколько он способен применять метод решения одной задачи к другим задачам.
В итоге делаем выводы, насколько быстро ваш ребенок обучается.
Итак, уровень вашего ребенка вырос всего за каких-то пятнадцать минут на очень крупную величину! Он закрепил новые логические операции (абстрагирование и обобщение) и способность к логическому переносу. При этом он получил квалификацию «сортировщик». Можете смело доверять ему подходящую домашнюю работу. Разделять перемешанные предметы, к примеру. Это же круто!
Вообще методика серьезная и результат этого исследования рассчитывается по формуле, в которую входят оценки количества помощи, скорость ориентировки и способность к логическому переносу. Если интересно узнать подробнее, ссылка на полное описание методики находится под видео.