Структура и интерпретация компьютерных программ (SICP)
Это вспомогательная цель (подцель), для основной https://smartprogress.do/goal/290474/.
Книга "Структура и интерпретация компьютерных программ" Харольда Абельсона и Джеральда Джей Сассмана основана на курсе, который читался много лет в MIT. В книге изложены основные понятия и принципы программирования.
Википедия: используя Scheme (диалект языка LISP), авторы описали основные концепции программирования, включая абстракцию (данных и исполнения), рекурсию и метаязыковую абстракцию.
Мне нужны только первые три главы, которые я планирую изучить (теорию и практику) в течение ближайших 3,5 месяцев.
Решения практических заданий буду выкладывать в репозитории на гитхабе .
Отписываться здесь планирую не реже 1 раза в неделю.
P.S. Эту книгу я беру не в первый раз в руки, я ее уже изучаю, но хочу сделать подход более системным и структурированным.
Критерий завершения
Изучено 3 первых раздела книги
Личные ресурсы
Время
Экологичность цели
Достижение этой цели поможет мне продвинуться в достижении цели стать программитом
-
1.2. Процедуры и порождаемые ими процессы
-
1.2.1. Линейные рекурсия и итерация
-
1.2.2. Древовидная рекурсия
-
1.2.3. Порядки роста
-
1.2.4. Возведение в степень
-
1.2.5. Нахождение наибольшего общего делителя
-
1.2.6. Пример: проверка на простоту
-
-
1. Построение абстракций с помощью процедур. 1.1. Элементы программирования
-
1.1.1. Выражения
-
1.1.2. Имена и окружение
-
1.1.3. Вычисление комбинаций
-
1.1.4. Составные процедуры
-
1.1.5. Подстановочная модель применения процедуры
-
1.1.6. Условные выражения и предикаты
-
1.1.7. Пример: вычисление квадратного корня методом Ньютона
-
1.1.8. Процедуры как абстракции типа «черный ящик»
-
-
1.3. Формулирование абстракций с помощью процедур высших порядков
-
1.3.1. Процедуры в качестве аргументов
-
1.3.2. Построение процедур с помощью lambda
-
1.3.3. Процедуры как обобщенные методы
-
1.3.4. Процедуры как возвращаемые значения
-
-
2. Построение абстракций с помощью данных. 2.1. Введение в абстракцию данных
-
2.1.1. Пример: арифметические операции над рациональными числами
-
2.1.2. Барьеры абстракции
-
2.1.3. Что значит слово «данные»?
-
2.1.4. Расширенный пример: интервальная арифметика
-
-
2.2. Иерархические данные и свойство замыкания
-
2.2.1. Представление последовательностей
-
2.2.2. Иерархические структуры
-
2.2.3. Последовательности как стандартные интерфейсы
-
2.2.4. Пример: язык описания изображений
-
-
2.3. Символьные данные
-
2.3.1. Кавычки
-
2.3.2. Пример: символьное дифференцирование
-
2.3.3. Пример: представление множеств
-
2.3.4. Пример: деревья кодирования по Хаффману
-
-
2.4. Множественные представления для абстрактных данных
-
2.4.1. Представления комплексных чисел
-
2.4.2. Помеченные данные
-
2.4.3. Программирование, управляемое данными, и аддитивность
-
-
2.5. Системы с обобщенными операциями
-
2.5.1. Обобщенные арифметические операции
-
2.5.2. Сочетание данных различных типов
-
2.5.3. Пример: символьная алгебра
-
-
3. Модульность, объекты и состояние. 3.1. Присваивание и внутреннее состояние объектов
-
3.1.1. Внутренние переменные состояния
-
3.1.2. Преимущества присваивания
-
3.1.3. Издержки, связанные с введением присваивания
-
-
3.2. Модель вычислений с окружениями
-
3.2.1. Правила вычисления
-
3.2.2. Применение простых процедур
-
3.2.3. Кадры как хранилище внутреннего состояния
-
3.2.4. Внутренние определения
-
-
3.3. Моделирование при помощи изменяемых данных
-
3.3.1. Изменяемая списковая структура
-
3.3.2. Представление очередей
-
3.3.3. Представление таблиц
-
3.3.4. Имитация цифровых схем
-
3.3.5. Распространение ограничений
-
-
3.4. Параллелизм: время имеет значение
-
3.4.1. Природа времени в параллельных системах
-
3.4.2. Механизмы управления параллелизмом
-
-
3.5. Потоки
-
3.5.1. Потоки как задержанные списки
-
3.5.2. Бесконечные потоки
-
3.5.3. Использование парадигмы потоков
-
3.5.4. Потоки и задержанное вычисление
-
3.5.5. Модульность функциональных программ и модульность объектов
-
- 2258
- 16 февраля 2018, 07:53
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением