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

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

Как учить школьников объектно-ориентированному программированию
Сергей Кондрашов ( Пользователь )
Возможно, не совсем по теме данного форума: http://www.leasttern.com/Tech/programming.html
/Некоторые ссылки "битые", но по названию продукта в Google найти можно действующие./ (Просто, для ознакомления...)
Дмитрий Изергин ( Пользователь )
1. Охватываются не все компоненты парадигмы, а некоторые.

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

Какие - предлагается обсудить - на примере какой-нибудь реализации. Навскидку - использование инкапсуляции без защиты доступа. И самое примитивное проектирование типа CRC-карточек. Это - мой опыт.


Сделать это можно но разумно ли на начальном этапе - привязать проблему (не разобравшись даже в ее сущности) к конкретной реализации?

2. Ориентация - на школьников, которые собираются поступать по специальности (предлагаю это не формализовывать или формализовать так - в те ВУЗы, куда сдается информатика)


Это очень хорошо :

а. Позволяет использовать ЯВУ (не сурдозаменители типа скратча, и специализированных программных комплексов).

б. Использовать ГОТОВЫЕ упрощенные модели (алгебра, геометрия , физика) с минимальными затратами.




3. Ориентация - на учителей выше среднего (все здесь присутствующие и некоторые остальные :)

Понятно...


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

А вот это напрасно - степень пригодности конкретного ЯВУ применительно к решению проблемы может сильно варьироваться, что неизбежно будет создавать дополнительные трудности - просто придется делать дополнительные неоправданные целью телодвижения.


5. Идти от конкретной задачи, а не от общих принципов.

А как вы определите что решение предлагаемой вами задачи будет способствовать нашим целям (на этом этапе я не вижу пока конкретики относительно решения проблемы). Гадать на кофейной гуще - перебирать возможные задачи вдруг какая - то выстрелит? Нее это не по мне....




Цитата (Сергей Кондрашов, 07.02.2011, 01:22) <{POST_SNAPBACK}>
Возможно, не совсем по теме данного форума: http://www.leasttern.com/Tech/programming.html
/Некоторые ссылки "битые", но по названию продукта в Google найти можно действующие./ (Просто, для ознакомления...)\
Чудесно - это еще один хороший способ -использовать ГОТОВЫЕ решения. Одна проблема остается -оценки пригодности применения их к нашим "баранам".


Станислав Михалкович ( Пользователь )
Цитата (DIzer, 07.02.2011, 02:17) <{POST_SNAPBACK}>
Давайте вначале разберемся - откуда растут ноги -соотвественно определимся с относительной ценностью компонент.

Я не так много компонент ООП сформулировал - определяйтесь :)

Цитата (DIzer, 07.02.2011, 02:17) <{POST_SNAPBACK}>
А вот это напрасно - степень пригодности конкретного ЯВУ применительно к решению проблемы может сильно варьироваться, что неизбежно будет создавать дополнительные трудности - просто придется делать дополнительные неоправданные целью телодвижения.

Несколько языков-таки вполне подходят. Оберон, объектный Паскаль, Питон. Я не собираюсь обсуждать всё сразу набело - так на форумах не бывает.

Цитата (DIzer, 07.02.2011, 02:17) <{POST_SNAPBACK}>
А как вы определите что решение предлагаемой вами задачи будет способствовать нашим целям (на этом этапе я не вижу пока конкретики относительно решения проблемы). Гадать на кофейной гуще - перебирать возможные задачи вдруг какая - то выстрелит? Нее это не по мне....

Ну - я предложил конкретную.

Поскольку мы с вами ведем занятия в ВУЗе со студентами, позволю себе высказать еще пару мыслей из личного опыта. Когда мы учим старших школьников - это не олимпиадные задачи, это попытка сформировать интерес к программированию. Олимпиадными можно сформировать интерес у меньшей части. Так вот, элементы ООП, о которых я здесь говорю и которые использую, позволяют нормальным школьникам в рамках доп. образования писать достаточно большие программы. Они начинают чувствовать, для чего нужно программирование. И - это "нравится" становится в дальнейшем их профессией.

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

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


Любое визуальное программирование в стиле Делфи - есть (по своей сути) наглядное использование ВСЕХ принципов ООП... применительно к практически любой задаче. А у вас есть сырой аналог Delphi.... Слишком сложен для школьников - усеките нутро, составляющих его компонент, до определенного уровня (из Вашего "чувства хорошего" ). Если через чур это пресно - преобразуйте, скажем, в toolkit для создания комп. версий настольных игр....Смысл ограничиваться конкретной задачей?

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