alexey_rom: (Default)
Домашние задания:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/homework6.txt
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/homework7.txt

Файлы к лабораторной 6:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/control.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/cut.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/database.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/difflists.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/negation.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/op.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/search.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/second_order.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/stack.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/var_nonvar.pl

Файлы к лабораторной 7:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/basic_english.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rec_bad.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rec.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_pronouns_bad.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_pronouns.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_parse_trees.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rules_lexicon.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/abc.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/ast.pl

Лабораторная 7 практически целиком по Learn Prolog Now, лекции 7 и 8, только с той разницей, что разностные списки уже были.
alexey_rom: (Default)
Ссылка с более подробным описанием

Материалы

Coverage
- Parsing and interpretation in Prolog
- Basics of small-step and big-step semantics
- Basics of untyped and typed lambda calculi
- Introduction to Haskell
- Basics of denotational semantics
- Denotational semantics in Haskell
- Basics of static program analysis
- Static program analysis in Haskell
- OO programming in Haskell
- The Expression Problem
- Basics of Constraint-Logic Programming
- Basics of Process Algebra (CCS)
- ... a few more specialized lectures

Characteristics
- English as the course language
- Slides, videos, exercises available online publicly
- 42 hours (45mins each) of lectures over 4 months
- 12 programming-oriented, interactive labs
- Transparent scheme for midterm and final exam
- Heavy reuse of material from other courses
- Use of Twitter for notification and aggregation
alexey_rom: (Default)
Уже третий год в весеннем семестре я веду курс "Функциональное и логическое программирование" у двух групп. У нас будет 7 лекций и 7 лабораторных (по две пары). (В одной группе, возможно, 6).

Выбор языков:
По ЛП, понятно, Пролог. По ФП Эрланг ради простоты и синтаксической близости с Прологом.

Мои планы:
3 занятия по ФП, 4 по ЛП

Лекция 1. Преимущества неизменяемых данных, списки в ФП, хвостовая vs нехвостовая рекурсия
Лабораторная 1. Знакомство с Эрлангом, написание первых функций.
Лекция 2. Функции как значения. Напомнить лямбда-исчисление. Замыкания. Сравнить с указателями на функции в C и поговорить о ситуации в других языках.
Лабораторная 2. ФВП. Применение для работы со списками и как управляющих конструкций.
Лекция 3. Алгебраические типы данных. Если успею -- немного о выводе типов. Ленивость.
Лабораторная 3. List comprehensions. Представление сложных данных. Пример: деревья.

По ЛП куда меньше теории, которая не связана непосредственно с Прологом.

Лекция 4. Идея логического программирования. Синтаксис Пролога.
Лабораторная 4. Знакомство с Прологом. Простая БД. Написание правил и запросов.
Лекция 5. Арифметика. Операторы.
Лабораторная 5. Работа со списками. Представление сложных данных. Деревья.
Лекция и лабораторная 6. Алгоритм унификации и поиска с откатом. Порядок клозов в правилах. Сечения (зелёные и красные). Отрицание.
Если успеваю: Работа со свободными переменными. Разностные списки.
Лекция и лабораторная 7. Грамматики (DCG). Код как данные.

Ваше мнение? Есть ли что-то, о чём обязательно нужно рассказать, а у меня этого нет? Есть ли что-то явно лишнее?

Кроме того, выложил на Dropbox материал и задание к первой лабораторной. Может быть, кому-нибудь будет интересно. Те же вопросы, что по общему плану занятий.

Profile

alexey_rom: (Default)
alexey_rom

April 2012

S M T W T F S
1 234567
89 1011121314
15161718192021
22232425262728
2930     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2017 12:51 pm
Powered by Dreamwidth Studios