Внимание! Этот курс находится в разделе «Песочница». Курсы в этом разделе сделаны пользователями Хекслета и всегда бесплатны. Администрация Хекслета не несет ответственности за эти курсы
Бесплатный
курс
Структура и интерпретация компьютерных программ
8936 студентов
Последнее обновление:
29 апреля 2025
Включено в курс
17 уроков (видео и/или текст)
Чему вы научитесь
- Работать с языком программирования Scheme (Lisp)
- Создавать абстракции
- Реализовывать наибольший общий делитель, проверку на простоту и другие алгоритмы
- Делать рекурсивные вычисления
Описание
Этот курс создан на основе одноименной книги профессоров MIT, и в нем вы изучите основы программирования. Вы узнаете больше о примитивных выражениях, комбинировании и абстракциях, о процедурах и порождаемых ими абстракциях. В итоге вы научитесь реализовывать алгоритмы поиска наибольшего общего делителя и проверки на простоту, строить процедуры с помощью Lambda, делать рекурсивные вычисления и находить корень с помощью метода Ньютона. Этот курс пригодится, если вы хотите более глубоко понимать основы программирования. Знания из этого курса помогают разработчикам развивать свои навыки в программировании.
Программа курса
Продолжительность 5 часов
-
2
Примитивные выражения, комбинирование и абстракция
Знакомимся с языком Lisp, рассматриваем примитивные выражения, комбинирование, процедуры и абстракции -
3
Процедуры как абстракции
Изучаем «процедуры как абстракции» — важный подход при программировании -
4
Процедуры и порождаемые ими процессы 1
Знакомимся с процедурами, процессами, линейной рекурсией и итерациями -
5
Процедуры и порождаемые ими процессы
Продолжаем изучать процедуры, процессы, линейную рекурсию и итерации -
6
Древовидная рекурсия
Рассматриваем вычисление последовательности чисел Фибоначчи как пример древовидной рекурсии -
7
Порядки роста
Знакомимся с понятием «порядок роста», которое дает общую оценку необходимых ресурсов при увеличении входных данных процессов -
8
Возведение в степень
Рассматриваем возведение числа в степень для лучшего понимания порядков роста -
9
Наибольший общий делитель
Изучаем алгоритм поиска наибольшего общего делителя и реализуем его на языке программирования Scheme (LISP) -
10
Проверка на простоту
Реализуем алгоритм проверки числа на простоту на языке программирования Scheme (LISP) -
11
Процедуры в качестве аргументов
Рассматриваем важную особенность языка — возможность передачи процедуры как аргумента в другую процедуру -
14
Метод половинного деления
Рассматриваем реализацию метода половинного деления — простого, но мощного способа нахождения корней уравнений с непрерывными функциями -
15
Нахождение неподвижных точек функций
Знакомимся с понятием «неподвижные точки функции» и учимся искать их -
16
Процедуры как возвращаемые значения
Добиваемся еще большей выразительной силы, создавая процедуры, возвращаемые значения которых сами являются процедурами -
17
Метод Ньютона
Рассматриваем и реализуем общий случай поиска корня с помощью метода Ньютона -
18
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса