О статье Дейкстры

Я читаю Программисты на работе .

Я наткнулся на этот абзац в интервью Дональда Кнута.

Сейбел: Похоже, многие люди, с которыми я разговаривал, имели прямой доступ к машине, когда только начинали. Тем не менее Дейкстра имеет статью , я уверен, что вы знакомы с ней, где он в основном говорит, что мы не должны позволять студентам, изучающим информатику, прикасаться к машине в течение первых нескольких лет их обучения; они должны тратить все свое время на манипулирование символами.

Мне нужна ссылка на эту статью. Что это за бумага? (Он написал слишком много :-)

7
задан Joel Coehoorn 9 December 2011 в 16:53
поделиться

1 ответ

Может быть этот ?

Отрывок, близкий к концу:

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

С одной стороны, мы обучаем тому, что выглядит как исчисление предикатов, но мы делаем это совсем не так, как философы. Чтобы обучить начинающего программиста работе с неинтерпретируемыми формулами, мы обучаем этому больше как булевой алгебре, знакомя студента со всеми алгебраическими свойствами логических связок. Чтобы еще больше разорвать связи с интуицией, мы переименовываем значения {true, false} логического домена как {black, white}.

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

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

7
ответ дан 6 December 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: