48 полноценных бесплатных книг для программистов (happy developer’s day)

Содержание

Пособия по HTML5 и CSS3

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

7. «HTML5 и CSS3 для чайников» от Эда Титтела и Криса Минника

Не удивляйтесь, что в список попало еще одно издание из серии «для чайников». Такое пособие отличное подспорье для начинающих

Если хотите понять, что к чему и с чего вообще стоит начинать, обратите внимание на это руководство

Материал преподносится доступно, вы начнете верстать сайты, веб-страницы, добавлять на них ссылки и таблицы. Вы поймете, как просто менять дизайн, пользуясь различными стилями CSS, добавлять картинки, видео. «Mast have» для делающих первые шаги в веб-разработке.

8. «HTML и CSS: разработка и создание веб-сайтов» от Джона Дакетта

Решила включить еще одну книгу от Джона Даккета. Пособие предназначено для начинающих, тут собраны все необходимые теги HTML, подробно рассказано о стилях CSS. Автор не просто рассказывает о тегах, он сразу приводит пример как это работает на практике.

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

9. «Изучаем HTML, XHTML и CSS» от Элизабет Робсон и Эрика Фримена

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

Для практики вам предлагается отработать материал, вам всего лишь нужно скачать папку с упражнениями с официального сайта. Скучно точно не будет. Вообще, серия Head first находка для программистов, а это издание лучший представитель своей серии.  Берите, читайте и начинайте верстать веб-страницы!

10. «Новая большая книга CSS» от Дэвида Макфарланда

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

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

Учебники по JavaScript

JavaScript – это уже не просто стили и разметки страницы, но полноценный язык программирования для веб-сайтов. Если вы видите не просто статичную страничку, но какую-то анимацию, проигрыватель видео или аудиозаписей, онлайн-калькуляторы и многие другие «фишки», где какие-то действия выполняются при загрузке страницы или по клику пользователя, вероятнее всего, что без JavaScript здесь не обошлось.

Фримен Э., Робсон Э. «Изучаем программирование на JavaScript»

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

Дэвид Флэнаган «JavaScript. Подробное руководство»

Автор этого учебника – практикующий программист, который постоянно совершенствуется. Сейчас уже вышло 6-е издание, в котором автор обновил некоторые нюансы работы с новыми версиями языка. Это издание не совсем подходит для новичков, так как язык изложения несколько суховат, и основы описаны сжато. Но если вы сначала ознакомитесь с азами и синтаксисом, «Подробное руководство» поможет вам изучить многочисленные нюансы работы в JavaScript. В книге очень много полезных и оригинальных примеров.

Райан Бенедетти, Ронан Крэнли «Изучаем работу с jQuery»

Эта книга посвящена одной из самых важных и универсальных библиотек JavaScript под названием jQuery. С ее помощью обеспечивается мультибраузерность, производится множество манипуляций с DOM, обмен информацией через API и многое другое. Эта библиотека применяется на большинстве сайтов. По сути, она позволяет при помощи средств JavaScript объединять элементы HTML и CSS, даже управлять ими. После изучения основ JavaScript, обязательно ознакомьтесь с этой библиотекой.

Начальный+/Средний уровень

7. «Java. Создание приложений» и 8. «Java Code. Сборник исходников», Алексей Крючков

Годы издания: 2018 – 2020.Количество страниц: 33-39.Знания читателя: уровень начальный+.

Алексей Крючков – писатель «универсальный». Из-под его пера выходили и сборники анекдотов, и описание операционной системы Linux Mint, и пособия по системам автоматизированного проектирования, и книги для изучения Java.

В категорию «Лучшие книги по Java 2021» его работы отнести можно, хоть они и не отличаются полнотой изложения. Несмотря на неширокий охват темы, творчество автора рекомендуется к ознакомлению.

Книги про Java в исполнении Крючкова раскрывают некоторые интересные моменты программирования в среде NetBeans, разработки веб-приложений с оптимизацией под Google Chrome. По ходу изучения читатель сможет сам написать четыре приложения, ознакомиться с алгоритмами создания сообщений а-ля Android, удаленного определения операционной системы, генератора паролей.

9. «Java. Библиотека профессионала», Хорстманн, Корнелл

Годы издания: 2009 – 2021.Количество страниц: 1500 – 2000 (2 тома), в зависимости от издания.Знания читателя: уровень начальный+.

