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

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

Как учить школьников объектно-ориентированному программированию
Станислав Михалкович ( Пользователь )
Цитата (Денис Кириенко, 08.09.2010, 12:06) <{POST_SNAPBACK}>
А можете пояснить - что такое вводить "объектно-ориентированное программирование"? Как это - учить объектно-ориентированному программированию? Ну вот как вы это себе представляете - как это делается в учебнике Угриновича, например, или речь идет о чем-то другом?

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

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

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

Что касается багажа знаний, то у меня противоположное мнение - знание конкретного языка программирования ЯВЛЯЕТСЯ багажом знаний - без него алгоритм можно выражать и словами, а этого явно недостаточно. Используемые структуры данных выражать словами вообще затруднительно.

Еще раз извиняюсь, что влез в чужую беседу.
Александр Горячев ( Пользователь )
Цитата (Михалкович Станислав, 08.09.2010, 18:49) <{POST_SNAPBACK}>
Я прошу прощения, что вмешиваюсь. По моему мнению, ООП учить надо, и это - не Угринович. ООП для школьников - вполне можно сформулировать что это такое. В школьных учебниках я нормального изложения практически не видел.

Я тоже прошу прощения, что вмешиваюсь, но очень любопытно, что имеется в виду под словами "ООП для школьников".
В моём представлении обойтись (даже для школьников) без изложения пусть в простейшем виде триады "инкапсуляция, наследование, полиморфизм" было бы неправильно.
Реализацию этих концепций даже Турбо Паскаль позволяет.
Более того, возможно на первое место стоило бы вывести идеи ООА (анализа), то есть выявление в задаче сущностей для реализации их в виде классов.
Вообще-то, "ООП для школьников", это на мой взгляд красивая идея.
Лично мне нравится.
Тоже извиняюсь, что влез в чужую беседу.
Федор Ткачев ( Пользователь )
Толкового (а не фетишистского) изложения ООП я не видел и ни в одном вузовском учебнике (все, конечно, не смотрел, но они как штампованные).

А дискуссия -- очередная ломка в открытую дверь:

Сущность ООП и обязательный минимум средств ООП блестяще и проще-некуда выделил дедушка Вирт в своих последних паскалях -- Оберонах вообще и Компонентном Паскале в частности.

Обсуждать ООП для начинающих и не вспоминать об этом достижении Николая Вальтеровича -- значит .. сейчас скажу "демонстрировать недостаток компетенции" -- и публика смертельно обидится, хотя это правда.
Александр Бондаренко ( Пользователь )
Я не понимаю что такое "ООП для школьников/для нешкольников/для кого-то ещё". ООП оно либо есть, либо его нет (нельзя быть немножко беременной)

PS: Не извиняюсь за то что влезаю в открытый разговор
Денис Кириенко ( Пользователь )
Спасибо всем, мне очень интересно было бы услышать подробные мнения о том, каким можем быть обучение объектно-ориентированному программированию для школьников.

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

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

Может быть, перенести это обсуждение в отдельную тему?

============================================
Цитата (PapaSasha, 09.09.2010, 00:08) <{POST_SNAPBACK}>
Я не понимаю что такое "ООП для школьников/для нешкольников/для кого-то ещё". ООП оно либо есть, либо его нет (нельзя быть немножко беременной)


Не "ООП для школьников", а "Как учить ООП школьников"? Да и вообще - что такое обучение ООП? Не учебник же Угриновича...
Александр Горячев ( Пользователь )
Цитата (info21, 08.09.2010, 21:21) <{POST_SNAPBACK}>
Сущность ООП и обязательный минимум средств ООП блестяще и проще-некуда выделил дедушка Вирт в своих последних паскалях -- Оберонах вообще и Компонентном Паскале в частности.

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


1. Извините, но мне безразлично, кто что подумает о недостатке моей компетенции и вообще, что будет говорить княгиня Марья Алексевна или дедушка Вирт. На мой взгляд, некомпетентно разговор об идее обучения ООП сводить к выбору языка. Это как разговор об идее обучения школьников вождению переводить на сравнение конкретных марок автомобилей и начинать очередную "holy war".
2. ИМХО "правильное ООП" то, которое идет вслед ОО анализу и ОО проектированию.То есть, дети, научитесь объектно-ориентированно мыслить и реализовывать свои ОО замыслы на одном из ОО языков. (Раньше мы бы говорили: научитесь алгоритмически мыслить и реализовывать замыслы своих алгоритмов на одном из алгоритмических языков).
Цитата (PapaSasha, 08.09.2010, 23:08) <{POST_SNAPBACK}>
Я не понимаю что такое "ООП для школьников/для нешкольников/для кого-то ещё".

Согласен с тем, что:
Цитата (Денис Кириенко, 08.09.2010, 23:49) <{POST_SNAPBACK}>
Не "ООП для школьников", а "Как учить ООП школьников".

С одним дополнением. Тема "ООП для школьников" помимо "Как учить ООП школьников" может включать и "Зачем учить ООП школьников", "Надо ли изучение ООП делать магистральным направлением и вводить в ЕГЭ", "Является ли изучение ООА (анализа) значимым для массовой школы" и т.п.
Цитата (Денис Кириенко, 08.09.2010, 23:49) <{POST_SNAPBACK}>
Может быть, перенести это обсуждение в отдельную тему?

Наверное, да.
Вы были бы очень любезны.
Станислав Михалкович ( Пользователь )
Данная тема - продолжение обсуждения, возникшего здесь.

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

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

Как и в каком объеме учить ООП школьников? Что в таком обучении является главным, а что - второстепенным? Важен ли конкретный язык при обучении школьников ООП?

В данном топике предлагается обсуждать различные варианты изучения ООП в школе. Приветствуются примеры на различных языках программирования.
Федор Ткачев ( Пользователь )
Цитата (Александр Горячев, 09.09.2010, 06:13) <{POST_SNAPBACK}>
1. Извините, но мне безразлично, кто что подумает о недостатке моей компетенции ...

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

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

Продолжу в новой веточке.
Александр Горячев ( Пользователь )
В новой теме хочется повторить две свои основные мысли из той, откуда перенесли:

1. ИМХО "правильное ООП" то, которое идет вслед ОО анализу и ОО проектированию.То есть, дети, научитесь объектно-ориентированно мыслить и реализовывать свои ОО замыслы на одном из ОО языков. (Раньше мы бы говорили: научитесь алгоритмически мыслить и реализовывать замыслы своих алгоритмов на одном из алгоритмических языков).

2. Тема "ООП для школьников" помимо "Как учить ООП школьников" может включать и "Зачем учить ООП школьников", "Надо ли изучение ООП делать магистральным направлением и вводить в ЕГЭ", "Является ли изучение ООА (анализа) значимым для массовой школы" и т.п.

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

Заранее прошу прощения - в IE и браузерах на его основе не пойдет (в нем не работает тег <canvas>). Рекомендуется FireFox, Opera, Chrome или Safari.

Если необходимо, приведу код здесь.

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