Рекомендуемая литература

Для начинающих — для изучения языка

Питон

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

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

В частности, очень рекомендую вам сайт http://pythontutor.ru/. Там достаточно адекватная теория, и очень удобный визуальный отладчик питона.

Паскаль

Здесь приведен список книг, которые можно использовать для изучения языка программирования Pascal. При этом имейте в виду, что большинство из них описывает среду Turbo Pascal (или Borland Pascal, что то же самое); она является весьма устаревшей и в некоторых деталях отличается от среды Free Pascal, которую мы изучаем. Кроме того, во многих книжках есть разного рода устаревшие подходы к написанию программ.

Большинство из этих книг можно скачать из интернета, или купить; в частности, ряд книг я видел недавно в магазине Дирижабль на Б. Покровской.

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

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

  • Ушаков Д. М., Юркова Т. А. Паскаль для школьников — мне очень понравилась; эта книга, пожалуй, ближе всего к тому, как я хочу строить обучение языку.
  • Деревенец О. В. Песни о Паскале (свободна распространяема с сайта http://oleg-derevenets.narod.ru/) — очень необычный стиль изложения, возможно, понравится школьникам. Очень подробно и хорошо рассказывают про среду Free Pascal. Правда, порядок изучения тем весьма отличается от запланированного мной, но тем не менее, книга весьма неплохая.
  • Кашаев С. М., Шерстнева Л. В. Паскаль для школьников. Подготовка к ЕГЭ — довольно неплохой подробный учебник.
  • Андреева Е. В. Программирование — это так просто, программирование — это так сложно. Елена Владимировна Андреева (в отличие от авторов всех остальных учебников) — очень известный в олимпиадной информатике учитель, подготовившая многих сильных олимпиадников, многократный член жюри заключительного этапа Всероссийской олимпиады школьников. Эта книга довольно популярна в обучении олимпиадному программированию, вы можете встретить ссылки на нее во многих разных местах. Тем не менее, книга написана с точки зрения «формального» подхода, когда внимание уделяется в первую очередь полноте и строгости изложения, а не понятности и количеству примеров. Поэтому мне кажется, что она подходит скорее как справочник, или как дополнение к материалу, который я рассказываю на занятиях.
  • Культин Н. Б. Turbo pascal в задачах и примерах — фактически только примеры, без теории.
  • Павловская Т. А. Паскаль. Программирование на языке высокого уровня. Практикум — не очень много теории, довольно много примеров.
  • Рапаков Г. Г., Ржеуцкая С. Ю. Turbo Pascal для студентов и школьников — более-менее обычный учебник, ничего особенного, на самом деле мне даже не очень понравился.
  • Семакин И. Г., Шестаков А. П. Основы программирования — более-менее обычный учебник, ничего особенного, на самом деле мне даже не очень понравился.

Кроме того, следующие книги я видел, но они мне весьма не понравились. Я не рекомендую вам их использовать, хотя, возможно, кому-то они покажутся проще. Если сочтете, что какая-то книга тут находится незаслуженно, тоже напишите мне — на самом деле, я смотрел весьма поверхностно.

  • Кетков Ю. Л., Кетков А. Ю. Свободное программное обеспечение. FREE PASCAL для студентов и школьников
  • Фаронов В. В. Turbo Pascal 7.0. Учебный курс

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

Для продолжающих — для изучения алгоритмов

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

  • Т. Кормен, Ч. Лейзерсон, Р. Ривест «Алгоритмы. Построение и анализ» (во втором издании к авторам присоединился еще К. Штайн). Самая популярная книга по алгоритмам, книга, которую должен знать каждый уважающий себя крутой программист. Довольно хорошая, но довольно продвинутая (вряд ли ее стоит читать школьникам ниже 3-4 уровня), и местами чересчур теоретизирована (рассчитана скорее на студентов, а не на школьников).
  • А. Шень. Программирование: теоремы и задачи (свободно доступна с сайта http://www.mccme.ru/free-books/). Тоже довольно известная книга, и написанная в расчете на в том числе школьников, хотя на мой взгляд дает местами лишний или чересчур глубокий материала, а часть материала, наоборот, можно было бы изложить более детально. Но все равно весьма рекомендую.
  • Д. Кнут. Искусство программирования.. (В ранних изданиях русского перевода — Искусство программирования для ЭВМ.) Классическая и очень-очень известная монография, но содержит очень много информации, которую тяжело фильтровать на более и менее важную, очень тяжело читается, и чувствуется, что первое издание было почти 50 лет назад (!) (проблема скорее не в устаревании материала, а в устаревании способа подачи, например, примеры даются на ассемблерно-подобном языке, а не на языке высокого уровня или псевдокоде).