«Библиотека профессионала» – лучшая книга по Java, если вы уже понимаете общие принципы объектно-ориентированного программирования. 
Работу Хорстманна и Корнелла сложно назвать самоучителем для начинающих, это, скорее, справочное пособие, регулярно обновляемое с учетом эволюции языка программирования.

Рекомендуется знакомство с 10 и 11 изданиями. Они наиболее полно соответствуют реалиям сегодняшнего дня. В первом томе даются основы языка. Второй том рассматривает средства построения GUI, создание корпоративных приложений, другие актуальные вопросы программирования на Java.

10. «Алгоритмы на Java», Роберт Седжвик, Кевин Уэйн

Годы издания: 2013 – 2021.Количество страниц: 843.Знания читателя: уровень начальный+.

В своей работе Седжвик и Уэйн рассматривают общие вопросы алгоритмизации, алгоритмы поиска, сортировки, обработки данных и многие другие. Книга написана лаконичным языком, понятным для начинающих разработчиков. Материал снабжен наглядными примерами и иллюстрациями, даются практические задания для самостоятельной работы.
В отличие от многих других пособий, в «Алгоритмах» приведены примеры реального кода, использующегося в популярном ПО.

Книга рекомендуется для самого широкого круга читателей, серьезно решивших стать профессиональными java-программистами. Пособие предполагает изучение 50 алгоритмов, с которыми должен ознакомиться каждый разработчик.

11. «Чистый код. Создание, анализ и рефакторинг», Роберт Мартин

Год издания: 2018.Количество страниц: 464.Знания читателя: начальный/средний уровень.

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

Первая часть работы посвящена искусству написания «чистого» кода. Во второй Роберт Мартин приводит множество примеров хорошего программирования.

Рекомендуются к ознакомлению и другие книги этого автора: «Идеальный программист. Как стать профессионалом разработки ПО» и «Чистая архитектура. Искусство разработки ПО».

12. «Java. Эффективное программирование», Джошуа Блох

Годы издания: 2001 – 2021.Количество страниц: 440 (зависит от издания).Знания читателя: средний уровень.

Джошуа Блох написал книгу, которую без сомнения должен прочитать каждый java-программист. Его работу нельзя назвать пособием для начинающего. Скорее она будет интересна пользователям, уже имеющим некоторое представление о программировании.

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

В книге рассматриваются java.io, java.util, java.lang, ряд других библиотек, но работа не затрагивает GUI и специализированных программных интерфейсов приложений.

3 Программирование для детей. Учимся создавать сайты, приложения и игры. HTML, CSS и JаvaScript

В том, что учиться на программиста – самое веселое в мире занятие, уверен и Дэвид Уитни, более того, он сумел в этом убедить всю свою читательскую аудиторию. Герои его книги приглашают юного веб-разработчика выполнить 6 невероятных миссий и попутно освоить написание кодов на самых важных языках программирования: HTML, CSS и jаvascript.

Родители в своих отзывах об издании хвастаются, что для их детей стало обычным времяпрепровождение с книгой в руках. Они с удовольствием занимаются, создавая собственные проекты – сайты, игры и приложения. В то же время в отдельных рецензиях имеются нарекания на битые ссылки и ошибки в кодах, но конкретно их не указывают.

1 Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python

Закономерно, что в цифровую эпоху современным детям рекомендуют изучать компьютерные языки, как английский – с раннего возраста, примерно с 8 лет. Принципы образования не изменились – информация должна быть простой, доходчиво рассказанной и поданной в игровой форме. Именно поэтому авторы данного самоучителя предлагают учиться через создание игр и анимаций.

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

Учебники по PHP и MySQL

Выше мы поговорили об инструментах, относящихся большей частью к фронтэнду, т.е. к видимой части сайта. Но все мы знаем, что кроме нее, есть также «движок», т.е. исполняемая программная основа. Ее называют бэкэнд.

В нем обычно «прячется»:

Если вы изучите любой сайт изнутри на сервере, то увидите, что он состоит из множества исполняемых PHP-файлов, папок с картинками и HTML-шаблонами. Отдельно выделяется место под хранение данных. Они находятся в специальных SQL-таблицах.

Когда вы указываете адрес страницы сайта, из браузера на хостинг отправляется запрос. На его основе PHP-программа «собирает» из шаблона и базы данных запрошенную страницу. Т.е. по сути, современные сайты формируют готовые странички для вас каждый раз заново. С учетом всех изменений, которые были внесены пользователями и администратором.

Майк МакГрат «PHP7 для начинающих с пошаговыми инструкциями»

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

Каллум Хопкинс «PHP. Быстрый старт»

Этот учебник – настоящий интенсив по PHP для новичков. В книге практически нет «воды», минимум теории, зато очень много практических примеров. Этот учебник поможет вам понять основы PHP и научиться создавать сайты, «читать» код и вносить в него доработки буквально за несколько дней. Конечно, предполагается, что вы хотя бы немного знакомы с программированием. Иначе процесс продлится дольше просто потому, что придется отвлекаться от этого интенсива ради изучения основ программирования.

Майкл Моррисон, Линн Бейли «Изучаем PHP и MySQL»

Этот учебник поможет изучить сразу два важнейших инструмента бэкэнда – язык программирования PHP и самый распространенный вариант базы данных MySQL. Вы поймете, как создавать программные решения для сайтов, манипулировать с базами данных, создавать новые таблицы, обработки запросов и форм, использовать куки, работать с авторизацией пользователей и многое другое.

Линн Бейли «Изучаем SQL»

А этот учебник посвящен только базам данных SQL (MySQL). Здесь подробно описываются методы работы с базами данных, создание таблиц, чтение, очистка и запись в ячейки. Описаны возможные типы данных, возможности определения связей между таблицами в общей базе, работа с разными типами ключей, методы оптимизации. Если вы хотите понять, что такое SQL и как с ними работать всерьез, обязательно изучите этот учебник.

Изучаем программирование на C. Дэвид Гриффитс, Дон Гриффитс

Автор книги использует собственно разработанную методику, для того чтобы начинающий программист смог научиться создавать программы на языке C. Читатель изучит многие темы при помощи уникального и нестандартного подхода. В книге разбираются ключевые моменты и основы языка, динамическое управление памятью и математические операции с указателями. Также в книге описываются более продвинутые темы, такие как сетевое программирование и многопоточность. Их наличие позволяет называть книгу учебником для студентов высших вузов. Задачи, основанные на практике, помогают закрепить полученный материал и добавить опыта начинающим программистам.

Достоинства:

  • легкое введение в язык;
  • максимально простая, в то же время информативная подача материала;
  • при чтении книги создается ощущение, будто тебе весь материал рассказывает опытный разработчик с глазу на глаз;
  • сложные темы рассказываются в забавно, игровой форме;
  • структурирован материал: начало в стиле Hallo World и дальше по порядку раскрываются более сложные темы.
  • лабораторные работы и практические задания заставляют задумать и лучше раскрыть свой потенциал.

Недостатки:

  • специфический американский юмор;
  • некоторые темы не раскрыты, но они упоминаются более подробно в конце книги – это не очень удобно.

Книги по Javascript и jQuery

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

Во второй раздел нашего списка я выделила издания по Javascript. Книги 20-21 гг., так что в них содержится актуальная информация на сегодняшний день.

3. «Javascript и jQuery. Интерактивная веб-разработка» от Джона Дакета

Если вы задались изучить Javascript, то советую начать с этого издания. Просто берите и читайте, изучайте основы языка и творите магию. Вы не только полюбите сам язык, но и его замечательную библиотеку jQuery.

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

4. «Изучаем программирование на JavaScript»  от Фримена Робсона

Руководство и для новичков и уже опытных программистов. Книга хорошо иллюстрирует правило – объясним сложное просто.  Текст простой, понятный, главы четко структурированы, а чтобы закрепить материал, авторы включили много упражнений.

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

5. «Выразительный JavaScript» от Марейн Хавербеке

Издание про возможности и тонкости JavaScript Сам автор практик с большим стажем. Вам может показаться, что книга совсем для новичков. Но как удивятся бывалые, когда найдут что-то для себя новенькое.

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

6. «JavaScript. Полное руководство» от Дэвида Флэнагана

Современное переиздание бестселлера с дополнением и новыми сведениями по JavaScript. Отличное руководство для веб-разработчиков. Есть опасность, что вы просто проглотите книгу одним махом и не заметите, как прочитали. Отличное пособие для начинающих.

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

Книга для обучения детей C++ «Думай как программист. Креативный подход к созданию кода. С++ версия»

Издательство «Эксмо»

