OberonCore
https://forum.oberoncore.ru/

как учить, чтобы ракеты не взрывались?
https://forum.oberoncore.ru/viewtopic.php?f=7&t=4203
Страница 1 из 2

Автор:  Info21 [ Понедельник, 31 Декабрь, 2012 00:06 ]
Заголовок сообщения:  как учить, чтобы ракеты не взрывались?

Прежде всего, всех участников с Новым 2013 годом!

***

Владислав Жаринов писал(а):
какой метод обучения делает наименее вероятным повторение обучаемыми преступной халатности разработчиков систем управления "Therac-25" и "Ариан-5"?..
Хороший вопрос.
Хорошо бы обсудить чисто конкретные ответы.

Чисто конкретно -- в Байтике с новой группой пробую новые интерфейсы для ввода: где успех ввода выдаются явным VAR параметром, так что про булевскую переменную забыть невозможно.
Ну, и за отсутствие УБЕДИТЬСЯ негативное подкрепление.
Чтоб было забито на уровень подсознания с 12 лет, что отсутствие проверки -- это страшное ай-яй-яй!

Автор:  Валерий Лаптев [ Понедельник, 31 Декабрь, 2012 04:39 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

1. Мы в рамках нашей среды можем такое принуждение реализовать на счет раз.
2. дело, мне кажется, гораздо глубже. Никто всерьез не рассматривает ПРОЕКТИРОВАНИЕ аномальных вариантов.
А это ОБЯЗАТЕЛЬНО надо делать.
Кто навскидку вспомнит средства проектирования аварийных ситуаций? В Драконе есть?
Мы Дракон прикрутим к нашей среде - есть человек, который занимается этим.

Автор:  Info21 [ Понедельник, 31 Декабрь, 2012 09:23 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Валерий Лаптев писал(а):
1. Мы в рамках нашей среды можем такое принуждение реализовать на счет раз.
Какое такое?
Что оно даст сверх заставления вводить логическую переменную?

Цитата:
2. дело, мне кажется, гораздо глубже.
По сравнению с чем? с курсом для 12-леток? :)

Если к Вам в У. придут студенты, приученные проверять ассёртом каждый шаг, то будет легче перейти и к ПРОЕКТИРОВАНИЮ аномальных вариантов.
Разве нет?

Автор:  Валерий Лаптев [ Понедельник, 31 Декабрь, 2012 12:57 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Info21 писал(а):
Валерий Лаптев писал(а):
1. Мы в рамках нашей среды можем такое принуждение реализовать на счет раз.
Какое такое?
Что оно даст сверх заставления вводить логическую переменную?

Цитата:
2. дело, мне кажется, гораздо глубже.
По сравнению с чем? с курсом для 12-леток? :)

Если к Вам в У. придут студенты, приученные проверять ассёртом каждый шаг, то будет легче перейти и к ПРОЕКТИРОВАНИЮ аномальных вариантов.
Разве нет?

1. Вообще любое требуемое поведение. Например, программа не работает, пока не объявишь эту самую логическую переменную и не напишешь соответствующий ассерт. Просто висит ошибка - и далее не работает, пока не сделаешь. чего требуется.
2. Да, я о студентах, естественно, думал, а не о 12-летних детишках. Конечно, обучать проектированию аномалий будет легче, если они привыкли все проверять... :)

