Личный кабинет

Объектно-ориентированное программирование для школьников

Как учить школьников объектно-ориентированному программированию
Виталий Потопахин ( Пользователь )
Цитата (Олег Деревенец, 07.01.2011, 00:17) <{POST_SNAPBACK}>
Охотникам до научной казуистики это уточнение будет интересно. Но я в своем микро-экскурсе сознательно избегал малозначащих деталей.

Спасибо, я передам хуторянам, им будет приятно. :rolleyes:


Хуторянам передайте, пусть людям будем приятно. Только еще передайте, что мое уточнение не научная казуистика. Понятие модуля и понятие объекта не дополняют друг друга. Это довольно-таки различные решения проблемы организации большого проекта.
Олег Деревенец ( Пользователь )
Цитата (Потопахин Виталий, 07.01.2011, 03:36) <{POST_SNAPBACK}>
Понятие модуля и понятие объекта не дополняют друг друга. Это довольно-таки различные решения проблемы организации большого проекта.

Точно так и хуторяне мои думают! И я не спорю с ними :-)
Федор Ткачев ( Пользователь )
Цитата (Олег Деревенец, 07.01.2011, 00:17) <{POST_SNAPBACK}>
Первобытный –> рабовладельческий -> феодальный –> капиталистический строй. Историческая данность, что тут доказывать?

На всякий случай. Уже Маркс не смог запихнуть в эту схему "азиатский способ производства".

Так что ...
Сергей Кондрашов ( Пользователь )
Несколько лет назад я познакомился с серией учебников по информатике для младших классов и, хотя я не преподаю в начальной школе, учебники меня заинтересовали, так как в простой образной форме повествовали о достаточно сложных понятиях (не называя напрямую данные понятия): там были представлены и диаграммы Эйлера-Венна и элементы логики и объекты... Автор данных книг по информатике - Горячев А. В.
Когда в школе изучают принципы организации баз данных, то по сути уже исследуются модели, описывающие объект (свойства объекта, выраженные составом кортежа),- до объектного программирования дидактически - рукой подать: отличие объекта, описываемого языком ООП в том, что он способен быть наделен поведением и взаимодействовать с другими объектами окружения, что в определенной мере помогает проектировать информационные модели реального мира.

ООП в схеме: ссылка
Станислав Михалкович ( Пользователь )
Цитата (Сергей Кондрашов, 25.01.2011, 21:29) <{POST_SNAPBACK}>
до объектного программирования дидактически - рукой подать

Да, абсолютно верное наблюдение.
Только в школьных учебниках это как правило описывается сложно и до программирования не доходит - так, слова общие.
Виталий Потопахин ( Пользователь )
Цитата (Сергей Кондрашов, 25.01.2011, 21:29) <{POST_SNAPBACK}>
- до объектного программирования дидактически - рукой подать: отличие объекта, описываемого языком ООП в том, что он способен быть наделен поведением и взаимодействовать с другими объектами окружения, что в определенной мере помогает проектировать информационные модели реального мира.


Дело в том, что ООП это не способ строить модель реального мира. Это программисткая технология позволяющая более эффективно организовать взамодействие коллектива разработчиков, возможно разделенных во времени и в пространстве. А раз так, то есть смысл преподавать её именно как программисткую технологию, что в школе невозможно. До реально работающих программ вы с нормальным классом за имеющееся количество часов не дойдете. Зачем нужно чисто идейное изложение я как-то не понимаю. Повторюсь, идейное изложение без привязки к какой-то программисткой практике было бы понятно, если бы ООП действительно было способ моделирования чего-то глобального, но полагаю, что эту функцию ООП навесили искусственно в состоянии восторга. Людям свойственно обобщать и выводить на глубокий (или высокий) философский уровень все придуманное. Но я не думаю, что это правильно. Кстати такие вещи обычная практика. Например пифагорейцы на понятие числа навешивали мистику космического масштаба. Продолжать примеры не буду их довольно много. Моя идея здесь такая. Есть некоторое понятие. Его для чего-то придумали изначально. Вот этот изначальный смысл скорее всего и есть самый верный, если у кого-то есть желание навесить дополнительный смысл, то всегда надо себя спросить, а не есть ли это мудрствование на пустом месте.
Дмитрий Колосов ( Пользователь )
Цитата (Сергей Кондрашов, 25.01.2011, 23:29) <{POST_SNAPBACK}>
Когда в школе изучают принципы организации баз данных, то по сути уже исследуются модели, описывающие объект (свойства объекта, выраженные составом кортежа),- до объектного программирования дидактически - рукой подать


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

Кроме того, не очень понятно куда в этой схеме пристроить нормализацию?

И, вероятно не самое последнее, виды мыслительной деятельности при ООА для школьника посильны?


P.S.
Очень качественные материалы для начальной школы Александра Владимировича Горячева используются и нами в темах "Моделирование и формализация" и "ООП".

P.P.S.
Model Vision Studium (MVS) – компьютерная лаборатория для моделирования и исследования сложных динамических систем.
Есть информация о применении в преподавании ООП?




