
Теоретический минимум по Computer Science
Описание
Хотите стать востребованным программистом? Эта книга Владстона Феррейра Фило – ваш путеводитель в мир компьютерных наук. Вы научитесь вычислительному мышлению, решению сложных задач и написанию эффективного кода. Книга содержит только самую необходимую информацию для каждого разработчика, включая практические примеры. Изучение компьютерных наук может быть увлекательным и полезным, даже в повседневной жизни. Узнайте, как оптимизировать задачи, используя упреждающую выборку и кэширование, и как параллелизм поможет вам на кухне! Эта книга – ваш ключ к успеху в программировании.
Переводчик
Технический редактор
Литературный редактор
Художники
Корректоры
Верстка
© Перевод на русский язык ООО Издательство «Питер», 2018
© Издание на русском языке, оформление ООО Издательство «Питер», 2018
© Серия «Библиотека программиста», 2018
Друзья — это семья, которую мы сами себе выбираем. Я посвящаю книгу моим друзьям Ромуло, Лео, Мото и Крису, которые постоянно меня торопили, чтобы я ее, наконец, закончил.
Я знаю, что дважды два — четыре, и был бы рад доказать это, если б мог, — хотя должен заметить, если бы мне удалось дважды два превратить в пять, это доставило бы мне гораздо больше удовольствия.
Каждый в нашей стране должен научиться программировать, потому что это учит думать.
Когда компьютеры начали менять мир, открывая перед людьми беспрецедентные возможности, расцвела новая наука —
Computer science повсюду, но эта наука по-прежнему преподается как скучная теория. Многие программисты даже не изучали ее! Однако она крайне важна для эффективного программирования. Некоторые мои друзья не могут найти хорошего программиста, чтобы взять его на работу. Вычислительные мощности сегодня в изобилии, а вот людей, способных ими пользоваться, не хватает.
Рис. 1. Компьютерные задачи[1]
Эта книга — моя скромная попытка помочь миру, а также подтолкнуть
Если вы хотите щелкать задачи как орешки, находя эффективные решения, то эта книга для вас. От вас потребуется только чуть-чуть опыта в написании программного кода. Если вам приходилось этим заниматься и вы различаете элементарные операторы вроде for и while, то все в порядке. В противном случае вы найдете все необходимое (и даже больше) на каких-нибудь онлайновых курсах программирования[2]. Вы можете пройти такой курс всего за неделю, и притом бесплатно. Для тех же, кто уже знаком с информатикой, эта книга станет превосходным повторением пройденного и поможет укрепить знания.
Эта книга — для всех. Она о вычислительном мышлении. Вы научитесь превращать задачи в вычислимые системы. Вы также будете использовать вычислительное мышление в повседневных задачах. Упреждающая выборка и кэширование помогут вам упростить процесс упаковки вещей. Освоив параллелизм, вы станете эффективнее управляться на кухне. Ну и, разумеется, ваш программный код будет просто потрясающим.
Да пребудет с вами сила!
Информатика не более наука о компьютерах, чем астрономия — наука о телескопах. Информатика неразрывно связана с математикой.
Компьютерам нужно, чтобы мы разбивали задачи на посильные для них части. Тут нам понадобится немного математики. Не паникуйте, это не высшая математика — написание хорошего программного кода редко требует знания сложных уравнений. В главе 1 вы найдете набор инструментов для решения разных задач. Вы научитесь:
моделировать
отличать правильное от неправильного при помощи
выполнять
уверенно вычислять
Похожие книги

Цифровой этикет. Как не бесить друг друга в интернете
Книга "Цифровой этикет" Ольги Лукиновой – это практическое руководство по онлайн-этикету. Автор собирает и систематизирует правила поведения в сети, основываясь на принципах удобства, безопасности, экономии ресурсов и уважения личных границ. Книга основана на анализе исторических правил, делового этикета и обратной связи от подписчиков Telegram-канала "Цифровой этикет". Она помогает избежать неловкостей, повысить эффективность работы и улучшить взаимоотношения в онлайн-среде. Книга полезно для всех, кто хочет эффективно и вежливо общаться в интернете, будь то деловые партнеры, коллеги или друзья.

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

SEO для Чайников
Этот практический курс "SEO для Чайников" детально рассматривает архитектуру поисковых систем Яндекса и Google. Вы познакомитесь с процессами индексирования, обработки запросов, ранжирования результатов поиска, и освоите ключевые принципы продвижения сайтов. Курс подходит для начинающих, желающих понять, как работают поисковые системы и как эффективно продвигать свои сайты. Узнайте, как Яндекс и Google обрабатывают запросы, как работают поисковые роботы и как оптимизировать сайты для улучшения позиций в результатах поиска.

Rust на примерах
Данное пособие, "Rust на примерах", представляет собой практическое руководство по изучению языка программирования Rust. Пособие содержит множество примеров, иллюстрирующих различные концепции языка, включая работу со стандартной библиотекой. Начинающие программисты найдут здесь подробные объяснения и пошаговые инструкции, необходимые для освоения основ Rust. Учебник охватывает такие ключевые темы, как примитивные типы данных, пользовательские типы, переменные, типы, преобразования, выражения, управление потоком, функции, модули, контейнеры, Cargo, атрибуты, обобщения, правила областей видимости, Traits, макросы, обработка ошибок, типы стандартной библиотеки, стандартные потоки, тестирование, unsafe-код, совместимость, и метаданные. Пособие также включает примеры Hello World и форматированного вывода, а также подробные комментарии к коду. Изучение Rust с помощью этого учебника станет эффективным и увлекательным процессом.
