Jump to content

Как разрабатывать программы

Как разрабатывать программы
Автор Маттиас Феллизен , Роберт Брюс Финдлер , Мэттью Флэтт , Шрирам Кришнамурти
Предмет Компьютерное программирование
Жанр Учебник
Издатель С Прессой
Дата публикации
12 февраля 2001 г.
Место публикации Соединенные Штаты
Тип носителя распечатать
Страницы 720
ISBN 0-262-06218-6
Класс ЛК QA76.6 .H697 2001 г.
Веб-сайт htdp .org

«Как разрабатывать программы» ( HtDP ) — учебник Маттиаса Феллейзена , Роберта Брюса Финдлера , Мэтью Флэтта и Шрирама Кришнамурти по систематическому проектированию компьютерных программ . MIT Press опубликовало первое издание в 2001 году, а второе — в 2018 году, которое доступно бесплатно в Интернете и в печатном виде. В книге представлена ​​концепция рецепта проектирования — шестиэтапного процесса создания программ на основе постановки задачи. Хотя изначально книга использовалась вместе с образовательным проектом TeachScheme! (переименованный в ProgramByDesign ), он был принят во многих колледжах и университетах для обучения принципам проектирования программ.

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

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

Как и структура и интерпретация компьютерных программ (SICP), HtDP опирается на вариант языка программирования Scheme . Он включает в себя собственную интегрированную среду разработки программирования (IDE) под названием DrRacket , которая предоставляет ряд языков программирования. Первый язык поддерживает только функции, атомарные данные и простые структуры. Каждый язык добавляет выразительную силу к предыдущему. За исключением самого крупного языка обучения, все языки HtDP являются функциональными языками программирования.

Педагогическая основа [ править ]

В статье 2004 года «Структура и интерпретация учебной программы по информатике» [1] те же авторы сравнили и противопоставили педагогическую направленность « Как разрабатывать программы» (HtDP) и « Структура и интерпретация компьютерных программ» (SICP). В 14-страничной статье авторы различают педагогическую направленность HtDP и SICP и показывают, как HtDP был разработан как учебник для решения некоторых проблем, с которыми некоторые студенты и преподаватели столкнулись при использовании SICP.

В статье представлена ​​педагогическая ситуация вокруг публикации SICP. Статья начинается с истории и критики SICP, за которыми следует описание цели учебной программы по информатике . Затем описываются принципы преподавания, лежащие в основе HtDP; в частности, разница между неявным и явным обучением принципам дизайна. Затем он продолжает описывать роль Scheme и важность идеальной среды программирования и завершается обширной оценкой содержания и реакции студентов/преподавателей на опыт использования SICP и HtDP.

Одним из основных направлений статьи является акцент на разнице в необходимых знаниях предметной области между SICP и HtDP. В диаграмме в документе сравниваются основные упражнения по SICP и HtDP, а в соответствующем тексте описывается, как упражнения в первом требуют значительно более глубоких знаний предметной области, чем упражнения в HtDP. В статье далее объясняется, почему эта разница в необходимых предметных знаниях привела к тому, что некоторые студенты путают предметные знания со знаниями по разработке программ.

В документе говорится о следующих четырех основных усилиях, которые авторы HtDP предприняли для решения предполагаемых проблем с SICP:

  1. HtDP явно, а не неявно определяет, как следует создавать программы.
  2. Чтобы упростить программирование, книга знакомит учащихся с пятью различными уровнями знаний, соответствующими уровням сложности определения данных.
  3. Упражнения в книге сосредоточены на рекомендациях по разработке программ, а не на знании предметной области.
  4. Книга предполагает меньшие знания предметной области, чем книга SICP.

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

Наконец, статья завершается описанием ответов различных преподавателей и студентов после использования HtDP в классе.

Ссылки [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: de667e63c929861bec7199db24769f6f__1684834980
URL1:https://arc.ask3.ru/arc/aa/de/6f/de667e63c929861bec7199db24769f6f.html
Заголовок, (Title) документа по адресу, URL1:
How to Design Programs - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)