Джентельменский минимум на экзамене по Лиспу
В пятом семестре студенты ИМФИ КГПУ заканчивают курс "Языки и методы программирования". В этом семестре студенты изучают языки программирования Лисп и Пролог.
Пользуясь гнусавым голосом (грипп), записал видео-демонстрации того, что можно показать на экзамене при сдаче практической части. Если студент способен показывать описанные вещи и внятно их обсуждать, вопрос о двойке уже не стои́т.
Данный пост абсолютно не претендует на обучение.
Предполагается, что все лабораторные защищены, а изложенные элементы уже проработаны и осознаны. Разговор идёт исключительно про объём и возможную демонстрацию понимания защищаемого материала.
Сам пост только содержит таблицу содержания к восьми видео-демонстрациям, иллюстрирующим отдельные пройденные элементы языка Лисп в минимально необходимом объёме.
Сам пост только содержит таблицу содержания к восьми видео-демонстрациям, иллюстрирующим отдельные пройденные элементы языка Лисп в минимально необходимом объёме.
Ссылки на полные видео
Можно просто просмотреть этот плейлист от начала к концу. В главах ниже даны ссылки на внутренности этих самых видео-роликов, чтобы в будущем по второму разу не искать и не тратить время. Если хотите добавить ещё какую-нибудь ссылку, то пишите её в комментариях.
Видео 1: основы
О языке Лисп
http://www.youtube.com/watch?v=Mqo_90ZwQyU&t=1m05s
http://www.youtube.com/watch?v=Mqo_90ZwQyU&t=1m05s
Где и как запускать Лисп программы при самостоятельной подготовке.
http://www.youtube.com/watch?v=Mqo_90ZwQyU&t=1m15s
Демонстрация CompileOnline среды для запуска Лисп-программ в браузере.
http://www.youtube.com/watch?v=Mqo_90ZwQyU&t=1m25s
http://www.youtube.com/watch?v=Mqo_90ZwQyU&t=1m25s
Использование LispBox - REPL оболочки для разработки программ на Лиспе.
http://www.youtube.com/watch?v=Mqo_90ZwQyU&t=2m45s
http://www.youtube.com/watch?v=Mqo_90ZwQyU&t=2m45s
Источники (литература). Эта секция сильно устарела, студентами найдены более интересные и близкие им книги.
Видео 2: s-выражения, простые операции
http://www.youtube.com/watch?v=WNkAO4C3rPs
Как отличаются строки программ на Си и на Лиспе. S-выражения.
Как выходить из ошибки в среде LispBox.
Про отступы, редактор и поиск опечаток
Про то, что надо в тетрадку всё выписать
Видео 3: пара слов про списки
http://www.youtube.com/watch?v=p_PRytnW8IE&t=15sСоздание списков: quote, '
http://www.youtube.com/watch?v=p_PRytnW8IE&t=50s
Голова и хвост
http://www.youtube.com/watch?v=p_PRytnW8IE&t=1m20s
Проверка списка на пустоту
http://www.youtube.com/watch?v=p_PRytnW8IE&t=2m54s
Лабораторная работа №1 (общая часть, а)
http://www.youtube.com/watch?v=p_PRytnW8IE&t=3m54s
Функция let
http://www.youtube.com/watch?v=p_PRytnW8IE&t=6m15s
Лабораторная №1, (общая часть, b)
http://www.youtube.com/watch?v=p_PRytnW8IE&t=7m42s
LispBox: сбор ответа из фрагментов кода в других строках.
http://www.youtube.com/watch?v=p_PRytnW8IE&t=8m22s
Лабораторная работа №1 (общая часть, с)
http://www.youtube.com/watch?v=p_PRytnW8IE&t=9m17s
Лабораторная работа №1 (вариант)
http://www.youtube.com/watch?v=p_PRytnW8IE&t=10m54s
Видео 4: условные операторы if и cond
Про оператор if.http://www.youtube.com/watch?v=fLu47OTea7s
Решение квадратного уравнения на if-ах.
http://www.youtube.com/watch?v=fLu47OTea7s&t=2m38s
Оператор cond.
http://www.youtube.com/watch?v=fLu47OTea7s&t=4m40s
Разбор оператора cond.
http://www.youtube.com/watch?v=fLu47OTea7s&t=7m38s
Задача про шахматного коня.
http://www.youtube.com/watch?v=fLu47OTea7s&t=8m50s
Лаб. №2, общее, сравнение списков.
http://www.youtube.com/watch?v=fLu47OTea7s&t=11m40s
Видео 5: defun и примеры на функции
defun и функцииhttp://www.youtube.com/watch?v=PO3a7aklRPw
Вспомогательные переменные, оператор let.
http://www.youtube.com/watch?v=PO3a7aklRPw&t=3m20s
Оператор progn - блок из многих строк.
http://www.youtube.com/watch?v=PO3a7aklRPw&t=5m00s
Решение квадратного уравнения.
http://www.youtube.com/watch?v=PO3a7aklRPw&t=5m09s
Решение задач из лабораторной №3.
http://www.youtube.com/watch?v=PO3a7aklRPw&t=8m10s
Сравнение возраста по датам рождения.
http://www.youtube.com/watch?v=PO3a7aklRPw&t=10m32s
Ещё одна задача.
http://www.youtube.com/watch?v=PO3a7aklRPw&t=14m10s
Видео 6: рекурсия
http://www.youtube.com/watch?v=SNItHXTv4RIПримеры: сумма элементов списка.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=2m00s
Примеры: максимальный элемент из списка.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=5m35s
Поиск и замена элемента в списке.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=8m15s
Удаление элемента в списка.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=9m45s
Удаление первого вхождения элемента в списке.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=11m09s
Замена первого вхождения элемента в списке.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=11m48s
Несколько слов о рекурсии, чтение списков с клавиатуры.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=12m50s
Ряд Фибоначчи.
http://www.youtube.com/watch?v=SNItHXTv4RI&t=13m50s
Видео 7: цикл loop
Введениеhttps://www.youtube.com/watch?v=KO6_YbgUFI8
Цикл loop, источники данных для итерации
https://www.youtube.com/watch?v=KO6_YbgUFI8&t=25s
Источники данных (for i from, for e in list, for char in string)
https://www.youtube.com/watch?v=KO6_YbgUFI8&t=3m04s
Тело цикла (collect, maximize, minimize, summing, ...)
https://www.youtube.com/watch?v=KO6_YbgUFI8&t=5m05s
Пример: интеграл от нуля до двух пи от квадрата синуса - показано использование промежуточных переменных, использование finally:
https://www.youtube.com/watch?v=KO6_YbgUFI8&t=6m52s
Пример работы с групповыми операциями, сохранёнными в промежуточные переменные (вычисление статистических свойств ряда):
https://www.youtube.com/watch?v=KO6_YbgUFI8&t=9m54s
Продвинутый цикл loop, пример: оператор if
https://www.youtube.com/watch?v=KO6_YbgUFI8&t=15m43s
Разбиение строки на слова циклом loop и функциями position + subseq:
https://www.youtube.com/watch?v=KO6_YbgUFI8&t=17m20s
Видео 8: функции, именованные и дополнительные аргументы
Оборачиваю loop в функцию, выводя входные элементы в аргументы.http://www.youtube.com/watch?v=Sl6yh4I9ByU
Показываю, как здорово, когда можно подкрутить готовый алгоритм, уточнив свои требования:
http://www.youtube.com/watch?v=Sl6yh4I9ByU&t=51s
Делаем добавочный настроечный аргумент функции split.
http://www.youtube.com/watch?v=Sl6yh4I9ByU&t=3m09s
Пример доработки функции с пробросом функционала в аргументы и использование условного оператора в цикле loop.
http://www.youtube.com/watch?v=Sl6yh4I9ByU&t=4m50s
Пример необязательных позиционных аргументов.
http://www.youtube.com/watch?v=Sl6yh4I9ByU&t=6m31s
Задача из лабораторной на циклы.
http://www.youtube.com/watch?v=Sl6yh4I9ByU&t=8m53s
Видео 9: на посошок
Почему Лисп называют программируемым языком программирования.http://www.youtube.com/watch?v=7GhR8zeEEFo
Комментариев нет:
Отправить комментарий