Автор книги, Антон Спрол, преподает информатику и программирование более 15 лет. «Думай как программист» содержит описание собственных методик автора, благодаря которым не только школьники, но и взрослые смогут усовершенствовать свои навыки в области программирования. Книга имеет маркировку 12+, но подойдет для любого человека, желающего разобраться в сложностях исходного кода. Успех программирования, считает автор, не в применении метода проб и ошибок, а в системном подходе к решению задач. Для того, чтобы понимать, о чем в книге идет речь, читатель должен иметь базовые знания в синтаксисе и семантике С++ и хотя бы минимальный опыт в написании программ. Язык, которым написана книга, может вызывать сложности у человека, не владеющего специальной терминологией. В первой и второй главе рассматриваются головоломки и принципы их решения. В следующих главах читатель учится решению задач с массивами, динамической памятью, классами, с помощью рекурсии и использованием кода. Также в книге содержится большое количество практических упражнений по окончании каждой главы.

Отзывы о книге «Думай как программист. Креативный подход к созданию кода. С++ версия»

3 Программирование в примерах и задачах

Ведущим учебным заведением России в области информационных технологий по праву считается МГУ им. Ломоносова. Доцент факультета вычислительной математики и кибернетики (ФМК) Татьяна Грацианова работает в московском университете с 1999 года и специально для школьников старших классов, начинающих программистов и абитуриентов, а также для преподавателей и методистов создала подробное пособие по программированию на языке Паскаль.

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

1 Python. Карманный справочник

Справочное пособие написано признанным во всем мире экспертом по языку Python Марком Лутцом и пережило уже 5-е издание

Его главный плюс – лаконичная подборка всех необходимых сведений в карманном формате А5, позволяющем носить справочник с собой и в любой момент обращаться к важному для себя методу или функции

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

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

C. Полное руководство. Герберт Шилдт

Информативный справочник по языку СИ для новичков. Подробно расписаны все основные моменты и функциональность языка C. Тематика книги основана на стандартах C89 и C99.

В начале автор подробно описывает особенности и средства языка C. Также рассмотрены важные алгоритмы и приложения, которые являются незаменимыми для программистов, рассказывается о методах применения искусственного интеллекта.

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

Достоинства:

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

2 Архитектура компьютера

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

В настоящее время в свет выпущены 5-е и 6-е издание, полностью адаптированные под современные реалии компьютерной отрасли. Эндрю Таненнбаум как практик, разработавший несколько операционных систем, и теоретик, накопивший огромное количество знаний об им излагаемом предмете, сумел объяснить сложные вещи простыми словами. Его труд одинаково интересен и в самом начале изучения веб-разработки, и на более высоких ступенях IT-карьеры.

«Искусство программирования»

Дональд Кнут

У третьего (актуального) издания на английском языке семь томов. На русский переведено четыре из них: две части первого тома, второй и третий, а также том 4А.

Перевод с английского — И. В. Красиков, С. Г. Тригуб, Ю. Г. Гордиенко

Издательство «Вильямс», 2020 год, 720 + 160 + 832 + 960 с.

Оригинальное название: The Art of Computer Programming by Donald Knuth

Зачем читать: чтобы прокачаться в вычислительной математике и анализе алгоритмов.

Сложность:        

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

Труд настолько фундаментален, что в первой книге больше математики, чем программирования: математическая индукция, степени и логарифмы, матрицы и определители — вот это всё. Попадаются задания вроде «докажите утверждение» или «найдите простую замену для сложной формулы» — Кнут считает, что, прежде чем пользоваться готовыми чужими решениями, нужно разобраться в азах.

Далее в этом и последующих томах автор учит анализировать и оценивать алгоритмы, даёт «золотые решения» классических задач (сортировка, поиск, обход деревьев) — и сравнивает, чем хорошо и плохо каждое. Всё это помогает выбирать оптимальные вычислительные стратегии в реальных проектах.

Заметки на полях: читать непросто, но нужно. Тем более что про классику алгоритмизации и вычислительную сложность до сих спрашивают на серьёзных собеседованиях. А первый том «Искусства» даже завершается цитатой Билла Гейтса:

«Если вы смогли дочитать это до конца, вы определённо должны отправить мне своё резюме».

Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию. Монган Д., Гижере Э., Киндлер Н.

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

Задания заставляют задуматься, но не требуют много времени для решения (если под рукой Google/тема знакома).

