Я несколько халтурно отнесся к описанию собственной книги. Это произошло от неверного восприятия участников форума. Тут я вдруг подумал, что и новички здесь встречаются, а главное здесь довольно много людей занимающихся обучением. Поэтому исправляюсь и даю нормальное описание своей книги.
Книга состоит из трех частей: неформальное введение в программирование, систематическое ведение в КП и третья часть практикум по решению логически сложных задач.
Первая часть предполагает нулевого в программировании ученика. Единственное требование хорошее владение арифметикой, так как предмет изучается на ряде арифметических задач.
Начинается неформальное введение с очень короткого рассказа о том, что есть программирование и затем на задаче расчета суммы положительных множества целых чисел формируется представление о том, что такое программа. Сразу в этой задаче вводится понятие цикла, условия и массива. В этой, как и последующих задачах, все понятия раскрываются очень детально, на примерах. Несколько первых задач используют псевдокод. Новое понятие не вводится за один раз. Каждый новый термин обсуждается несколько раз, в разных ситуациях. Поэтому введение уже в первой задаче сразу трех важнейших конструкций не обязывает к немедленному пониманию.
Логика неформального введения не привязывается к логике построения языка. Главным здесь является задачный ряд, задачи которого постепенно усложняются. Но по настоящему трудных задач в первой части нет, поэтому успешность его освоения требует только элементарного желания и упорства.
Косвенная привязка к языку есть. Она отражается в том, на какие языковые структуры делается акцент. Это отражается в названии глав. После вводной части в которой задается сразу некоторое минимальное подмножество языка, главы следуют в таком порядке: условные циклы, общая структура программы на КП, условный оператор, типы данных в КП, массивы, вложенные циклы, многомерные массивы, процедуры, рекурсия, записи, указательные типы, связные списки, деревья, файлы.
Неформальное введение отличается некоторой бессистемностью, которая впрочем по моему мнению, отражает естественный ход обучения нулевого программиста. Язык КП в неформальном введении играет вспомогательную роль, поэтому язык дается не полностью.
Вторая часть, систематическое введение в Компонентный Паскаль предполагает устойчивые навыки в решении несложных задач и здесь ставится цель изучение языка как строгой системы.
Идеально строго язык дан в сообщении о языке, но оно плохо читаемо для неопытного человека, поэтому систематическое введение представляет собой развернутое сообщение о языке. Развернутость обеспечивается значительными дополнительными примерами, разъяснениями и небольшим изменением последовательности изложения. Последовательность впрочем изменена не слишком существенно. При условии успешного освоения неформального введения вторая часть также не должна вызывать существенных трудностей.
Начинается систематическое введение небольшим рассказом, о том что такое язык программирование, какие проблемы призван решать язык высокого уровня и как он описывается на строгом формальном языке.
Третья часть практикум. Цель тренировка в алгоритмизации и небольшого знакомства со специальными разделами математики: комбинаторика, теория графов. Систематического изучения математики не предполагается, главным является тренировка, поэтому разбиение практикума не разделы не является принципиальным. Некоторые из задач можно вполне переместить из своего раздела в другой. Но все же некоторое представление о связях с математикой дается, поэтому игнорировать деление на разделы совсем нельзя. Разделы такие: разные задачи, сортировки, задачи перебора, графы.
Существенно важно в практикуме структура задачи. Задача не ограничивается условием. Каждая задача подвергнута разбору разной степени детальности. В каждой задаче «не мастеру» будет за что зацепится при своем анализе и будет над чем работать. В некоторых задачах дана подсказка, в некоторых описан алгоритм, в задачах на графы даны примеры использования алгоритма и описание алгоритма. Иногда для задачи помимо подсказок описываются проблемы которые могут встретится в поиске окончательного решения.
Небольшое приложение посвящено основным понятиям теории графов. Оно самостоятельной ценности не имеет, это для тех кто совершенно не знаком с оной теорией. А так как её понятия активно используются в практикуме, я решил дать хотя бы минимум информации.
Вот теперь нормальная рекламная статья.
|