Bradfield School of Computer Science
"Что к чему" гайд: Teach Yourself Computer Science
Другие уточняющие статьи и материалы:
- Guide: Learn how computers work
- Guide: How to learn C
- Guide: How to learn about database systems
- Opinion: Learn every language
- Opinion: Cutting through to what matters
- Opinion: The cost of forsaking C
Вдохновление:
По объективным причинам рекомендуется следующая зависимость:
сomputer architecture before operating systems or databases, and networking and operating systems before distributed systems.
Остальное на усмотрение.
Замечания и детали по разделу смотреть по ссылке в названии раздела.
Обсуждение: http://slack-ru.hexlet.io/
Roadmap:
-
-
Цель-минимум:
- Прочитать и сделать большинство упражнений из первый трех частей СИКПа.
- Concepts, Techniques, and Models of Computer Programming
- SICP:
- Офигенная книга Concepts, Techniques, and Models of Computer Programming:
-
-
-
Цель-минимум:
- Пройти CS61C
- MIPS assembly track to exercism.io
-
Вводная:
- Guide: Learn how computers work
- Opinion: The cost of forsaking C
- Guide: How to learn C
-
Patterson and Hennesy’s Computer Organization and Design + CS61C Spring 2015:
-
What's new in CPUs since the 80s and how does it affect programmers?
-
Потяжелее (covers vectors and GPUs): Computer Science 152: Computer Architecture and Engineering
-
-
Algorithms and Data Structures
-
Цель-минимум:
- solving around 100 random leetcode problems
- How to Solve It: A New Aspect of Mathematical Method
- Practical Algorithms and Data Structures
-
-
-
Цель-минимум:
-
-
-
Opinion: Learn every language
-
полегче: Language Implementation Patterns
-
Журнал «Практика функционального программирования»
-
2009 → Выпуск 1:
- От редактора
- Лень бояться. Сергей Зефиров
- Функции и функциональный подход. Роман Душкин
- Изменяемое состояние: опасности и борьба с ними. Евгений Кирпичёв
- Давно не брал я в руки шашек. Дмитрий Астапов
- Моноиды в Haskell и их использование. Dan Piponi
- Обзор литературы о функциональном программировании. Алексей Отт
-
2009 → Выпуск 2:
- История разработки одного компилятора. Дмитрий Зуйков
- Использование Haskell при поддержке критически важной для бизнеса информационной системы. Дмитрий Астапов
- Прототипирование с помощью функциональных языков. Сергей Зефиров, Владислав Балин
- Использование Scheme в разработке семейства продуктов «Дозор-Джет». Алекс Отт
- Как украсть миллиард или Давайте сделаем это по-быстрому. Александр Самойлович
- Алгебраические типы данных и их использование в программировании. Роман Душкин
-
2009 → Выпуск 3:
- Рекурсия + мемоизация = динамическое программирование. Дмитрий Астапов
- Проектирование Erlang-клиента к memcached. Лев Валкин
- Как построить Google Wave из Erlang и Tcl при помощи OCaml. Дмитрий Астапов, Алексей Щепин
- Полиморфизм в языке Haskell. Роман Душкин
- Элементы функциональных языков. Евгений Кирпичёв
-
2010 → Выпуск 4
- Лисп — абстракции на стероидах. Виталий Маяцких
- Clojure, или «Вы все еще используете Java? Тогда мы идем к вам!». Алекс Отт
- Пределы выразительности свёрток. Виталий Брагилевский
- Мономорфизм, полиморфизм и экзистенциальные типы. Роман Душкин
- Сечения композиции как инструмент бесточечного стиля. Денис Москвин
-
2010 → Выпуск 5
- Результаты конкурса ПФП–2009. Дмитрий Астапов
- Инструменты интроспекции в Erlang/OTP. Максим Трескин
- Экономия ошибок. С. Зефиров, А. Сафронов, В. Шабанов, Е. Мельников
- Введение в F#. Евгений Лазин, Максим Моисеев, Давид Сорокин
- Лисп — философия разработки. Всеволод Дёмкин, Александр Манзюк
- Оптимизирующие парсер-комбинаторы. Дмитрий Попов
- Модель типизации Хиндли — Милнера и пример её реализации на языке Haskell. Роман Душкин
-
2010 → Выпуск 6
-
- Язык Рефал — взгляд со стороны
- Circumϐlex — веб-фреймворк на Scala comme il faut. Александр Темерев
- Разработка алгоритма обнаружения движения в среде программирования Mathematica. Вадим Залива
- Как написать LDAP-сервер на Erlang. Максим Сохацкий, Олег Смирнов
- Как написать LDAP-сервер на Си. Лев Валкин
- Продолжения в практике. Алексей Вознюк
- Суперкомпиляция: идеи и методы. Илья Ключников