Автор:  Info21 [ Понедельник, 31 Декабрь, 2012 15:06 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

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

Примерно как им впечатляют, что есть "кака", а потом говорят в разных ситуациях: "это кака!" и "это тоже кака!"

Какие простейшие и нагляднейшие вещи можно им впечатлять в мозг как "маркеры ценностей"?

В плане мозгового штурма:

1. тотальное недоверие к поступающим извне данным через принуждение к использованию логической переменной при вводе и т.п.

2. заставление разделять логические этапы программы пустыми строчками как наглядное воплощение принципа "разделяй и властвуй"

3. снижение оценок за "нечистоту" -- например, за неиспользуемые переменные, оставшиеся в программе после переделок

Что ещё можно тут придумать?

Автор:  Роман М. [ Среда, 02 Январь, 2013 17:16 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Не рановато ли детишкам разрабатывать код для ракет? :shock:

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

Автор:  ==== [ Среда, 02 Январь, 2013 17:29 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

По Гриссу программирование - целенаправленное действие.

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

Ребенка, так же надо научить выполнять декомпозицию цели.

Автор:  Info21 [ Среда, 02 Январь, 2013 17:42 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Коллеги, речь о *начальном* обучении программированию.
Уровень 11-14 лет.

Если нет соответствующего опыта, то цена суждениям -- нуль.

Автор:  Владислав Жаринов [ Четверг, 03 Январь, 2013 10:13 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Валерий Лаптев в viewtopic.php?p=76789#p76789 писал(а):
...
1. Вообще любое требуемое поведение. Например, программа не работает, пока не объявишь эту самую логическую переменную и не напишешь соответствующий ассерт. Просто висит ошибка - и далее не работает, пока не сделаешь. чего требуется.
2. Да, я о студентах, естественно, думал, а не о 12-летних детишках. Конечно, обучать проектированию аномалий будет легче, если они привыкли все проверять... :)

Тут, видимо, важно, чтобы они уже понимали, как делать, чтобы этот ассерт не вылетел в реальной системе (реагирующей, например)... И Роман, как я понимаю, об этом... С 12 лет, раз развиваются способности к абстрактному, учить писать код, видимо, можно... но за деталями это именно к тем, кто этим занимается... Могу сказать лишь, что вот такие ситуации с этим возрастом показывают, что и Роман прав - надо вырабатывать целостное представление о задаче и её предметке, как только это будет возможно. И Фёдор Васильевич здесь: viewtopic.php?p=65404#p65404 - что не надо уповать на конкретную форму записи, а надо исследовать и определять критерии применимости особенностей синтаксиса...
А интерес часто могут поддержать именно игровые проекты... :)

Автор:  Info21 [ Четверг, 03 Январь, 2013 11:13 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

"... надо ... надо ... важно ..." -- все эти благие пожелания тривиальны и к теме не относится.

Тема называется "как ...?"

Коллеги, понятна разница между "надо" и "как"?

Автор:  ==== [ Четверг, 03 Январь, 2013 11:30 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Info21 писал(а):
"Коллеги, понятна разница между "надо" и "как"?
Что тут не понятно?
Слышишь вопрос "как...?" и отвечаешь "надо...".

Автор:  Евгений Темиргалеев [ Четверг, 03 Январь, 2013 12:01 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

часть сообщений перенесена (п. 3.3, ред. 4) в соотв. тему: viewtopic.php?p=76831#p76831

Автор:  Владислав Жаринов [ Пятница, 18 Январь, 2013 09:42 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Геннадий Тышов писал(а):
По Гриссу программирование - целенаправленное действие.

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

Ребенка, так же надо научить выполнять декомпозицию цели.
Здесь обсуждаем, "как". Вот есть такой подход (прежде всего Гл.2 выдержки): viewtopic.php?p=77216#p77216. Однако он для студентов изначально. Возникают вопросы:
    * для школьникоов не будет ли трудно?
    * может, их надо учить предпосылкам для освоения таких методов - прежде всего умению выделять работы и устанавливать между ними связи? Тогда как и на каких примерах это лучше?
    * а может, именно в системе М-И-Я как раз и не так сложно? Пусть делают в ББ сначала документ расчёта процессов и построения "порфирианов", а потом работают в нём над "школьными проектами"?..
И тут ещё два обстоятельства выявляются:
    * деятельность-то как предмет декомпозиции и планирования рассматривается "доалгоритмически"... как и д.б...
    * матричная форма соответствует структуре "вершина-работа", что показано на с. 35-36... т.е. обратной к "традиционному" сеть-графику с "независимыми параллельными действиями"... и соответствующей Усову...
это уже к вопросу о применимости схем программ по ГОСТ... который, впрочем, возникает и без этого...

Автор:  Владислав Жаринов [ Суббота, 26 Январь, 2013 14:06 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Да, и ещё к тому же. Был снят фильм "Суперспутник. Инструкция по сборке" о производстве спутника связи в "Астриуме" (компания из EADS). Там руководитель одного из филиалов (вроде английского) говорит: "Спутник должен работать на орбите 15 лет после старта. Если мы это не гарантируем, то нам нечего делать на рынке. Поэтому у нас работает 3000 инженеров и ни одного наладчика". :) Далее по ходу повествования можно понять, что имеется в виду. Спутник как система и система техпроцессов его производства проектируются так, чтобы можно было тестами определить неисправные элементы, а всё неопределённое не проявлялось бы в течение гарантийного срока. Разумеется, уделяется внимание и максимизации выхода годных элементов (и связей, образуемых между ними в конструкции).

Автор:  Владислав Жаринов [ Пятница, 25 Октябрь, 2013 16:29 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Вот ещё ко "впечатлению маркеров" - чего говорит теория:
Зверев в Кн. I, с 186 писал(а):
... специалисты по сенсформике, методам распознавания, идентификации хорошо знают, что для конструирования правила, выделяющего элементы некоторого класса А из универсума индивидов по их свойствам, необходимо задать не только элементы множества А и их свойства, но и образцы оппозиций, контрпримеры, их признаки, характеризующие непринадлежность элементов данному множеству А, и только совместное использование признаков сходства и признаков отличия от элементов не-А позволяет построить "границы" множества... Необходимость задания индивидов противоположных классов-антиподов при определении характеристической функции и отношения принадлежности имеет два печальных (для логико-математического языка и всех информационных, знаковых процессов) последствия в открытых мирах: 1) частичность характеристических функций и отношений, т.е. существование таких объектов, для которых они не определены; 2) возможность ошибочных и неопределённых решений при оценке принадлежности объекта множеству. В математике эти трудности устраняют гипотезой (условием) замкнутости мира знаков.
Ежели переводить это на язык банальной эрудиции, то автор здесь теоретически о том же, что авторы цитат из этого поста практически... Т.е. в приложении к процессам - что неправильные варианты развития событий тоже надо учитывать...

Автор:  ___ [ Среда, 19 Февраль, 2014 18:54 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Info21 писал(а):
Хорошо бы обсудить чисто конкретные ответы.

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

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

Автор:  Info21 [ Пятница, 21 Февраль, 2014 20:58 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Может быть, приучать начинать писать цикл с этого шага?

Автор:  ___ [ Пятница, 21 Февраль, 2014 21:13 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

Info21 писал(а):
Может быть, приучать начинать писать цикл с этого шага?

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

Автор:  Info21 [ Пятница, 21 Февраль, 2014 22:10 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

С этими исполнителями не так всё просто.

И давать упрощённые варианты в начале плохо тем, что потом от них отучать -- мучиться.

Я сразу беру быка за рога и кочевряжу полноценный цикл-пока.
Они мучаются, но потом при подготовке к ЕГЭ это окупается :)

Автор:  Илья Ермаков [ Суббота, 22 Февраль, 2014 04:21 ]
Заголовок сообщения:  Re: как учить, чтобы ракеты не взрывались?

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


Я стал в этом году использовать в учебном коде выделение жирностью "скелета цикла": инициализации, самого WHILE и в конце - шага с END.
Чтобы формировать у народа в мозгах ясное разделение, что есть сам цикл, а что - произвольная "полезная нагрузка".

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/