Цитата (Потопахин Виталий, 26.01.2011, 00:50) <{POST_SNAPBACK}>
Дело в том, что ООП это не способ строить модель реального мира. Это программисткая технология позволяющая более эффективно организовать взамодействие коллектива разработчиков, возможно разделенных во времени и в пространстве. А раз так, то есть смысл преподавать её именно как программисткую технологию, что в школе невозможно. До реально работающих программ вы с нормальным классом за имеющееся количество часов не дойдете. Зачем нужно чисто идейное изложение я как-то не понимаю. Повторюсь, идейное изложение без привязки к какой-то программисткой практике было бы понятно, если бы ООП действительно было способ моделирования чего-то глобального, но полагаю, что эту функцию ООП навесили искусственно в состоянии восторга. Людям свойственно обобщать и выводить на глубокий (или высокий) философский уровень все придуманное. Но я не думаю, что это правильно. Кстати такие вещи обычная практика. Например пифагорейцы на понятие числа навешивали мистику космического масштаба. Продолжать примеры не буду их довольно много. Моя идея здесь такая. Есть некоторое понятие. Его для чего-то придумали изначально. Вот этот изначальный смысл скорее всего и есть самый верный, если у кого-то есть желание навесить дополнительный смысл, то всегда надо себя спросить, а не есть ли это мудрствование на пустом месте.


Виталий Валерьевич опередил.
Присоединяюсь.
Станислав Михалкович ( Пользователь )
Цитата (Потопахин Виталий, 25.01.2011, 22:50) <{POST_SNAPBACK}>
Дело в том, что ООП это не способ строить модель реального мира.

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

И обобщать, что это нигде не используется, и что это не нужно - не надо.
Виталий Потопахин ( Пользователь )
Цитата (Михалкович Станислав, 26.01.2011, 12:35) <{POST_SNAPBACK}>
Ни в коем случае не присоединяюсь. Боюсь, в этом - корень наших разногласий. ООП - это всего лишь программирование, которое отражает свойства реального мира состоять из объектов, классов объектов, которые находятся во взаимосвязи.

И обобщать, что это нигде не используется, и что это не нужно - не надо.


Да в общем-то вы как раз присоединились. "ООП - это всего лишь программирование". Правда дальше вы уточняете, что оно отражает свойство реального мира. Тут, вы слишком упрощаете реальный мир, вряд ли его можно моделировать чем-то похожим на класс ООП. Кроме того программирование применяется в общем-то банально для нужд придуманных человеком. Мир промышленных задач придуманных людьми пожалуй можно представить как некоторый набор классов, но это не мир вообще. И еще скажите пожалуйста зачем в школе изучать проблемы промышленного программирования.
Сергей Кондрашов ( Пользователь )
Цитата (Потопахин Виталий, 25.01.2011, 22:50) <{POST_SNAPBACK}>
Дело в том, что ООП это не способ строить модель реального мира.
...
Повторюсь, идейное изложение без привязки к какой-то программисткой практике было бы понятно, если бы ООП действительно было способ моделирования чего-то глобального, но полагаю, что эту функцию ООП навесили искусственно в состоянии восторга.


Любой язык естественный или искуственный (в том числе язык схем, диаграмм, формул, программирования) может использоваться и используется для описания и информационного моделирования объектов реального мира. Если же речь идет о языках и методах программирования, то исползование методов объектного моделирования и программирования для организации взаимодейтвия элементов многокомпонентных систем более естественно. Те, кому приходилось заниматься программированием имитационных систем, полагаю, поймут мою мысль.
Примеры моделей объектов реального мира и описания некоторых принципов их разраработки:
http://en.wikipedia.org/wiki/Physics_engine
http://www.gamedev.ru/code/terms/Architecture
http://ru.wikipedia.org/wiki/Celestia"...g/wiki/Celestia
http://www.stellarium.org/"]http://www.stellarium.org/
http://ru.wikipedia.org/wiki/Second_life&q...iki/Second_Life

Цитата (Потопахин Виталий, 25.01.2011, 22:50) <{POST_SNAPBACK}>
Это программисткая технология позволяющая более эффективно организовать взамодействие коллектива разработчиков, возможно разделенных во времени и в пространстве.

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

Цитата (Потопахин Виталий, 25.01.2011, 22:50) <{POST_SNAPBACK}>
... Людям свойственно обобщать и выводить на глубокий (или высокий) философский уровень все придуманное. Но я не думаю, что это правильно. Кстати такие вещи обычная практика. Например, пифагорейцы на понятие числа навешивали мистику космического масштаба....


Рекомендую почитать (и постараться понять) книги А.Ф. Лосева, например: Лосев А.Ф. Хаос и структура / Тахо-Годи А.А. и Троицкий В.П. (сост. и ред.). М.: Мысль; 1997. 831 с., 1 л. портр. Указ. имен: с. 828-829. (ф. 84х108/32, тир. 5000 экз., тв. пер.) ISBN 5-244-00858-7 (возможно, ваше мнение изменится).

Цитата (Дмитрий Колосов, 25.01.2011, 23:11) <{POST_SNAPBACK}>
P.P.S.
Model Vision Studium (MVS) – компьютерная лаборатория для моделирования и исследования сложных динамических систем.


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

footer logo © Образ–Центр, 2019. 12+