Содержание
- Введение в анализ алгоритмов
- Дискретная математика для программистов. Рей Хаггарти
- 1 Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python
- Но это только основы!
- Язык С в ХХI веке. Бен Клеменс
- Книги для программистов C#
- 2 Искусство программирования. Т. 1‒4
- Computer Science aka Теоретическая Информатика
- Совершенный алгоритм. Основы
- Язык C. Справочник. Питер Принц, Тони Кроуфорд
- Scratch для детей
- Swift для детей. Самоучитель по созданию приложений для iOS
- Python для детей. Самоучитель по программированию
- Программируем с Minecraft. Создай свой мир с помощью Python
- Обзор книг по программированию для детей
- Программирование и ребенок.
- «Как создать сайт. Комикс-путеводитель по HTML, CSS и WordPress»
- Книги по Javascript и jQuery
- Алгоритм для обычных книг
- 1 Сборник задач по программированию
- Начальный+/Средний уровень
- 7. «Java. Создание приложений» и 8. «Java Code. Сборник исходников», Алексей Крючков
- 9. «Java. Библиотека профессионала», Хорстманн, Корнелл
- 10. «Алгоритмы на Java», Роберт Седжвик, Кевин Уэйн
- 11. «Чистый код. Создание, анализ и рефакторинг», Роберт Мартин
- 12. «Java. Эффективное программирование», Джошуа Блох
- «Искусство программирования»
- Онлайн платформы для обучения программированию
Введение в анализ алгоритмов
Это второе, полностью обновленное и переработанное издание книги.
«Введение в анализ алгоритмов» будет
отличным учебным руководством и
справочником как студентов, так и для
разработчиков, ориентированных на
создание надежного кода. Материал в
книге изложен достаточно сжато, но, тем
не менее, он охватывает все необходимые
основы.
В книге рассмотрены традиционные для
информатики алгоритмы, такие как жадный
алгоритм, динамическое программирование,
«разделяй и властвуй». Но кроме того
автор рассматривает два класса алгоритмов,
которые часто выпадают из поля зрения,
— рандомизированные и онлайн-алгоритмы
(с упором на сами алгоритмы). И это очень
кстати, ведь первые повсеместно
применяются в криптографии, а вторые
необходимы в очень многих областях, от
создания ОС до прогнозирования фондового
рынка.
Дискретная математика для программистов. Рей Хаггарти
Это единственный учебник по математике, беглое ознакомление с которым в книжном магазине вызвало немедленное желание его купить. Удивительно легкая подача текста, много поясняющих картинок, решение задач не требует глубины знаний других разделов математики.
- графы и ориентированные графы;
- комбинаторика;
- эффективность алгоритмов;
- математический аспект функциональных языков программирования;
- бинарные отношения;
- экспертные системы;
- теория множеств;
- и т.п.
Радуют пояснительные примеры на псевдокоде (который по сути Pascal).
Ознакомление с этим учебником (в первую очередь с главой 7 и приложением к ней) теоретически и морально готовит к чтению третьего тома книги Дональда Кнута «Искусство программирования». Как настроить себя на чтение остальных томов, мне неизвестно:-(
Но главное, что эта книга развернуто и доступно отвечает на волнующий кодеров-любителей вопрос: «Зачем программисту когда-либо может понадобиться математика?».
1 Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python
Закономерно, что в цифровую эпоху современным детям рекомендуют изучать компьютерные языки, как английский – с раннего возраста, примерно с 8 лет. Принципы образования не изменились – информация должна быть простой, доходчиво рассказанной и поданной в игровой форме. Именно поэтому авторы данного самоучителя предлагают учиться через создание игр и анимаций.
Интересная фишка издания – отсутствие адаптации к русским версиям программ. Такое решение оправдывается тем, что все программисты должны знать английский и детям лучше привыкать к нему с самого начала. Примечательно, что книгой активно пользуются не только дети, но и их родители, чтобы освоить новую для себя тему, и преподаватели для занятий в компьютерных школах.
Но это только основы!
Выше мы рассказали, что именно изучать человеку, который знакомится с основами веб-программирования. Рассказали о хороших учебниках для новичков. В принципе, с этими знаниями вы сможете создавать веб-сайты, писать различные обработки и надстройки для популярных CMS («движков» сайтов). На уровне небольших сайтов вам этих знаний, скорей всего, будет больше чем достаточно
Но если вы хотите стать настоящим веб-программистом, важно понимать, что это – только начало пути
В процессе обучения и при реализации первых проектов вам нужно будет определиться, кем вы хотите быть – фронэнд-, бэкэнд-разработчиком или универсалом.
Если вы специализируетесь на фронтэенде, вам понадобится глубокое изучение JavaScript-библиотек, различных методов верстки, изучить работу с оптимизацией изображений и другими методами быстрой загрузки страниц. Т.е. вы станете специалистом по внешнему виду сайтов. Чаще всего одновременно с фронэнд изучают основы веб-дизайна. Впрочем, это не обязательно.
Бэкэнд – это работа с функционалом. Здесь вам помимо PHP понадобятся и другие современные языки программирования, да и сам PHP вы изучите намного глубже. Вашей специализацией будут крупные корпоративные проекты, разработка онлайн-игр, уникальных CMS. Может быть, вы станете частью команды какой-то поисковой системы или займетесь работой с любым программным SAAS-продуктом (онлайн-сервисом).
Что вам интереснее? Скорей всего, вы поймете уже тогда, когда начнете учиться. И тогда вы будете знать, что вы хотите выучить, а книги – их мы вам подскажем в других публикациях.
Язык С в ХХI веке. Бен Клеменс
Язык C является фундаментом всех языков программирования, при помощи которого создаются идеальные эффективные приложения. Автор за цель книги взял рассмотреть то, что не написано в других учебниках: какими инструментами работать, библиотеки, которые предназначены для работы со связанными списками и анализаторами XML. Он сделал ее в виде общения с читателем и передачи своего опыта людям.
Книга ориентирована на программистов, которые умеют работать на любом языке программирования, и знают базу языка C.
Достоинства:
- легко читается;
- много заметок сможет освежить память опытного программиста;
- наличие полезных ссылок;
- прочитав книгу можно отойти от старых стандартов и приоткрыть для себя много нового.
Недостатки:
- книгу сложно использовать как учебник или справочник;
- профессионалы и специалисты ничего нового для себя не найдут.
Книги для программистов C#
Как вы могли заметить, порядок языков программирования в этой подборке не случайный. Изучать их проще именно в таком порядке. Как мы уже говорили, C# относится к той же семье языком, что и C++ с Java.
Learn C# in One Day and Learn It Well (Jamie Chan)
Эта книга — номер один на Амазоне в рубрике книг по программированию на C#. В названии сказано, что по этой книге можно выучить язык за один день. Это, конечно, преувеличение, но понять азы точно можно. В книге всего 161 страница, включая примеры. Если уделить практике по ней по четыре-пять часов в день, то за выходные можно ее закончить — и двигаться дальше.
C# 8.0 in a Nutshell: The Definitive Reference (Joseph Albahari)
Тоже рассчитана на новичков, но в этой книге о программировании все расписано детальнее. Как вариант, вы можете первой прочитать книгу Jamie Chan-а, чтобы увидеть всю картину целиком, а затем в этой книге узнать подробнее о каждом из пунктов. Всего в книге Джозефа 1106 страниц. Хватит на пару недель.
2 Искусство программирования. Т. 1‒4
Фундаментальный труд американского ученого в области информатики Дональда Кнута, который включен в перечень книг, сформировавших современную науку XXI века, а также в ТОП-12 лучших физико-математических монографий. 83-летний автор утверждает, что накопленного им объема информации хватает на 7 томов, и надеется завершить главный проект своей жизни в следующие 20 лет. На сегодняшний день написано и издано 4, и все они посвящены азам программирования – от базовых понятий до разбора самых важных алгоритмов.
В рецензиях книгу называют библией для программистов. Сам Билл Гейтс сказал, что прочитавшие ее могут смело слать ему резюме. Но, по отзывам, написана она достаточно сложным для начинающих языком, без терпения и хороших знаний математики в тексте не разобраться.
Computer Science aka Теоретическая Информатика
Перефразируя @ne555, законы математики, как и физические законы, нельзя поменять в новых версиях.
Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ (первое издание 1990г. и ещё без Штайна).
Эта книга является первой в моём топе среди всех IT книг (и вообще среди всех нехудожественных книг). Монументальный труд по алгоритмам. Написана очень хорошим и понятным языком. Алгоритмы не только описаны на псевдокоде, но ещё и тщательно разжёваны. А так же в каждой главе есть упражнения для закрепления материала. Книга настолько хороша, что если вы качественно изучите только эту книгу, (сделаете упражнения и самостоятельно реализуете большинство алгоритмов) и не прочитаете больше ни одной книги, то вы будете в программировании лучше большинства выпускников IT-вузов нашей страны (это моё оценочное суждение, основанное на опыте проведения собеседований). Тут недавно проскакивала статья о том, как не надо изучать программирование от @nsnurlan. Так вот, я убеждён, что человек, прочитавший (и понявший!) эту книгу от корки до корки и осиливший самостоятельно реализовать процентов 70 изложенных в ней алгоритмов (ну хорошо, хотя бы половину) на любом понравившемся языке программирования, способен получить работу программистом.
Дональд Кнут. Искусство программирования.
Ещё один монументальный труд, который берёт своё начало из шестидесятых годов. Сам труд давно стал классикой, а его автор – живой легендой. Несмотря на то, что она до сих пор пишется и дорабатывается, первые тома абсолютно не потеряли своей актуальности. Следует отметить, что книга имеет высокий порог входа и может отпугнуть некоторых людей. Например, в ней в начале первого тома в качестве упражнения «со звёздочкой» предлагается доказать великую теорему Ферма. Я бы рекомендовал эту книгу тем, кто хочет углубиться в хардкорную информатику так, чтобы мозги закипели.
Иосиф Владимирович Романовский. Дискретный анализ.
Книга, предназначенная для старшеклассников и студентов 1 курса , регулярно переиздаётся. У меня дома второе издание 2000 года, так что она из прошлого века. Можно сказать, что она является введением в информатику, после неё читать книгу Кормена становится несколько проще.
Альфред Ахо, Моника С. Лам, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты.
Классический учебник по компиляторам. Если вы собираетесь всерьёз заняться разработкой компилятора, эта книга, как раз, то, что надо. Но я рекомендовал бы её начать читать только после того, как вы освоите базовые алгоритмы, например, по книге Кормена.
Дэн Гасфилд. строки деревья и последовательности в алгоритмах.
Если мне надо что-то вспомнить про строковые алгоритмы, я всегда сначала обращаюсь к этой книге. Если вам потребовался свой класс строки, вы теперь знаете, куда идти.
Фрэнк Харари. Теория графов.
Ещё один классический труд, который никогда не устареет. Можно, конечно, сказать, что это книга по чистой математике, и в ней не обсуждаются алгоритмы поиска пути в графе, но математика и теоретическая информатика настолько переплетены, что сложно сказать, где кончается одно и начинается другое. Хотя, на мой взгляд, теоретическая информатика является разделом математики, но это уже философский вопрос
Тем не менее, графы являются важной частью информатики и (программирования в целом), и, порой, в разработке ПО появляются задачи, для решения которых не хватает знаний из книги Кормена
Григорий Михайлович Фихтенгольц. Основы математического анализа.
Куда же без матана.
Ломоносов
математик Алексей Савватеев про экономику и теорию игр, но к программированию тоже применимо.
Борис Павлович Демидович. сборник задач и упражнений по математическому анализу.
Я сейчас очень рад тому, что, когда я учился в университете, у меня не было Wolfram Mathematica (не знаю, умела она тогда аналитически брать интегралы или нет; кажется, не умела, но это не точно) и я все положенные 70 интегралов взял сам.
Совершенный алгоритм. Основы
Тим Рафгарден — профессор информатики, член института Data Science при Колумбийском университете. Серия книг «Совершенный алгоритм» (англ. Algorithms Illuminated) написана им на основе онлайн-курсов, которые он ведет на платформах Coursera и edX.
Первая часть серии представляет собой
доступное введение в основы алгоритмов.
Объяснение не привязано к каком-либо
языку программирования. В этой книге
автор рассматривает асимптотический
анализ алгоритмов и нотацию О-большое
(а также Омега-большое и Тета-большое),
парадигму «разделяй и властвуй»,
рандомизированные алгоритмы и, конечно,
несколько самых известных алгоритмов
сортировки.
В этой книге читатели также найдут
упражнения на закрепление материала и
разборы решений.
Язык C. Справочник. Питер Принц, Тони Кроуфорд
В издании приведено описание всех функций языка C, которые введены стандартом. Также к каждому описанию приведены примеры, и их можно применять на практике в своей работе.
Книга подойдет для всех, кто знаком с языком программирования C, в ней есть информация о множестве улучшений. Профессиональные программисты найдут для себя полезную информацию о средствах разработки программ из набора программного обеспечения GNU, как тестировать, компилировать и отлаживать программы.
Достоинства:
- понятное описание;
- автор компетентно объясняет многие нюансы;
- полезна будет и опытным программистам и тем, кто только начинает свое знакомство с языком C.
Scratch для детей
Мажед Маржи
Scratch для детей
Почему стоит обратить внимание на эту книгу? Автором данной книги является старший разработчик в General Motors и и преподаватель в Университете Уейна в Мичигане. Каждая из глав в этой книге, является законченной программой
Каждая из глав в этой книге, является законченной программой.
С каждой главой задачи становятся все сложнее.
Для кого эта книга
Для детей от 8 лет и всех, кто хочет научиться программировать.
|
Swift для детей. Самоучитель по созданию приложений для iOS
Глория Уинквист, Мэтт Маккарти
Swift для детей
Для кого эта книга?
Эта книга подойдет детям от 10 лет, при желании, родители также могут научиться программировать с нуля. По ней вы сможете в кратчайшие сроки создать приложение для iPhone, iPad.
Если вы учитель информатики, вам так же стоит обратить внимание на эту книгу. Вы сможете внести разнообразие и вызвать интерес со стороны школьников к программированию
- Первая книга по созданию приложений для iOS
- Пошаговое руководство по созданию простого приложения
|
Ник Морган
JavaScript для детей Самоучитель по программированию
Книга написана программистом, который работает frontend разработчиком в компании Twitter.
За всю свою деятельность программистом, он получил колоссальный опыт в JavaScript и в своей книге делится его секретами.
Книга позволит освоить вам Javascript в короткие сроки. Изучая Js по книге, вы напишите такие игры как «Виселица» и «Змейка».
Книга для детей от 10 лет.
|
Python для детей. Самоучитель по программированию
Джейсон Бриггс
Python для детей. Самоучитель по программированию
Вы узнаете как:
- используются элементы Python — функции, модули, списки;
- Научитесь рисовать за счет встроенных инструментов Python;
- анимировать изображения с tkinter;
- сможете писать игры — «Прыг-скок!» (аналог игры Pong)
- Научитесь писать бродилку «Человечек ищет выход», где прыгают по платформам, чтобы добраться до выхода.
Для кого эта книга?
Для детей от 10 лет и для взрослых, желающих научится программировать на языке Python.
|
Программируем с Minecraft. Создай свой мир с помощью Python
Крейг Ричардсон
Программируем с MinecraftСоздай свой мир с помощью Python
Если вы не боитесь криперов, подземелий, пещер и высоких гор, тогда вы знаете, что меч можно превратить в волшебную палочку, замок построить в мгновение ока, а тайные лазы легко можно открыть нажатием секретной кнопки. Данная книга «Программируем с Minecraft» научит создавать все эти и многие другие чудеса с помощью языка Python. Этот язык программирования является одним из основных языков на данный момент, язык, которым пользуются миллионы людей — от профи до новичков!
Вы научитесь:
- сохранять в переменных разные типы данных;
- освоите принцип действия функций;
- узнаете, как проверять условия при помощи булевых значений, операций сравнения и логических операций;
- познакомитесь с циклами while и for;
- поработаете со списками, кортежами и словарями;
- научитесь создавать файлы, записывать и считывать из них данные;
- поймете, в чем прелесть объектно ориентированного программирования.
Для кого эта книга
Для детей от 10 лет, а также всех, кто хочет начать программировать с нуля или не мыслит жизни без Minecraft.
|
Обзор книг по программированию для детей
Приведенный выше список книг по программированию для ребенка, является довольно обширным. Задача родителей, либо преподавателей, выяснить путем пробных уроков, интерес у школьника к тому или иному языку программирования.
Программирование и ребенок.
Задача взрослых, преподающих данный предмет, соблюдать некую грань в обучении. Ребенок должен обучаться программированию в игровой форме. Никогда нельзя использовать оскорбительные слова, физические угрозы и так далее. Все это может оттолкнуть у ребенка желание изучать программирование. Помните об этом. Книги по программированию для детей всегда придут на помощь.
Программирование и ребенок.
Для взрослых, которые хотят изучать программирование, у нас есть специальная подборка — книги и лекции по программированию.
«Как создать сайт. Комикс-путеводитель по HTML, CSS и WordPress»
В отличие от других примеров из списка, книга Нейта Купера написана не только для юных программистов и их родителей, но и для тех, кто интересуется дизайном. Автор знакомит читателя с художницей Ким, попавшей на необычную планету. После необычных приключений с HTML в WordPress-сити Ким возвращается домой.
В этой оригинальной книге текст перемежается комиксами и иллюстрациями самой Ким. Читатель узнает о базовых приемах создания сайта, основы HTML, CSS и WordPress. Чтобы успешно изучить материал, понадобятся самые простые навыки: находить и сохранять файлы, пользоваться браузером. Книга рекомендуется для детей школьного возраста, комиксы подают материал в точной и в то же время интересной форме. Прочитав комикс-путеводитель и выполняя предложенные задания, ребенок научится действовать в WordPress: настраивать, работать с виджетами и плагинами, запустить свой сайт.
Все, кто ознакомились с путеводителем, отмечают лаконичность и четкость подачи материала, оригинальный формат и понятный язык. Книга может служить начальной ступенью, предваряющей изучение более серьезных произведений по программированию сайтов. Согласно отзывам, подходит новичкам, желающим научиться программированию, а также подросткам для разработки собственного блога.
Книги по Javascript и jQuery
Спектр задач, которые можно решать, используя JS очень широк. Это один из инструментов frontend-разработчика. Конечно, без этих знаний не обойдутся и backend-разработчики, которые занимаются программно-аппаратной частью сервиса.
Во второй раздел нашего списка я выделила издания по Javascript. Книги 20-21 гг., так что в них содержится актуальная информация на сегодняшний день.
3. «Javascript и jQuery. Интерактивная веб-разработка» от Джона Дакета
Если вы задались изучить Javascript, то советую начать с этого издания. Просто берите и читайте, изучайте основы языка и творите магию. Вы не только полюбите сам язык, но и его замечательную библиотеку jQuery.
Все массивы, циклы, фреймворки из незнакомых инопланетных символов превратятся для вас простую азбуку. Визуальная составляющая и манера подачи материала просто на высоте. Все приправлено опытом автора, и вы с самого начала поймете, что стоит использовать, а что не стоит делать.
4. «Изучаем программирование на JavaScript» от Фримена Робсона
Руководство и для новичков и уже опытных программистов. Книга хорошо иллюстрирует правило – объясним сложное просто. Текст простой, понятный, главы четко структурированы, а чтобы закрепить материал, авторы включили много упражнений.
После прочтения вы поймете, что книга перевернула у вас представление, что все-таки такое программирование. У вас сложится единая система в голове, вы сможете прочувствовать язык, и уже браться за более сложные вещи. С помощью этого издания вы выстроите себе прочный фундамент, и сможете написать код, которые решит нужные вам задачи.
5. «Выразительный JavaScript» от Марейн Хавербеке
Издание про возможности и тонкости JavaScript Сам автор практик с большим стажем. Вам может показаться, что книга совсем для новичков. Но как удивятся бывалые, когда найдут что-то для себя новенькое.
Рекомендую всем тем, кто планирует заниматься программированием браузеров или тем кто начал изучать язык с нуля. Вы избежите множества ненужных ошибок и не будете часто бегать на StackOverflow. Пособие не только грамотно структурировано, в конце каждой главы вы найдете упражнения, чтобы закрепить свои знания.
6. «JavaScript. Полное руководство» от Дэвида Флэнагана
Современное переиздание бестселлера с дополнением и новыми сведениями по JavaScript. Отличное руководство для веб-разработчиков. Есть опасность, что вы просто проглотите книгу одним махом и не заметите, как прочитали. Отличное пособие для начинающих.
Все нюансы и аспекты языка объяснены очень доступно на ярких примерах кода. В отличие от старых изданий вы обнаружите новые главы про генераторы и итераторы, модули и объекты и т.д. Единственный минус – не совсем качественный перевод.
Алгоритм для обычных книг
Всё очень просто:
- Читаем автора и название;
- Задаем вопросы, ответы на которые мы хотим найти в книге;
- Пролистываем: разглядываем картинки, цитаты;
- Читаем содержание, оглавление, аннотации;
- Читаем книгу (чем быстрее, тем лучше);
- Выделяем основную тему;
- Выделяем факты и новизну;
- Пролистываем книгу;
- Опционально: записываем в табличку в экселе, о чем книга, кто ее посоветовал, стоит ли перечитывать и почему.
Если через полгода нужно будет вспомнить, что было в той книге, ее можно будет просто пролистать — этого будет достаточно. Работает отлично с книгами по психологии, переговорам, маркетингу, etc.
Увы, читать таким способом книгу Дэвида Флэнэгэна «JavaScript. Подробное руководство, 6-е издание» или ng-book бессмысленно и бесполезно. В голове не останется ничего, а время потеряется. И вообще, техника скорочтения для подобных книг скорее вредна, чем полезна.
Когда-то я занимался по книжке «Learn Ruby the hard way» (когда она еще была бесплатной). Главный ее принцип в том, что вам нужно перепечатать 100 программ. Конечно, часть из них нужно улучшить, но главное — это перепечатать 100 листингов. В процессе перепечатки неизбежны ошибки. А в процессе поиска и исправления ошибок приходит понимание того, что собственно в программе делается. Чуть позже я посмотрел курс на Coursera про то, как правильно выстроить процесс собственного обучения, и постепенно у меня сформировался собственный алгоритм чтения технической литературы.
1 Сборник задач по программированию
В 3-м издании сборника представлено более 1700 задач, охватывающих все темы курсов по разработке и расположенных от простого к сложному. С ним любой начинающий легко изучит методику решения типовых задач по программированию. В начале каждого раздела предлагается ответить на вопросы, чтобы учащийся понимал, какие именно темы ему нужно изучить на данном этапе.
Немаловажно, что задачи не привязаны к какому-либо из языков программирования, а значит, пособие могут использовать как старшеклассники, студенты и преподаватели в различных учебных заведениях, а также все любопытствующие для самостоятельного освоения навыков программирования. Кроме того, в задачник включено приложение с материалами для подготовки и сдачи ЕГЭ по информатике
Обновлено: 17-02-2020
Начальный+/Средний уровень
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 и специализированных программных интерфейсов приложений.
«Искусство программирования»
Дональд Кнут
У третьего (актуального) издания на английском языке семь томов. На русский переведено четыре из них: две части первого тома, второй и третий, а также том 4А.
Перевод с английского — И. В. Красиков, С. Г. Тригуб, Ю. Г. Гордиенко
Издательство «Вильямс», 2020 год, 720 + 160 + 832 + 960 с.
Оригинальное название: The Art of Computer Programming by Donald Knuth
Зачем читать: чтобы прокачаться в вычислительной математике и анализе алгоритмов.
Сложность:
Самый классический и самый фундаментальный труд в нашей подборке: многотомник от всемирно признанного гуру в области программирования, автора 19 монографий и более сотни статей.
Труд настолько фундаментален, что в первой книге больше математики, чем программирования: математическая индукция, степени и логарифмы, матрицы и определители — вот это всё. Попадаются задания вроде «докажите утверждение» или «найдите простую замену для сложной формулы» — Кнут считает, что, прежде чем пользоваться готовыми чужими решениями, нужно разобраться в азах.
Далее в этом и последующих томах автор учит анализировать и оценивать алгоритмы, даёт «золотые решения» классических задач (сортировка, поиск, обход деревьев) — и сравнивает, чем хорошо и плохо каждое. Всё это помогает выбирать оптимальные вычислительные стратегии в реальных проектах.
Заметки на полях: читать непросто, но нужно. Тем более что про классику алгоритмизации и вычислительную сложность до сих спрашивают на серьёзных собеседованиях. А первый том «Искусства» даже завершается цитатой Билла Гейтса:
«Если вы смогли дочитать это до конца, вы определённо должны отправить мне своё резюме».
Онлайн платформы для обучения программированию
Кому-то удобнее учиться по книгам, кому-то — на онлайн ресурсе. Зачастую это на порядок удобнее. Онлайн площадки дают возможность сразу написать код в окне задания, проверить его и выявить ошибки. С английским языком ведь так же. В книге материал хорошо структурирован, но практиковаться удобнее в онлайн тренажерах. Давайте разберем еще несколько платных и бесплатных ресурсов для программистов.
Яндекс Практикум. Очень хорошая база знаний. В каждом отдельном уроке разбирается новая тема, и затем сразу дается возможность закрепить ее в тренажере. Один урок занимает десять-пятнадцать минут, поэтому вы быстро продвигаетесь и видите очевидный прогресс. Часть уроков дается бесплатно. В среднем их прохождение занимает около 20 часов. За остальные уроки придется платить, в среднем около 80-100 тысяч рублей за полный курс, рассчитанный на 6-9 месяцев.
Codeacademy. Один из самых популярных онлайн-университетов для программистов. В нем уже прошли курсы более 45 миллионов человек. Базовый аккаунт бесплатный, и его вполне достаточно для обучения. Платный пакет за 18 евро в месяц открывает дополнительные задания и более подробные пошаговые инструкции.
Coursera. Здесь уроки построены не так, как на предыдущих двух площадках. Курсера берет курсы и лекции от специалистов, профессоров и университетов со всего мира и собирает потоки на онлайн обучение. Основная часть курсов проводится на английском языке. Часто есть субтитры, иногда даже русские. Есть как платные, так и бесплатные курсы. В общей сложности в каталоге несколько тысяч онлайн-курсов, среди которых немало курсов для программистов.
Вы дочитали до конца. Поздравляем! За то, что вы долистали до этого абзаца, вам полагается несколько бонусов:
Материалов для изучения мы вам сегодня оставили достаточно. Теперь с чистой совестью прощаемся с вами. Желаем удачи!
EnglishDom #вдохновляемвыучить