Структура и интерпретация компьютерных программ (SICP)
Это вспомогательная цель (подцель), для основной https://smartprogress.do/goal/290474/.
Книга "Структура и интерпретация компьютерных программ" Харольда Абельсона и Джеральда Джей Сассмана основана на курсе, который читался много лет в MIT. В книге изложены основные понятия и принципы программирования.
Википедия: используя Scheme (диалект языка LISP), авторы описали основные концепции программирования, включая абстракцию (данных и исполнения), рекурсию и метаязыковую абстракцию.
Мне нужны только первые три главы, которые я планирую изучить (теорию и практику) в течение ближайших 3,5 месяцев.
Решения практических заданий буду выкладывать в репозитории на гитхабе .
Отписываться здесь планирую не реже 1 раза в неделю.
P.S. Эту книгу я беру не в первый раз в руки, я ее уже изучаю, но хочу сделать подход более системным и структурированным.
Goal Accomplishment Criteria
Изучено 3 первых раздела книги
Personal resources
Время
Goal ecological compatibility
Достижение этой цели поможет мне продвинуться в достижении цели стать программитом
- 
                    
                    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. Модульность функциональных программ и модульность объектов 
 
- 
                                                                        
- 2782
- 16 February 2018, 07:53
Don't miss new posts!
Subscribe for the Goal and follow through to its completion
 
     
     
				