Структура и интерпретация компьютерных программ
Включено в курс
Описание
Фундаментальный курс, основанный на одноименной книге от профессоров MIT рассказывает об абстракции данных и кода, рекурсии, состоянии и метаязыковой абстракции. Первая часть соответствует первому разделу книги.
Уроки курса
-
2
СИКП: Примитивные выражения, комбинирование и абстракция
Познакомиться с языком Lisp, рассмотреть примитивные выражения, комбинирование, процедуры и абстракции. -
3
СИКП: Процедуры как абстракции
Рассмотреть важный подход при программировании: процедуры как абстракции. -
4
СИКП: Процедуры и порождаемые ими процессы 1
Рассмотреть процедуры и процессы, линейную рекурсию и итерации. -
5
СИКП: Процедуры и порождаемые ими процессы 2
Рассмотреть процедуры и процессы, линейную рекурсию и итерации. -
6
СИКП: Древовидная рекурсия
В качестве примера древовидной рекурсии рассмотрим вычисление последовательности чисел Фибоначчи, в которой каждое число является суммой двух предыдущих. -
7
СИКП: Порядки роста
Познакомиться с понятием порядка роста (order of growth), которое дает общую оценку ресурсов, необходимых процессу при увеличении его входных данных. -
8
СИКП: Возведение в степень
Рассмотреть задачу возведения числа в степень для лучшего понимания порядков роста -
9
СИКП: Наибольший общий делитель
Рассмотреть алгоритм поиска наибольшего общего делителя и реализовать его на языке программирования Scheme (LISP). -
10
СИКП: Проверка на простоту
Реализовать алгоритм проверки числа на простоту на языке программирования Scheme (LISP). -
11
СИКП: Процедуры в качестве аргументов
Рассмотреть важную особенность языка: возможность передачи процедуры как аргумента в другую процедуру. -
12
СИКП: Построение процедур с помощью lambda
Научиться создавать процедуры на лету с помощью lambda. -
13
СИКП: Создание локальных переменных
Научиться создавать локальные переменные в процедурах. -
14
СИКП: Метод половинного деления
Рассмотреть реализацию метода половинного деления (half-interval method) — простого, но мощного способа нахождения корней уравнения f(x) = 0, где f — непрерывная функция. -
15
СИКП: Нахождение неподвижных точек функций
Рассмотреть нахождение неподвижных точек функций. Число x называется неподвижной точкой (fixed point) функции f, если оно удовлетворяет уравнению f(x) = x. -
16
СИКП: Процедуры как возвращаемые значения
Добиться еще большей выразительной силы, создавая процедуры, возвращаемые значения которых сами являются процедурами. -
17
СИКП: Метод Ньютона
Рассмотреть и реализовать общий случай поиска корня с помощью метода Ньютона. -
18
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса
Формат обучения
Отзывы

Спасибо за этот прекрасный курс и подробные объяснения! Очень нравятся Ваши уроки, Рахим.

Спасибо за курс. Мотивирует меня оформить подписку =) Даже при условии наличия раздачи на рутрекере.

Спасибо, первая часть курса очень понравилась. Жалею что у меня не было такого курса в университете. Жду с нетерпением вторую часть курса.

Посмотрел, случайно данный курс на youtube, очень понравился, зарегистрировался чтобы сказать спасибо за проделанную работу. Надеюсь на продолжение данного курса, по оставшимся частям книги. Курс действительно очень хорош и затрагивает фундаментальные вещи, поэтому не забрасывайте его. Имхо, таким курсам нужно уделять, как можно больше времени, от новичков, таких как я, точно не будет отбоя:) Лично для меня оказалось лучше и увлекательней смотреть видео и слушать ваши пояснения чем читать книгу. Собственно вопрос: планируете ли продолжать? И да, еще раз спасибо!