INOSTUDIO

Разработка софта: подборка обучающих материалов

C чего начался этот список? Недавно Таганрогское сообщество разработчиков проводило конференцию, посвященную front-end разработке. И они коснулись интересной темы – материалов, содержащих знания, которые лежат в основе труда разработчика программного обеспечения. Не секрет, что зачастую мы уделяем недостаточно внимания теоретической базе, чтобы целиком сосредотоиться на практике. И только опыт дает возможность осознать, что без фундаментальных знаний практика превращается буквально в ночную прогулку по полю граблей.

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

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



  • Harvard

This is CS50


  • Caltech

Линейное программирование

Эффективные алгоритмы

Виртуальные машины

Параллельное программирование

Алгоритмы и структуры данных

Основы Java

Основы программной инженерии

Компьютерные сети

Математические основы Computer Science

Сложность вычислений и основы криптографии

Видеолекции «Школы Анализа Данных» Яндекса



Книги

Томас Кормен «Алгоритмы. Построение и анализ»

Брайан Керниган, Деннис Ритчи «Язык программирования C»

Харольд Абельсон, Джеральд Джей Сассман «Структура и Интерпретация Компьютерных Программ»

Генри Уоррен «Алгоритмические трюки для программистов»

Никлаус Вирт «Алгоритмы и структуры данных»

Альфред Ахо, Джон Хопкрофт, Джеффри Ульман «Структуры данных и алгоритмы»

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

Дональд Кнут «Искусство программирования. Основные алгоритмы». Том 1Том 2Том 3Том 4


II. Общие вопросы разработки ПО

Грэди Буч «Объектно - ориентированный анализ и проектирование с примерами приложений на С++»

Стив Макконелл «Совершенный код»

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

Эндрю Хант, Дэвид Томас «Программист-прагматик. Путь от подмастерья к мастеру»

Фредерик Брукс «Мифический человеко-месяц, или Как создаются программные системы»

Чад Фаулер «Программист-фанатик»

Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес «Приемы объектно-ориентированного проектирования. Паттерны проектирования»

Мартин Фаулер, Кент Бек, Джон Брант, Уильям Апдайк, Дон Робертс «Рефакторинг. Улучшение существующего кода»

Мартин Фаулер «Шаблоны корпоративных приложений»

Кент Бек, Мартин Фаулер «Экстремальное программирование: планирование»

Майкл Ховард, Дэвид Лебланк «Защищенный код»

Чарльз Петцольд «Код. Тайный язык информатики»

Джон Бентли «Жемчужины программирования»

Том ДеМарко, Тимоти Листер «Человеческий фактор. Успешные проекты и команды»

Питер Сейбел «Кодеры за работой. Размышления о ремесле программиста»

Кент Бек «Экстремальное программирование: разработка через тестирование»

Эрик Эванс «Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем»

Ричард Фейнман «Вы, конечно, шутите, мистер Фейнман!»

DavidKushner «MastersofDOOM»

Federico Biancuzzi «Masterminds of Programming: Conversations with the Creators of Major Programming Languages»

Линус Торвальдс, Дэвид Даймонд «Just for Fun. Рассказ нечаянного революционера»


III. Отдельные технологии


  • .NET


  • JavaScript

Дуглас Крокфорд «JavaScript: сильные стороны»

Addy Osmani «Learning JavaScript Design Patterns»

Nicholas Zakas «Maintainable JavaScript» 


Читайте на Rusbase:


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

Мы надеемся, что подборка окажется вам полезной. 

Фото на обложке: Shutterstock.


comments powered by Disqus

Подпишитесь на рассылку RUSBASE

Мы будем вам писать только тогда, когда это действительно очень важно