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

Хабаровская школа программистов

Как учить программированию
Михаил Кушнир ( Пользователь )
(Потопахин Виталий @ 08.04.2007, 03:49) <{POST_SNAPBACK}>
1) Необходимо избавится от структур данных свойственных всем языкам программирования. Замечу, что я хочу избавится только от сложного синтаксиса, данные, как что-то несущее смысл должны быть.

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

Для всех элементов введенного множества чисел делать
Тело цикла

Вот, мы и используем ЛогоМиры, которые, как мне кажется, вполне вписываются в эти условия, причем, мир этот весьма красочный, поддерживает даже параллельные процессы. В результате и представление о программировании даем в весьма богатом объеме (Лого-списковый язык, родственник Lisp), и психологический барьер у нелюбителей абстрактного мышления существенно снижаем.
Побочный эффект - дети не осознают, что это программирование, но для нас это скорее плюс, т.к. само слово уже резко повышает этот барьер smile.gif
Кстати, похожий эффект в отношении 3-мерной среды знакомства с ООП - Alice
Михаил Густокашин ( Пользователь )
(s11kai @ 08.04.2007, 04:46) <{POST_SNAPBACK}>
ОТСЮДА И ВОЗНИКАЕТ НОВЫЙ ВОПРОС, почему же это нельзя назвать программой?

мое мнение состоит в том, что здесь не используются ни циклы (равзе что где-то вне указанных фрагментов, который один и внешний всю эту систему вращает), ни ветвления (ветвление во втором фрагменте заменяется одной командой k = 1 - k; в моем понимании это примерно тоже самое, что назвать "спортивным ориентированием" пробежку по трассе без перекрестков.
против программируемой графики ничего не имею, когда она в тему и качественно сделана. мне, как прикладному математику нравится вот это, например: http://rain.ifmo.ru/cat/view.php/vis
но там делали работу студенты и на оценку и то на сайт попало не все. и там все оформленно единообразно. более того, я даже иногда это использую в своей практической работе.

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

еще насчет Lisp'а. я, конечно, очень проникся этим языком и даже его полюбил в чем-то, но детей мне жалко, честное слово.
Виталий Потопахин ( Пользователь )
(Михаил Густокашин @ 08.04.2007, 11:19) <{POST_SNAPBACK}>
и еще по поводу "Правильный алгоритм позволяет исполнителю при одинаковых условиях всегда получать одинаковый требуемый результат."
неправильный алгоритм тоже позволяет получать одинаковый результат. только неправильный.


Небольшая реплика

Но правильность или не правильность не являются целью определения понятия. Неправильный алгоритм вне всякого сомнения такой же алгоритм, как и правильный.
Виталий Потопахин ( Пользователь )
(МЭК @ 08.04.2007, 10:06) <{POST_SNAPBACK}>
Вот, мы и используем ЛогоМиры, которые, как мне кажется, вполне вписываются в эти условия, причем, мир этот весьма красочный, поддерживает даже параллельные процессы. В результате и представление о программировании даем в весьма богатом объеме (Лого-списковый язык, родственник Lisp), и психологический барьер у нелюбителей абстрактного мышления существенно снижаем.
Побочный эффект - дети не осознают, что это программирование, но для нас это скорее плюс, т.к. само слово уже резко повышает этот барьер smile.gif
Кстати, похожий эффект в отношении 3-мерной среды знакомства с ООП - Alice


Лого миров никогда не видел, но думаю они все же не вписываются. Исполнитель который стоит за нашим мета-языком это почти человек и только немного формальное устройство. Под такие условия вряд ли что-нибудь впишется.
Татьяна Дедюлькина ( Пользователь )
(Потопахин Виталий @ 08.04.2007, 12:28) <{POST_SNAPBACK}>
Лого миров никогда не видел, но думаю они все же не вписываются. Исполнитель который стоит за нашим мета-языком это почти человек и только немного формальное устройство. Под такие условия вряд ли что-нибудь впишется.

Лого миры очень нравятся, использую их в 5-7 классах, но согласна с Виталием Валерьевичем- это не облегчает изучение программирования, ну разве что выучили новые слова : цикл, процедура al.gif
Михаил Кушнир ( Пользователь )
(Потопахин Виталий @ 08.04.2007, 12:26) <{POST_SNAPBACK}>
Но правильность или не правильность не являются целью определения понятия.

Действительно, на самом деле, это легкая манипуляция. Судя по реакции коллег, она работает smile.gif
1. Пытаюсь вызывать ассоциацию с тем, что алгоритм может быть правильным и неправильным
2. К требуемому результату приводит правильный
В результате я надеюсь вкинуть не только представление о "трамвайности" алгоритма, но и на подсознательном уровне важнейшую проблему верификации, заниматься которой всерьез нет никакой возможности.
Таким образом, определение для школьников в целях понимания
- не перегружено словами и понятиями
- не несет в себе неправильных представлений
- имеет содержательную смысловую подложку
Виталий Потопахин ( Пользователь )
(МЭК @ 08.04.2007, 15:41) <{POST_SNAPBACK}>
Действительно, на самом деле, это легкая манипуляция. Судя по реакции коллег, она работает smile.gif
1. Пытаюсь вызывать ассоциацию с тем, что алгоритм может быть правильным и неправильным
2. К требуемому результату приводит правильный
В результате я надеюсь вкинуть не только представление о "трамвайности" алгоритма, но и на подсознательном уровне важнейшую проблему верификации, заниматься которой всерьез нет никакой возможности.
Таким образом, определение для школьников в целях понимания
- не перегружено словами и понятиями
- не несет в себе неправильных представлений
- имеет содержательную смысловую подложку


С точки зрения чистой теории конечно обсуждать вопросы правильности нельзя обсуждать в определении, но как учитель я согласен, что с детьми это имеет смысл, так как их видимо больше интересует вопрос правильности, а не чистоты определения.
s11kai ( Пользователь )
(Потопахин Виталий @ 08.04.2007, 14:15) <{POST_SNAPBACK}>
Вы Александр Иванович не стоите у истоков, а развиваете параллельную технологию. Я бы так сказал.


Хорошо, пусть будет параллельная технология, стало быть Вы были не правы назвав ее - "вязанием крючком"
s11kai ( Пользователь )
(Михаил Густокашин @ 08.04.2007, 18:19) <{POST_SNAPBACK}>
мое мнение состоит в том, что здесь не используются ни циклы (равзе что где-то вне указанных фрагментов, который один и внешний всю эту систему вращает), ни ветвления (ветвление во втором фрагменте заменяется одной командой k = 1 - k; в моем понимании это примерно тоже самое, что назвать "спортивным ориентированием" пробежку по трассе без перекрестков.

еще насчет Lisp'а. я, конечно, очень проникся этим языком и даже его полюбил в чем-то, но детей мне жалко, честное слово.


Следовательно работу, выполненную во Flash, нельзя назвать просто рисованием и кроме того он более лоялен к детям!

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

Думаю, что не имеет смысла сравнивать работу, выполненную студентом - без пяти мянут профессионалом, с работой ребенка!

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

я же, наоборот - поклонник минимизации кода, но не в ущерб замыслу!
Виталий Потопахин ( Пользователь )
(s11kai @ 09.04.2007, 02:10) <{POST_SNAPBACK}>
Хорошо, пусть будет параллельная технология, стало быть Вы были не правы назвав ее столь унизительно - "вязанием крючком"


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

Кстати я сам вязал крючком и должен сказать, что это не так уж тривиально, если вязать что-то серьёзное. Я мастерства достичь не сумел.

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