Книга стремительно устаревает(2012 год) и содержит психологические советы, которые кажутся мне не стопроцентно подходящими для российских реалий. Но она помогает найти пробелы в знаниях и определить направление движения в самообразовании.

Computer Science aka Теоретическая Информатика

Перефразируя @ne555, законы математики, как и физические законы, нельзя поменять в новых версиях.

Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ (первое издание 1990г. и ещё без Штайна).

Эта книга является первой в моём топе среди всех IT книг (и вообще среди всех нехудожественных книг). Монументальный труд по алгоритмам. Написана очень хорошим и понятным языком. Алгоритмы не только описаны на псевдокоде, но ещё и тщательно разжёваны. А так же в каждой главе есть упражнения для закрепления материала. Книга настолько хороша, что если вы качественно изучите только эту книгу, (сделаете упражнения и самостоятельно реализуете большинство алгоритмов) и не прочитаете больше ни одной книги, то вы будете в программировании лучше большинства выпускников IT-вузов нашей страны (это моё оценочное суждение, основанное на опыте проведения собеседований). Тут недавно проскакивала статья о том, как не надо изучать программирование от @nsnurlan. Так вот, я убеждён, что человек, прочитавший (и понявший!) эту книгу от корки до корки и осиливший самостоятельно реализовать процентов 70 изложенных в ней алгоритмов (ну хорошо, хотя бы половину) на любом понравившемся языке программирования, способен получить работу программистом.

Дональд Кнут. Искусство программирования.

Ещё один монументальный труд, который берёт своё начало из шестидесятых годов. Сам труд давно стал классикой, а его автор – живой легендой. Несмотря на то, что она до сих пор пишется и дорабатывается, первые тома абсолютно не потеряли своей актуальности. Следует отметить, что книга имеет высокий порог входа и может отпугнуть некоторых людей. Например, в ней в начале первого тома в качестве упражнения «со звёздочкой» предлагается доказать великую теорему Ферма. Я бы рекомендовал эту книгу тем, кто хочет углубиться в хардкорную информатику так, чтобы мозги закипели.

Иосиф Владимирович Романовский. Дискретный анализ.

Книга, предназначенная для старшеклассников и студентов 1 курса , регулярно переиздаётся. У меня дома второе издание 2000 года, так что она из прошлого века. Можно сказать, что она является введением в информатику, после неё читать книгу Кормена становится несколько проще.

Альфред Ахо, Моника С. Лам, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты.

Классический учебник по компиляторам. Если вы собираетесь всерьёз заняться разработкой компилятора, эта книга, как раз, то, что надо. Но я рекомендовал бы её начать читать только после того, как вы освоите базовые алгоритмы, например, по книге Кормена.

Дэн Гасфилд. строки деревья и последовательности в алгоритмах.

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

Фрэнк Харари. Теория графов.

Ещё один классический труд, который никогда не устареет. Можно, конечно, сказать, что это книга по чистой математике, и в ней не обсуждаются алгоритмы поиска пути в графе, но математика и теоретическая информатика настолько переплетены, что сложно сказать, где кончается одно и начинается другое. Хотя, на мой взгляд, теоретическая информатика является разделом математики, но это уже философский вопрос

Тем не менее, графы являются важной частью информатики и (программирования в целом), и, порой, в разработке ПО появляются задачи, для решения которых не хватает знаний из книги Кормена

Григорий Михайлович Фихтенгольц. Основы математического анализа.

Куда же без матана.

Ломоносов

математик Алексей Савватеев про экономику и теорию игр, но к программированию тоже применимо.

Борис Павлович Демидович. сборник задач и упражнений по математическому анализу.

Я сейчас очень рад тому, что, когда я учился в университете, у меня не было Wolfram Mathematica (не знаю, умела она тогда аналитически брать интегралы или нет; кажется, не умела, но это не точно) и я все положенные 70 интегралов взял сам.

Заключение

Все пособия имеют многочисленные иллюстрации, множество примеров и остроумный текст, понятный даже ученику начальной школы. Задания для самостоятельной работы помогут овладеть многочисленные встроенные функции приведенных языков программирования и научиться создавать небольшие программы и даже игры. А если вам или ребенку станет сложно — не огорчайтесь! Сначала «стоит сосредоточиться на маленьком фрагменте кода, чтобы понять что-то сложное».

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