4

Step 4

1.2. Процедуры и порождаемые ими процессы

8

Step 8

1. Построение абстракций с помощью процедур. 1.1. Элементы программирования

50

Step 50

1.3. Формулирование абстракций с помощью процедур высших порядков

04 June—11 June

57

Step 57

2. Построение абстракций с помощью данных. 2.1. Введение в абстракцию данных

11 June—16 June

60

Step 60

2.2. Иерархические данные и свойство замыкания

16 June—29 June

61

Step 61

2.3. Символьные данные

29 June—05 July

62

Step 62

2.4. Множественные представления для абстрактных данных

05 July—10 July

63

Step 63

2.5. Системы с обобщенными операциями

10 July—17 July

64

Step 64

3. Модульность, объекты и состояние. 3.1. Присваивание и внутреннее состояние объектов

17 July—22 July

65

Step 65

3.2. Модель вычислений с окружениями

22 July—27 July

66

Step 66

3.3. Моделирование при помощи изменяемых данных

27 July—07 August

67

Step 67

3.4. Параллелизм: время имеет значение

07 August—14 August

68

Step 68

3.5. Потоки

15 August—01 September

4

Step 4

1.2. Процедуры и порождаемые ими процессы

8

Step 8

1. Построение абстракций с помощью процедур. 1.1. Элементы программирования

50

Step 50

1.3. Формулирование абстракций с помощью процедур высших порядков

04 June—11 June

57

Step 57

2. Построение абстракций с помощью данных. 2.1. Введение в абстракцию данных

11 June—16 June

60

Step 60

2.2. Иерархические данные и свойство замыкания

16 June—29 June

61

Step 61

2.3. Символьные данные

29 June—05 July

62

Step 62

2.4. Множественные представления для абстрактных данных

05 July—10 July

63

Step 63

2.5. Системы с обобщенными операциями

10 July—17 July

64

Step 64

3. Модульность, объекты и состояние. 3.1. Присваивание и внутреннее состояние объектов

17 July—22 July

65

Step 65

3.2. Модель вычислений с окружениями

22 July—27 July

66

Step 66

3.3. Моделирование при помощи изменяемых данных

27 July—07 August

67

Step 67

3.4. Параллелизм: время имеет значение

07 August—14 August

68

Step 68

3.5. Потоки

15 August—01 September

16 February 2018 01 September 2018
Goal completed 29 June 2018

Goal author

Дмитрий К

Russia, Ростов-на-Дону

43 years old

General

Структура и интерпретация компьютерных программ (SICP)

Это вспомогательная цель (подцель), для основной https://smartprogress.do/goal/290474/.

Книга "Структура и интерпретация компьютерных программ" Харольда Абельсона и Джеральда Джей Сассмана основана на курсе, который читался много лет в MIT. В книге изложены основные понятия и принципы программирования.

Википедия: используя Scheme (диалект языка LISP), авторы описали основные концепции программирования, включая абстракцию (данных и исполнения), рекурсию и метаязыковую абстракцию.

Мне нужны только первые три главы, которые я планирую изучить (теорию и практику) в течение ближайших 3,5 месяцев.

Решения практических заданий буду выкладывать в репозитории на гитхабе .

Отписываться здесь планирую не реже 1 раза в неделю.

P.S. Эту книгу я беру не в первый раз в руки, я ее уже изучаю, но хочу сделать подход более системным и структурированным.

 Goal Accomplishment Criteria

Изучено 3 первых раздела книги

 Personal resources

Время

 Goal ecological compatibility

Достижение этой цели поможет мне продвинуться в достижении цели стать программитом

  1. 1.2. Процедуры и порождаемые ими процессы

    1. 1.2.1. Линейные рекурсия и итерация

    2. 1.2.2. Древовидная рекурсия

    3. 1.2.3. Порядки роста

    4. 1.2.4. Возведение в степень

    5. 1.2.5. Нахождение наибольшего общего делителя

    6. 1.2.6. Пример: проверка на простоту

  2. 1. Построение абстракций с помощью процедур. 1.1. Элементы программирования

    1. 1.1.1. Выражения

    2. 1.1.2. Имена и окружение

    3. 1.1.3. Вычисление комбинаций

    4. 1.1.4. Составные процедуры

    5. 1.1.5. Подстановочная модель применения процедуры

    6. 1.1.6. Условные выражения и предикаты

    7. 1.1.7. Пример: вычисление квадратного корня методом Ньютона

    8. 1.1.8. Процедуры как абстракции типа «черный ящик»

  3. 1.3. Формулирование абстракций с помощью процедур высших порядков

    1. 1.3.1. Процедуры в качестве аргументов

    2. 1.3.2. Построение процедур с помощью lambda

    3. 1.3.3. Процедуры как обобщенные методы

    4. 1.3.4. Процедуры как возвращаемые значения

  4. 2. Построение абстракций с помощью данных. 2.1. Введение в абстракцию данных

    1. 2.1.1. Пример: арифметические операции над рациональными числами

    2. 2.1.2. Барьеры абстракции

    3. 2.1.3. Что значит слово «данные»?

    4. 2.1.4. Расширенный пример: интервальная арифметика

  5. 2.2. Иерархические данные и свойство замыкания

    1. 2.2.1. Представление последовательностей

    2. 2.2.2. Иерархические структуры

    3. 2.2.3. Последовательности как стандартные интерфейсы

    4. 2.2.4. Пример: язык описания изображений

  6. 2.3. Символьные данные

    1. 2.3.1. Кавычки

    2. 2.3.2. Пример: символьное дифференцирование

    3. 2.3.3. Пример: представление множеств

    4. 2.3.4. Пример: деревья кодирования по Хаффману

  7. 2.4. Множественные представления для абстрактных данных

    1. 2.4.1. Представления комплексных чисел

    2. 2.4.2. Помеченные данные

    3. 2.4.3. Программирование, управляемое данными, и аддитивность

  8. 2.5. Системы с обобщенными операциями

    1. 2.5.1. Обобщенные арифметические операции

    2. 2.5.2. Сочетание данных различных типов

    3. 2.5.3. Пример: символьная алгебра

  9. 3. Модульность, объекты и состояние. 3.1. Присваивание и внутреннее состояние объектов

    1. 3.1.1. Внутренние переменные состояния

    2. 3.1.2. Преимущества присваивания

    3. 3.1.3. Издержки, связанные с введением присваивания

  10. 3.2. Модель вычислений с окружениями

    1. 3.2.1. Правила вычисления

    2. 3.2.2. Применение простых процедур

    3. 3.2.3. Кадры как хранилище внутреннего состояния

    4. 3.2.4. Внутренние определения

  11. 3.3. Моделирование при помощи изменяемых данных

    1. 3.3.1. Изменяемая списковая структура

    2. 3.3.2. Представление очередей

    3. 3.3.3. Представление таблиц

    4. 3.3.4. Имитация цифровых схем

    5. 3.3.5. Распространение ограничений

  12. 3.4. Параллелизм: время имеет значение

    1. 3.4.1. Природа времени в параллельных системах

    2. 3.4.2. Механизмы управления параллелизмом

  13. 3.5. Потоки

    1. 3.5.1. Потоки как задержанные списки

    2. 3.5.2. Бесконечные потоки

    3. 3.5.3. Использование парадигмы потоков

    4. 3.5.4. Потоки и задержанное вычисление

    5. 3.5.5. Модульность функциональных программ и модульность объектов

  • 2277
  • 16 February 2018, 07:53
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?