<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TurtlePU</id>
	<title>Wiki - Факультет компьютерных наук - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TurtlePU"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/TurtlePU"/>
	<updated>2026-09-20T21:51:22Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97646</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97646"/>
		<updated>2026-09-16T16:21:24Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://telemost.360.yandex.ru/j/8633868913 Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[https://telemost.360.yandex.ru/j/7933246722 Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[https://disk.360.yandex.ru/client/aa/d_fkyli3LQi85hhQ/2026-2027/%D0%9F%D0%9C%D0%98/%D0%A2%D0%B8%D0%BF%D1%8B%20%D0%B2%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%D1%85%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%20%D0%A2%D0%B5%D0%BB%D0%B5%D0%BC%D0%BE%D1%81%D1%82%D0%B0 Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика NatBool+Let и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [https://disk.360.yandex.ru/d/O3URDL8cLZnznA Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. NatBool+Fun и его строгая нормализация. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;5 октября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [https://drive.google.com/file/d/1IR3UcGviJBltY17jN5NCGMywjKQLj6Cv/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1AT2Vddz-2fBGT5dZqGgTTtHaZT0K2dzT/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [https://drive.google.com/file/d/14-4wMQq8YiHlnz4lQQrdcYeAO04i4cz6/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1sTcOd_X7vsQkVCRQSzAVjiAZrhcGaifI/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97602</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97602"/>
		<updated>2026-09-15T15:28:48Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://telemost.360.yandex.ru/j/8633868913 Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[https://telemost.360.yandex.ru/j/7933246722 Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[https://disk.360.yandex.ru/client/aa/d_fkyli3LQi85hhQ/2026-2027/%D0%9F%D0%9C%D0%98/%D0%A2%D0%B8%D0%BF%D1%8B%20%D0%B2%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%D1%85%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%20%D0%A2%D0%B5%D0%BB%D0%B5%D0%BC%D0%BE%D1%81%D1%82%D0%B0 Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика NatBool+Let и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [https://disk.360.yandex.ru/d/O3URDL8cLZnznA Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. NatBool+Fun и его строгая нормализация. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [https://drive.google.com/file/d/1IR3UcGviJBltY17jN5NCGMywjKQLj6Cv/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1AT2Vddz-2fBGT5dZqGgTTtHaZT0K2dzT/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [https://drive.google.com/file/d/14-4wMQq8YiHlnz4lQQrdcYeAO04i4cz6/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1sTcOd_X7vsQkVCRQSzAVjiAZrhcGaifI/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97601</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97601"/>
		<updated>2026-09-15T15:27:27Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Полезные ссылки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://telemost.360.yandex.ru/j/8633868913 Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[https://telemost.360.yandex.ru/j/7933246722 Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[https://disk.360.yandex.ru/client/aa/d_fkyli3LQi85hhQ/2026-2027/%D0%9F%D0%9C%D0%98/%D0%A2%D0%B8%D0%BF%D1%8B%20%D0%B2%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%D1%85%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%20%D0%A2%D0%B5%D0%BB%D0%B5%D0%BC%D0%BE%D1%81%D1%82%D0%B0 Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика NatBool+Let и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [https://drive.google.com/file/d/1IR3UcGviJBltY17jN5NCGMywjKQLj6Cv/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1AT2Vddz-2fBGT5dZqGgTTtHaZT0K2dzT/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [https://drive.google.com/file/d/14-4wMQq8YiHlnz4lQQrdcYeAO04i4cz6/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1sTcOd_X7vsQkVCRQSzAVjiAZrhcGaifI/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97591</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97591"/>
		<updated>2026-09-15T06:44:43Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Полезные ссылки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://telemost.360.yandex.ru/j/8633868913 Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика NatBool+Let и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [https://drive.google.com/file/d/1IR3UcGviJBltY17jN5NCGMywjKQLj6Cv/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1AT2Vddz-2fBGT5dZqGgTTtHaZT0K2dzT/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [https://drive.google.com/file/d/14-4wMQq8YiHlnz4lQQrdcYeAO04i4cz6/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1sTcOd_X7vsQkVCRQSzAVjiAZrhcGaifI/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97590</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97590"/>
		<updated>2026-09-15T06:27:39Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика NatBool+Let и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [https://drive.google.com/file/d/1IR3UcGviJBltY17jN5NCGMywjKQLj6Cv/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1AT2Vddz-2fBGT5dZqGgTTtHaZT0K2dzT/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [https://drive.google.com/file/d/14-4wMQq8YiHlnz4lQQrdcYeAO04i4cz6/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1sTcOd_X7vsQkVCRQSzAVjiAZrhcGaifI/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97589</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97589"/>
		<updated>2026-09-15T06:26:19Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [https://drive.google.com/file/d/1IR3UcGviJBltY17jN5NCGMywjKQLj6Cv/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1AT2Vddz-2fBGT5dZqGgTTtHaZT0K2dzT/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [https://drive.google.com/file/d/14-4wMQq8YiHlnz4lQQrdcYeAO04i4cz6/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1sTcOd_X7vsQkVCRQSzAVjiAZrhcGaifI/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97588</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97588"/>
		<updated>2026-09-15T06:15:55Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [https://drive.google.com/file/d/1IR3UcGviJBltY17jN5NCGMywjKQLj6Cv/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1AT2Vddz-2fBGT5dZqGgTTtHaZT0K2dzT/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97587</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97587"/>
		<updated>2026-09-15T05:45:57Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 15 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 22 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97586</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97586"/>
		<updated>2026-09-15T05:45:19Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Полезные ссылки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97585</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97585"/>
		<updated>2026-09-15T05:45:06Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Полезные ссылки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Лекции (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Семинары (Яндекс.Телемост)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97575</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97575"/>
		<updated>2026-09-14T13:14:30Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. Операционная семантика и свойство Чёрча-Россера. [https://app.idroo.com/boards/aHZAFUs8X7 Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97343</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97343"/>
		<updated>2026-09-08T12:08:45Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Доска].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Операционная семантика, её эквивалентность денотационной. Preservation и progress. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Доска]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97342</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97342"/>
		<updated>2026-09-08T11:53:51Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Операционная семантика, её эквивалентность денотационной. Preservation и progress. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97282</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97282"/>
		<updated>2026-09-07T13:40:39Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. [https://app.idroo.com/boards/PNBtzWs2my Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Операционная семантика, её эквивалентность денотационной. Preservation и progress. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ДЗ-1 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97276</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97276"/>
		<updated>2026-09-07T09:32:53Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Операционная семантика, её эквивалентность денотационной. Preservation и progress. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ДЗ-1 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [https://drive.google.com/file/d/1Yx0f-RYTQbc6mdb52roFSz2T09Eb2SZV/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1aBag0qpjxrbZkJpu3dslKqQ1InIkIUa_/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97275</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97275"/>
		<updated>2026-09-07T09:17:48Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Язык NatBool+Let и его денотационная семантика. Типы как носители смысла. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Операционная семантика, её эквивалентность денотационной. Preservation и progress. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- NatBool+Fun и его строгая нормализация. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгебраические типы данных. Списки. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Неподвижная точка. Операторы на типах. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Вычисления с сайд-эффектами. Парсеры. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Изорекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Эквирекурсивные типы данных. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-исчисление и тезис Чёрча-Тьюринга. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Интерпретатор ЛИ на МТ. Практика с ЛИ. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Полиморфизм и System F. Параметричность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Система типов Хиндли-Милнера. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Подтипизация. Ко- и контравариантность. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Теория категорий в теории типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Классы типов и логика первого порядка. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Алгоритмы вывода инстансов классов типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Лямбда-куб. Исчисление конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в исчислении конструкций. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Индуктивные типы. Парадокс Жирара. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda в системе типов Мартина-Лёфа. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Двусторонний вывод типов. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Формализация STLC с индексами де Брауна. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Доказательство нормализации MLTT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Нормализация вычислением. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Группоидная модель MLTT. UIP и UA. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с аксиомой унивалентности. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Кубическая теория типов: интервал, Glue. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. &amp;lt;!-- Практика на Agda с HIT. --&amp;gt; [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ДЗ-1 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97274</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97274"/>
		<updated>2026-09-07T09:11:17Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ДЗ-1 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-1 (теоретическое). Система IntBool+Let. [https://drive.google.com/file/d/1vGZa2yHx7366MGMGG6hUAPWI1EUMQVEG/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1ABGNPbZRyLZtjWk-1woP6t46I1kWLEek/view?usp=drive_link Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97273</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97273"/>
		<updated>2026-09-07T09:09:03Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom по [https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l ссылке]. Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA по [ ссылке].&lt;br /&gt;
&lt;br /&gt;
* ДЗ-1 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-1 (теоретическое). Система IntBool+Let. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;28 сентября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-2 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-2 (теоретическое). STLC как система доказательств. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-3 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-1 (практическое). Парсеры и форматировщики. [ Условие]. Дедлайн: &#039;&#039;&#039;12 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-4 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-3 (теоретическое). Тьюринг-полнота лямбда-исчисления. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;19 октября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-5 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-2 (практическое). Алгоритм W. [ Условие]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-6 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БТДЗ (бонусное теоретическое). Строковый полиморфизм. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;2 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-7 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-3 (практическое). Синтез экземпляров. [ Условие]. Дедлайн: &#039;&#039;&#039;23 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-8 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * БПДЗ (бонусное практическое). Доказательства в Twelf. [ Условие]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-9 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ТДЗ-4 (теоретическое). Доказательства на Agda. [ Условие]. [ Исходник]. Дедлайн: &#039;&#039;&#039;30 ноября в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* ДЗ-10 (TBA). TBA. [ TBA]. Дедлайн: &#039;&#039;&#039;TBA в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;!-- * ПДЗ-4 (практическое). Двусторонний вывод типов. [ Условие]. Дедлайн: &#039;&#039;&#039;14 декабря в 23:59&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97272</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97272"/>
		<updated>2026-09-07T08:45:07Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
Теоретические домашние задания выкладываются на платформе Google Classroom (см. ссылку выше). Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
Практические домашние задания выкладываются на платформе TBA (см. ссылку выше).&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97267</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97267"/>
		<updated>2026-09-07T07:09:23Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Полезные ссылки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[https://classroom.google.com/c/ODc4MDI2NzMxNTc1?cjc=bvqehd7l classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
* Домашние задания будут как теоретические, так и практические. Планируется бонусное теоретическое и бонусное практическое домашние задания.&lt;br /&gt;
&lt;br /&gt;
Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97266</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97266"/>
		<updated>2026-09-07T07:04:09Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Полезные ссылки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/10xGtPxOK5mZ-uMY6jzGptJMbt_dwC8tQppmymrGCoGY/edit?usp=sharing Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
* Домашние задания будут как теоретические, так и практические. Планируется бонусное теоретическое и бонусное практическое домашние задания.&lt;br /&gt;
&lt;br /&gt;
Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97264</id>
		<title>Types 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Types_26&amp;diff=97264"/>
		<updated>2026-09-07T06:07:23Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: Новая страница: «== Типы в языках программирования ==  Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.  &amp;#039;&amp;#039;&amp;#039;Лектор&amp;#039;&amp;#039;&amp;#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].  &amp;#039;&amp;#039;&amp;#039;Семинарист&amp;#039;&amp;#039;&amp;#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].  &amp;#039;&amp;#039;&amp;#039;Ассистент&amp;#039;&amp;#039;&amp;#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].  == П...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Типы в языках программирования ==&lt;br /&gt;
&lt;br /&gt;
Осенний курс по выбору для студентов 3 и 4 курсов ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор&#039;&#039;&#039;: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинарист&#039;&#039;&#039;: Илья Григорьев aka [https://t.me/ilyagribun @ilyagribun].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ассистент&#039;&#039;&#039;: Илья Ткемаладзе aka [https://t.me/intttik @intttik].&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+u5nrljUi_JdiNmRi Канал курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[https://t.me/+A7z6pUNQ2AplNWMy Чат курса (Telegram)]&lt;br /&gt;
&lt;br /&gt;
[ Записи занятий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи теоретических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ classroom для сдачи практических домашних заданий]&lt;br /&gt;
&lt;br /&gt;
[ Оценки]&lt;br /&gt;
&lt;br /&gt;
В отличие от предыдущих лет, ссылки на онлайн-трансляцию будут отличаться от занятия к занятию и публиковаться в канале курса.&lt;br /&gt;
&lt;br /&gt;
== Лекции и семинары ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция 1, 7 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 1, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 2, 14 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 2, ??? 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 3, 21 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 4, 28 сен 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 5, 5 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 6, 12 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 7, 19 окт 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 8, 2 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 9, 9 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 10, 16 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 11, 23 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 12, 30 ноя 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 13, 7 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар 14, 14 дек 2026&#039;&#039;&#039;. TBA. [ Конспект]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
* Домашние задания будут как теоретические, так и практические. Планируется бонусное теоретическое и бонусное практическое домашние задания.&lt;br /&gt;
&lt;br /&gt;
Условие теоретических домашних заданий скомпилировано с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
== Итоговая оценка за курс ==&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(0.4 * ТДЗ + 0.4 * ПДЗ + 0.2 * Э + Б),&lt;br /&gt;
&lt;br /&gt;
где ТДЗ – средняя оценка за теоретические домашние задания, ПДЗ – за практические, Э - оценка за экзамен, а Б – сумма бонусных баллов, полученных за курс.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# [http://prog.tversu.ru/library/tapl.pdf Benjamin C. Pierce, Types and Programming Languages]&lt;br /&gt;
# [https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf Frank Pfenning, Lecture Notes on Bidirectional Type Checking]&lt;br /&gt;
# [https://drive.google.com/file/d/1diURe89Dv3Wu9Bryy4b1CtJ-SWnLMowS/view?usp=drive_link Jean-Yves Girard, Proofs and Types]&lt;br /&gt;
# [https://plfa.github.io/ Philip Wadler, Wen Kokke, Jeremy G. Siek, Programming Language Foundations in Agda]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# [https://drive.google.com/file/d/1UdWcF3IpfpOXwG3r6BF7-NEiKAp-wB5s/view?usp=drive_link Benjamin C. Pierce, Advanced Topics in Types and Programming Languages]&lt;br /&gt;
# [https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf Lectures on the Curry-Howard Isomorphism]&lt;br /&gt;
# [http://twelf.org/wiki/Main_Page The Twelf Project]&lt;br /&gt;
# [https://lean-lang.org/ Programming Language and Theorem Prover – Lean]&lt;br /&gt;
# [https://granule-project.github.io/ The Granule Project]&lt;br /&gt;
# [https://arend-lang.github.io/ Arend Theorem Prover]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Wiki_%D0%A4%D0%9A%D0%9D&amp;diff=97262</id>
		<title>Wiki ФКН</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Wiki_%D0%A4%D0%9A%D0%9D&amp;diff=97262"/>
		<updated>2026-09-07T05:44:21Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Курсы за 2026/27 учебный год */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
= Учебные курсы факультета компьютерных наук =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | &amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;&#039;&#039;&#039;Навигация&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! [[#bachelors|Курсы бакалавриата ФКН]]&lt;br /&gt;
| &amp;lt;div style=&amp;quot;text-align:center&amp;quot;&amp;gt;[[#AMI|ПМИ]] · [[#SE|ПИ]] · [[#DSBA|ПАД]] · [[#compds|КНАД]] · [[#EDA|ЭАД]] · [[#DRIP|ДРИП]] · [[#RICP|РИЦП]] · [[#DIRS|ПИРС]] · [[#electives|майноры и факультативы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | [[#DataCulture|Курсы в рамках проекта Data Culture]] · [[#masters|Курсы магистратуры ФКН]] · [[#other|Курсы других факультетов]] · [[#archive|Архив]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;bachelors&amp;quot;&amp;gt;Курсы за 2026/27 учебный год&amp;lt;/span&amp;gt; ==&lt;br /&gt;
{| class=&amp;quot;wikitable courses&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! width=&amp;quot;21%&amp;quot; | 1 курс !! width=&amp;quot;21%&amp;quot; | 2 курс !! width=&amp;quot;21%&amp;quot; | 3 курс !! width=&amp;quot;21%&amp;quot; | 4 курс  !! rowspan=&amp;quot;2&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;electives&amp;quot;&amp;gt;майноры и факультативы&amp;lt;/span&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;AMI&amp;quot;&amp;gt;ПМИ&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;М++&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Комбинаторика_и_теория_графов_2026/2027 | Комбинаторика и теория графов]]&lt;br /&gt;
&lt;br /&gt;
[[Основы_математического_анализа_2026/2027 | Основы математического анализа]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;М+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Линейная_алгебра_и_геометрия_на_ПМИ_2026/2027_(пилотный_поток) | Линейная алгебра и геометрия (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Математический_анализ_1_2026/27_(пилотный_поток) | Математический анализ-1 (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Дискретная математика_на_ПМИ_2026/2027_(пилотный_поток) | Дискретная математика (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Теория_чисел_(пилотный_поток)_2026/27 | Теория чисел (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Алгебра_на_ПМИ_2026/2027_(пилотный_поток) | Алгебра (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;М&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Линейная_алгебра_и_геометрия_на_ПМИ_2026/2027_(основной_поток) | Линейная алгебра и геометрия (основной поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Математический_анализ_1_2026/27_(основной_поток) | Математический анализ-1 (ПМИ основной поток)]]&lt;br /&gt;
&lt;br /&gt;
[[DM1PMIbase-2026-27 | Дискретная математика (ПМИ основной поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Теория_чисел_(основной_поток)_2026/27 | Теория чисел (основной поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Алгебра_на_ПМИ_2026/2027_(основной_поток) | Алгебра (основной поток)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;П&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Язык программирования Python 2026/27 (основной поток) ]]&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы и структуры данных 1 (основной поток) (4 модуль) 2026/2027]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;П+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Язык программирования C++ (пилотный поток) ]]&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы и структуры данных пилотный поток 2026/2027 | Алгоритмы и структуры данных (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;М+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Математический_Анализ_2_на_ПМИ_2026/27_(пилотный_поток) | Математический анализ 2 (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Теория_вероятностей_2026/27_(пилотный_поток) | Теория вероятностей (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Математическая_статистика-1_2026/27_(пилотный_поток) | Математическая статистика-1 (пилотный поток)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;М&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Теория_вероятностей_на_ПМИ_2026/2027_(основной_поток) | Теория вероятностей (основной поток)]]&lt;br /&gt;
&lt;br /&gt;
[[Математический_анализ_-_2_(основной_поток)_ПМИ_и_ЭАД_2026/2027 | Математический анализ-2 (ПМИ + ЭАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Математическая_статистика_2026/27_(основной_поток) | Математическая статистика (основной поток)]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;П&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Мachine Learning 1 | Машинное обучение 1]]&lt;br /&gt;
&lt;br /&gt;
[[Язык_программирования_Python_(углубленный_курс) | Язык программирования Python (углубленный курс)]]&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[CAOS-2026/27 | Архитектура компьютеров и операционные системы]]&lt;br /&gt;
&lt;br /&gt;
[[Инструменты_промышленной_разработки | Инструменты промышленной разработки]]&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы_и_структуры_данных_2_2026/27 | Алгоритмы и структуры данных 2 2026/27]]&lt;br /&gt;
&lt;br /&gt;
[[Язык_программирования_Go | Язык программирования Go]]&lt;br /&gt;
&lt;br /&gt;
[[Функциональное_программирование_2026/2027 | Функциональное программирование]]&lt;br /&gt;
&lt;br /&gt;
[[Комплексный анализ 2026/27]]&lt;br /&gt;
&lt;br /&gt;
[[Функциональный анализ 2026/27]]&lt;br /&gt;
&lt;br /&gt;
[[ Дискретная_математика_2_2026/27 | Дискретная математика 2 2026/27 ]]&lt;br /&gt;
&lt;br /&gt;
[[Основы матричных вычислений 2026/27]]&lt;br /&gt;
&lt;br /&gt;
[[Дифференциальные уравнения 2026/2027]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
[[ PE101-26-27 | Performance engineering 101 ]]&lt;br /&gt;
&lt;br /&gt;
[[ Statistical_learning_theory_2026 | Statistical learning theory ]]&lt;br /&gt;
&lt;br /&gt;
[[Инженерия_LLM-систем | Инженерия LLM-систем]]&lt;br /&gt;
&lt;br /&gt;
[[ Go PRO 2026/2027 | Промышленное программирование на языке Go ]]&lt;br /&gt;
&lt;br /&gt;
[[ Стохастический_анализ_(весна_2027) | Стохастический анализ ]]&lt;br /&gt;
&lt;br /&gt;
[[ Основы_тензорных_вычислений_(2026/27) | Основы тензорных вычислений ]]&lt;br /&gt;
&lt;br /&gt;
[[Рекомендательные системы 2026/27 | Рекомендательные системы]]&lt;br /&gt;
&lt;br /&gt;
[[Глубинное обучение 1 26/27 | Введение в глубинное обучение]]&lt;br /&gt;
&lt;br /&gt;
[[ Types_26 | Типы в языках программирования ]]&lt;br /&gt;
&lt;br /&gt;
[[ Безопасность_компьютерных_систем_26/27 | Безопасность компьютерных систем ]]&lt;br /&gt;
&lt;br /&gt;
[[ Моделирование временных рядов 2026/27 | Моделирование временных рядов ]]&lt;br /&gt;
&lt;br /&gt;
[[ Случайные_процессы_приложения_2026/27 | Случайные процессы и их приложения ]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ПМИ / МОП&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Машинное_обучение_1_26/27 | Машинное обучение 1]]&lt;br /&gt;
&lt;br /&gt;
[[Математическая_статистика_2_2026/2027 | Математическая статистика 2]]&lt;br /&gt;
&lt;br /&gt;
[[ML_Research_Seminar_1 | НИС Машинное Обучение и Приложения 1]]&lt;br /&gt;
&lt;br /&gt;
[[Машинное_обучение_2/2026_2027 | Машинное обучение 2]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ПМИ / РС&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://distsys.ru/course/hse-2026/ Распределенные системы]&lt;br /&gt;
&lt;br /&gt;
[[НИС Распределенные системы | НИС Распределенные системы]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ПМИ / ТИ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[ NIS-TCS-26-27 | НИС Теоретическая информатика ]]&lt;br /&gt;
&lt;br /&gt;
[[KKTI-26-27 | Комбинаторные конструкции в теоретической информатике]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
[[ PE101-26-27 | Performance engineering 101 ]]&lt;br /&gt;
&lt;br /&gt;
[[Генеративные модели на основе диффузии (26/27)]]&lt;br /&gt;
&lt;br /&gt;
[[ Go PRO 2026/2027 | Промышленное программирование на языке Go ]]&lt;br /&gt;
&lt;br /&gt;
[[Большие_языковые_модели_26_27 | Большие языковые модели]]&lt;br /&gt;
&lt;br /&gt;
[[Theory_of_computation_2026 | Theory of computation]]&lt;br /&gt;
&lt;br /&gt;
[[Statistical_learning_theory_2026 | Statistical learning theory]]&lt;br /&gt;
&lt;br /&gt;
[[Parameterized_complexity_2026 | Parameterized complexity]]&lt;br /&gt;
&lt;br /&gt;
[[Теория_и_практика_онлайн-экспериментов_26/27 | Теория и практика онлайн-экспериментов]]&lt;br /&gt;
&lt;br /&gt;
[[Современный_NLP_и_большие_языковые_модели_27 |  Современный NLP и большие языковые модели]]&lt;br /&gt;
&lt;br /&gt;
[[Эффективные_системы_глубинного_обучения_26/27 | Эффективные системы глубинного обучения 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[ Haskell_27 | Промышленное программирование на Haskell ]]&lt;br /&gt;
&lt;br /&gt;
[[ zkSNARK_27 | Протоколы доказательств с нулевым разглашением ]]&lt;br /&gt;
&lt;br /&gt;
[[ Развёртывание_ML-моделей_в_высоконагруженных_системах_27 | Развёртывание ML-моделей в высоконагруженных системах ]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ПМИ / МОП&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Глубинное обучение 2 2026| Глубинное обучение 2]]&lt;br /&gt;
&lt;br /&gt;
[[ML_Research_Seminar_2 | НИС Машинное Обучение и Приложения 2]]&lt;br /&gt;
&lt;br /&gt;
[[LSML 2026/2027 | Машинное обучение для больших данных]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ПМИ / РС&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://distsys.ru/osukhoroslov/nis2/ НИС Распределенные системы 2]&lt;br /&gt;
&lt;br /&gt;
[? Методы и системы обработки больших данных]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ПМИ / ТИ&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[ NIS-TCS-26-27 | НИС Теоретическая информатика ]]&lt;br /&gt;
&lt;br /&gt;
[[ OWF-26-27 | Односторонние функции и их применения ]]&lt;br /&gt;
&lt;br /&gt;
[[ ConvApprox27 | Выпуклое программирование и аппроксимационные алгоритмы ]]&lt;br /&gt;
&lt;br /&gt;
[[AT-26-27 | Теория автоматов, формальные языки, регулярные выражения]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;15&amp;quot; | &lt;br /&gt;
&amp;lt;!-- майноры и факультативы --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Майнор_Биоинформатика_1_год_2026/27|Биоинформатика 1 год 2026/27]]&lt;br /&gt;
&lt;br /&gt;
[[Майнор_Биоинформатика_2_год_2026/27|Биоинформатика 2 год 2026/27]]&lt;br /&gt;
&lt;br /&gt;
[[Введение_в_программирование_26/27|Введение в программирование. Питон 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Введение_в_базы_данных_26/27|Введение в базы данных 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Основы_глубинного_обучения_26/27|Основы глубинного обучения 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Основы_машинного_обучения/2027|Основы машинного обучения 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Прикладные_задачи_анализа_данных/2027|Прикладные задачи анализа данных 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Kolmogorov_complexity_fall2026|Introduction to Kolmogorov complexity]]&lt;br /&gt;
&lt;br /&gt;
[[Complexity_theory_2027|Теория вычислений]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;SE&amp;quot;&amp;gt;ПИ&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
[[Алгебра_ПИ_2026-2027|Алгебра 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Дискретная_математика_26/27|Дискретная математика 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Математический_анализ_26/27|Математический анализ 26/27]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
[[НИС_Методы_и_алгоритмы_защиты_информации_26/27|НИС Методы и алгоритмы защиты информации 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Теория_вероятностей_26/27|Теория вероятностей 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Математическая_статистика_26/27 | Математическая статистика 2026/27]]&lt;br /&gt;
|&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;DSBA&amp;quot;&amp;gt;ПАД&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;1st year DSBA 2026/2027&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Calculus 1 DSBA 2026/2027 | Calculus 1 (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[C++ Programming Language DSBA 2026/2027 | C++ Programming Language (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[English DSBA 2026/2027 | English Language (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[LAaG DSBA 2026/2027 | Linear Algebra and Geometry (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Discrete Mathematics 1 DSBA 2026/2027 | Discrete Mathematics 1 (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
[[Russian History DSBA 2026/2027 | Russian History (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Economics DSBA 2026/2027 | Economics (modules 2-3)]]&lt;br /&gt;
&lt;br /&gt;
[[Foundations of Russian Statehood DSBA 2026/2027 | Foundations of Russian Statehood (module 3)]]&lt;br /&gt;
&lt;br /&gt;
[[Python for Data Science DSBA 2026/2027 | Python for Data Science (module 3)]]&lt;br /&gt;
&lt;br /&gt;
[[Algebra DSBA 2026/2027 | Algebra (module 4)]]&lt;br /&gt;
&lt;br /&gt;
[[Algorithms and Data Structures 1 DSBA 2026/2027 | Algorithms and Data Structures 1 (module 4)]]&lt;br /&gt;
&lt;br /&gt;
[[Fundamentals of Software Engineering DSBA 2026/2027 | Fundamentals of Software Engineering (module 4)]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&#039;&#039;&#039;2nd year DSBA 2026/2027&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Algorithms and Data Structures DSBA 2026/2027 | Algorithms and Data Structures (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
[[Discrete Mathematics 2 DSBA 2026/2027 | Discrete Mathematics 2 (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Calculus 2 DSBA 2026/2027 | Calculus 2 (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Probability Theory DSBA 2026/2027 | Probability Theory (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Introduction to Micro and Macroeconomics DSBA 2026/2027 | Introduction to Micro and Macroeconomics (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Computer Architecture and Operating Systems DSBA 2026/2027 | Computer Architecture and Operating Systems (modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Mathematical Statistics DSBA 2026/2027 | Mathematical Statistics (modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Machine Learning 1 DSBA 2026/2027 modules 3-4 | Machine Learning 1  (modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Differential Equations DSBA 2026/2027 | Differential Equations (modules (3-4)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Business and Management in Global Context DSBA 2026/2027 | Business and Management in Global Context (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Introduction to Finance DSBA 2026/2027 | Introduction to Finance (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&#039;&#039;&#039;3rd year DSBA 2026/2027&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Databases DSBA 2026/2027 | Databases (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Deep Learning DSBA 2026/2027 | Deep Learning (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Optimization Methods DSBA 2026/2027 | Optimization Methods (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Stochastic processes and applications DSBA 2026/2027 | Stochastic processes and applications (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Time Series Analysis DSBA 2026/2027 | Time Series Analysis (modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Introduction to Entrepreneurship DSBA 2026/2027 | Introduction to Entrepreneurship (business minor, modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Information Systems Management DSBA 2026/2027 | Information Systems Management (business minor, modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Econometrics DSBA 2026/2027 | Elements of Econometrics (finance minor, modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialization Data Science in Business&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Research Seminar &amp;quot;Data Analysis in Business&amp;quot; DSBA 2026/2027 | Research Seminar &amp;quot;Data Analysis in Business“ (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Product Development: From Idea to Production DSBA 2026/2027 | Product Development: From Idea to Production (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Investment Management for Business DSBA 2026/2027 | Investment Management for Business (modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialization Data Science in Finance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Research Seminar &amp;quot;Data Science in Finance&amp;quot; DSBA 2026/2027 | Research Seminar &amp;quot;Data Science in Finance&amp;quot; (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Financial Mathematics DSBA 2026/2027 | Financial Mathematics (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Risk Management in Bank DSBA 2026/2027 | Risk Management in Bank (modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialization Data Analysis in Applied Research&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Research Seminar &amp;quot;Data Science in Applied Research&amp;quot; DSBA 2026/2027 | Research Seminar &amp;quot;Data Science in Applied Research&amp;quot; (modules 1-4)]]&lt;br /&gt;
&lt;br /&gt;
[[Methods of Mathematical Modeling DSBA 2026/2027 | Methods of Mathematical Modeling (modules 1-2)]]&lt;br /&gt;
&lt;br /&gt;
[[Applied Statistics for Machine Learning DSBA 2026/2027 | Applied Statistics for Machine Learning (modules 3-4)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Electives (modules 3-4)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Operations Research and Game Theory DSBA 2026/2027 | Operations Research and Game Theory]]&lt;br /&gt;
&lt;br /&gt;
[[Advanced Statistical Methods DSBA 2026/2027 | Advanced Statistical Methods]]&lt;br /&gt;
&lt;br /&gt;
[[Cоmputer Vision DSBA 2026/2027 | Cоmputer Vision]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&#039;&#039;&#039;4th year DSBA 2026/2027&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Strategy DSBA 2026/2027 | Strategy (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
[[Statistical Methods for Market Research DSBA 2026/2027 | Statistical Methods for Market Research (module 3)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialization Data Science in Business&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Research Seminar &amp;quot;Data Analysis in Business 2&amp;quot; DSBA 2026/2027 | Research Seminar &amp;quot;Data Analysis in Business 2“ (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
[[Core Management Concepts DSBA 2026/2027 | Core Management Concepts (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialization Data Science in Finance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Research Seminar &amp;quot;Data Science in Financial Markets&amp;quot; DSBA 2026/2027 | Research Seminar &amp;quot;Data Science in Financial Markets&amp;quot; (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
[[Asset Pricing and Financial Markets DSBA 2026/2027 | Asset Pricing and Financial Markets (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Specialization Data Analysis in Applied Research&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Research Seminar &amp;quot;Data Science in Applied Research 2&amp;quot; DSBA 2026/2027 | Research Seminar &amp;quot;Data Science in Applied Research 2&amp;quot; (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
[[Classical and Neural Modeling DSBA 2026/2027 | Classical and Neural Modeling (modules 1-3)]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Electives block 1 (modules 1-2)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Introduction to the Study of Language for Computer Scientists DSBA 2026/2027 | Introduction to the Study of Language for Computer Scientists]]&lt;br /&gt;
&lt;br /&gt;
[[Quantitative Finance DSBA 2026/2027 | Quantitative Finance]]&lt;br /&gt;
&lt;br /&gt;
[[Information Security Risk Management DSBA 2026/2027 | Information Security Risk Management]]&lt;br /&gt;
&lt;br /&gt;
[[Generative Models in Machine Learning DSBA 2026/2027 | Generative Models in Machine Learning]]&lt;br /&gt;
&lt;br /&gt;
[[Natural Language Processing DSBA 2026/2027 | Natural Language Processing]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Electives block 2 (module 3)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Information Systems DSBA 2026/2027 | Information Systems]]&lt;br /&gt;
&lt;br /&gt;
[[Recommender Systems DSBA 2026/2027 | Recommender Systems]]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;compds&amp;quot;&amp;gt;КНАД&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Программирование на С++ КНАД ВСН 26-27]]&lt;br /&gt;
&lt;br /&gt;
[[Дискретная_Математика_КНАД_2026/27 | Дискретная математика 2026/27 (КНАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Программирование_на_Python_КНАД_26/27 | Программирование на Python 26/27 (КНАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Python_для_сбора_и_анализа_данных_КНАД_26/27 | Python для сбора и анализа данных КНАД 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы и структуры данных - 1 2026/2027 2 модуль (КНАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы и структуры данных 2026/2027 4 модуль КНАД]]&lt;br /&gt;
&lt;br /&gt;
[[Линейная алгебра КНАД 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Математический Анализ КНАД 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[ИПР КНАД 26/27]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Алгебра КНАД 2026/2027 | Алгебра]]&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы_и_структуры_данных_2_КНАД_26/27 | Алгоритмы и структуры данных-2]]&lt;br /&gt;
&lt;br /&gt;
[[Математический_анализ_2_КНАД_2026/27 | Математический анализ-2 2026/27 (КНАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Теория_вероятностей_КНАД_2026/27 | Теория вероятностей 2026/27 (КНАД)]]&lt;br /&gt;
&lt;br /&gt;
[[ACOS_COMPDS_2026/27 | Архитектура Компьютера и Операционные Системы]]&lt;br /&gt;
&lt;br /&gt;
[[Математическая_статистика_КНАД_2026/27 | Математическая статистика 2026/27 (КНАД)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;EDA&amp;quot;&amp;gt;ЭАД&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Алгоритмы и структуры данных-1 2026/2027 2 модуль (ЭАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы и структуры данных-1 2026/2027 4 модуль (ЭАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Программирование на С++ ЭАД 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Язык программирования Python 2026/27 (ЭАД) ]]&lt;br /&gt;
&lt;br /&gt;
[[DM1EAD-2026-27 | Дискретная математика 2026/27 (ЭАД)]]&lt;br /&gt;
&lt;br /&gt;
[[Линейная_алгебра_и_геометрия_на_ПМИ_2026/2027_(основной_поток) | Линейная алгебра и геометрия]]&lt;br /&gt;
&lt;br /&gt;
[[Математический_анализ_1_2026/27_(основной_поток)_ЭАД | Математический анализ-1 (ЭАД)]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
[[Алгоритмы и структуры данных 2 ЭАД 26/27 | Алгоритмы и структуры данных-2]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;DRIP&amp;quot;&amp;gt;ДРИП&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Алгоритмы и структуры данных-1 (ДРИП)]]&lt;br /&gt;
&lt;br /&gt;
[[Ddip2630 | Линейная алгебра и геометрия]]&lt;br /&gt;
&lt;br /&gt;
[[DM_DRIP-2026-27 | Дискретная математика 2026/27 (ДРИП)]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
[[Теория_вероятностей_ДРИП_26/27 | Теория вероятностей 2026/27 (ДРИП)]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;RICP&amp;quot;&amp;gt;РИЦП&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Математика для компьютерной графики (РИЦП)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;DIRS&amp;quot;&amp;gt;ПИРС&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Линейная алгебра ПИРС 26/27]]&lt;br /&gt;
&lt;br /&gt;
[[Дискретная математика ПИРС 26/27]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; style=&amp;quot;text-align: center;&amp;quot; | &#039;&#039;&#039;&amp;lt;span id=&amp;quot;SmolGU&amp;quot;&amp;gt;СмолГУ&amp;lt;/span&amp;gt;&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Дискретная математика ВШЭ+СмолГУ 26/27]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;DataCulture&amp;quot;&amp;gt;Курсы в рамках проекта [https://www.hse.ru/dataculture/ Data Culture]&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-  &lt;br /&gt;
! Осенний семестр !! Весенний семестр&lt;br /&gt;
|-&lt;br /&gt;
| [[Основы_программирования_на_Python_(углубленный_курс)_Экономика | Основы программирования на Python (углубленный курс) Экономика]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;masters&amp;quot;&amp;gt;Курсы магистратуры ФКН&amp;lt;/span&amp;gt; ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Ссылка !! Дисциплина !! Год обучения&lt;br /&gt;
|-&lt;br /&gt;
| [[ NIS-TCS-26-27 | НИС Теоретическая информатика ]] || НИС ТИ || СКН, 1-2 год&lt;br /&gt;
|-&lt;br /&gt;
| [[MOTV_2026 | Mathematical foundations of probability theory]] || Math of Machine Learning, MML || 1 year&lt;br /&gt;
|-&lt;br /&gt;
| [[MC_2026 | Markov Chains]] || Math of Machine Learning, MML || 1 year&lt;br /&gt;
|-&lt;br /&gt;
| [[Sample_2027 | Sampling and Generative Modeling ]] || Math of Machine Learning, MML || 1 year&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;other&amp;quot;&amp;gt;Курсы других факультетов&amp;lt;/span&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| [[econ_metrics_2026-27|Эконометрика ип 2026-27]] || фэн, фкн, 3 курс || 1-4 модуль&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Факультативы ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Дисциплина !! Период&lt;br /&gt;
|-&lt;br /&gt;
| [[Аналитическая_теория_чисел:_приложения_комплексного_анализа_26/27 | Аналитическая теория чисел: приложения комплексного анализа 26/27]] || 1-2 модуль&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Архив до 2025/26 учебного года включительно =&lt;br /&gt;
[[Wiki ФКН/Архив]]&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95674</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95674"/>
		<updated>2026-03-04T12:01:23Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс &amp;lt;code&amp;gt;Foldable&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека &amp;lt;code&amp;gt;containers&amp;lt;/code&amp;gt;. Классы типов &amp;lt;code&amp;gt;Functor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Applicative&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Traversable&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов &amp;lt;code&amp;gt;Monad&amp;lt;/code&amp;gt; и его основные инстансы: &amp;lt;code&amp;gt;Maybe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Either&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;IO&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Reader&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Writer&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;State&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада &amp;lt;code&amp;gt;IO&amp;lt;/code&amp;gt;: публичный API и определение. Библиотека &amp;lt;code&amp;gt;random&amp;lt;/code&amp;gt;. Property based testing и библиотека &amp;lt;code&amp;gt;falsify&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). Практика по пройденному материалу. Расширение &amp;lt;code&amp;gt;ApplicativeDo&amp;lt;/code&amp;gt;. Класс &amp;lt;code&amp;gt;IsString&amp;lt;/code&amp;gt;. Пакеты &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bytestring&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;optparse-applicative&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). Многопоточность и конкурентность в Haskell. Software Transactional Memory и библиотека &amp;lt;code&amp;gt;stm&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;7 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95673</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95673"/>
		<updated>2026-03-04T11:59:40Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада IO: публичный API и определение. Библиотека random. Property based testing и библиотека falsify.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). Практика по пройденному материалу. Расширение &amp;lt;code&amp;gt;ApplicativeDo&amp;lt;/code&amp;gt;. Класс &amp;lt;code&amp;gt;IsString&amp;lt;/code&amp;gt;. Пакеты &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bytestring&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;optparse-applicative&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). Многопоточность и конкурентность в Haskell. Software Transactional Memory и библиотека &amp;lt;code&amp;gt;stm&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;7 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95672</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95672"/>
		<updated>2026-03-04T11:58:55Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада IO: публичный API и определение. Библиотека random. Property based testing и библиотека falsify.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). Практика по пройденному материалу. Расширение &amp;lt;pre&amp;gt;ApplicativeDo&amp;lt;/pre&amp;gt;. Класс &amp;lt;pre&amp;gt;IsString&amp;lt;/pre&amp;gt;. Пакеты &amp;lt;pre&amp;gt;text&amp;lt;/pre&amp;gt;, &amp;lt;pre&amp;gt;bytestring&amp;lt;/pre&amp;gt; и &amp;lt;pre&amp;gt;optparse-applicative&amp;lt;/pre&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). Многопоточность и конкурентность в Haskell. Software Transactional Memory и библиотека &amp;lt;pre&amp;gt;stm&amp;lt;/pre&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;7 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95671</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95671"/>
		<updated>2026-03-04T11:57:02Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада IO: публичный API и определение. Библиотека random. Property based testing и библиотека falsify.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). Практика по пройденному материалу. Расширение `ApplicativeDo`. Класс `IsString`. Пакеты `text`, `bytestring` и `optparse-applicative`.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). Многопоточность и конкурентность в Haskell. Software Transactional Memory и библиотека `stm`.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (18 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;7 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95670</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95670"/>
		<updated>2026-03-04T11:44:48Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: точки на эллиптической кривой как группа. Простые схемы шифрования над криптографическими группами.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). Tornado Cash.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). Консультация к домашним заданиям 1,3. Расширения Галуа. [https://miro.com/app/board/uXjVG_Jnrws=/?share_link_id=932088985657 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). Railgun.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (3 мар). Подгруппы кручения эллиптических кривых. Типы пейрингов. [https://miro.com/app/board/uXjVG4YdFRQ=/?share_link_id=971923944989 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (3 мар). Plonk. Halo2.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (10 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (10 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (17 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (17 мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;17 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [https://classroom.github.com/a/bqSBIv4Y Домашнее задание 2 (практическое)]. Дедлайн &#039;&#039;&#039;1 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5/a/ODQ0OTY4NDk3MjM4/details Домашнее задание 3 (теоретическое)]. Дедлайн &#039;&#039;&#039;8 марта в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/14smx4T6wDCLb9cvscWJJDICWJZC9C8Fb/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1DktitI-WSEsPZUo6CvnUqdJcIMJUfb0l/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Thomas Chen, Hui Li, Teeramet Kunpittaya, and Alan Luo - A Review of zk-SNARKs&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Craig Costello - Pairings for Beginners&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Joseph H. Silverman - The Arithmetic of Elliptic Curves&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95669</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95669"/>
		<updated>2026-03-04T11:42:24Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: точки на эллиптической кривой как группа. Простые схемы шифрования над криптографическими группами.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). Tornado Cash. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). Консультация к домашним заданиям 1,3. Расширения Галуа. [https://miro.com/app/board/uXjVG_Jnrws=/?share_link_id=932088985657 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). Railgun. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (3 мар). Подгруппы кручения эллиптических кривых. Типы пейрингов. [https://miro.com/app/board/uXjVG4YdFRQ=/?share_link_id=971923944989 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (3 мар). Plonk. Halo2. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (10 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (10 мар). TBA. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (17 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (17 мар). TBA. [ Слайды].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;17 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [https://classroom.github.com/a/bqSBIv4Y Домашнее задание 2 (практическое)]. Дедлайн &#039;&#039;&#039;1 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5/a/ODQ0OTY4NDk3MjM4/details Домашнее задание 3 (теоретическое)]. Дедлайн &#039;&#039;&#039;8 марта в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/14smx4T6wDCLb9cvscWJJDICWJZC9C8Fb/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1DktitI-WSEsPZUo6CvnUqdJcIMJUfb0l/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Thomas Chen, Hui Li, Teeramet Kunpittaya, and Alan Luo - A Review of zk-SNARKs&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Craig Costello - Pairings for Beginners&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Joseph H. Silverman - The Arithmetic of Elliptic Curves&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95468</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95468"/>
		<updated>2026-02-20T21:02:47Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада IO: публичный API и определение. Библиотека random. Property based testing и библиотека falsify.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;7 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95467</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95467"/>
		<updated>2026-02-20T20:54:23Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада IO: публичный API и определение. Библиотека random. Property based testing и библиотека falsify.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;5 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95466</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95466"/>
		<updated>2026-02-20T20:54:11Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада IO: применение, публичный API, определение. Библиотека random. Property based testing и библиотека falsify.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;5 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95465</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95465"/>
		<updated>2026-02-20T20:53:54Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). Монада IO: применение, публичный API, определение. Библиотека random. Тестирование, основанное на свойствах и библиотека falsify.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (20 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;5 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95464</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95464"/>
		<updated>2026-02-20T20:50:37Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/yhW7cI7T Домашнее задание 5]. Дедлайн &#039;&#039;&#039;5 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95411</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95411"/>
		<updated>2026-02-17T13:30:07Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Литература */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: точки на эллиптической кривой как группа. Простые схемы шифрования над криптографическими группами.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). Tornado Cash. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). Консультация к домашним заданиям 1,3. Расширения Галуа. Подгруппы кручения эллиптических кривых над алгебраическим замыканием базового поля. [https://miro.com/app/board/uXjVG_Jnrws=/?share_link_id=932088985657 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). Railgun. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (24 фев). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (24 фев). TBA. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (3 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (3 мар). TBA. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (10 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (10 мар). TBA. [ Слайды].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;17 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [https://classroom.github.com/a/bqSBIv4Y Домашнее задание 2 (практическое)]. Дедлайн &#039;&#039;&#039;1 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5/a/ODQ0OTY4NDk3MjM4/details Домашнее задание 3 (теоретическое)]. Дедлайн &#039;&#039;&#039;8 марта в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/14smx4T6wDCLb9cvscWJJDICWJZC9C8Fb/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1DktitI-WSEsPZUo6CvnUqdJcIMJUfb0l/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Thomas Chen, Hui Li, Teeramet Kunpittaya, and Alan Luo - A Review of zk-SNARKs&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Craig Costello - Pairings for Beginners&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Joseph H. Silverman - The Arithmetic of Elliptic Curves&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95410</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95410"/>
		<updated>2026-02-17T12:58:23Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: точки на эллиптической кривой как группа. Простые схемы шифрования над криптографическими группами.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). Tornado Cash. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). Консультация к домашним заданиям 1,3. Расширения Галуа. Подгруппы кручения эллиптических кривых над алгебраическим замыканием базового поля. [https://miro.com/app/board/uXjVG_Jnrws=/?share_link_id=932088985657 Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). Railgun. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (24 фев). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (24 фев). TBA. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (3 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (3 мар). TBA. [ Слайды].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (10 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (10 мар). TBA. [ Слайды].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;17 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [https://classroom.github.com/a/bqSBIv4Y Домашнее задание 2 (практическое)]. Дедлайн &#039;&#039;&#039;1 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5/a/ODQ0OTY4NDk3MjM4/details Домашнее задание 3 (теоретическое)]. Дедлайн &#039;&#039;&#039;8 марта в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/14smx4T6wDCLb9cvscWJJDICWJZC9C8Fb/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1DktitI-WSEsPZUo6CvnUqdJcIMJUfb0l/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Benedikt Bünz, Binyi Chen – Protostar: Generic Efficient Accumulation/Folding for Special-sound Protocols&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Dong Pyo Chi, Jeong Woon Choi, Jeong San Kim and Taewan Kim – Lattice Based Cryptography for Beginners&lt;br /&gt;
# Martin R. Albrecht, Valerio Cini, Russell W. F. Lai, Giulio Malavolta and Sri Aravinda Krishnan Thyagarajan – Lattice-Based SNARKs: Publicly Verifiable, Preprocessing, and Recursively Composable&lt;br /&gt;
# Rosario Gennaro, Michele Minelli, Anca Nitulescu, and Michele Orrù – Lattice-Based zk-SNARKs from Square Span Programs&lt;br /&gt;
# Yuval Ishai, Hang Su, David J. Wu – Shorter and Faster Post-Quantum Designated-Verifier zkSNARKs from Lattices&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95409</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95409"/>
		<updated>2026-02-17T12:56:34Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable.&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95408</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95408"/>
		<updated>2026-02-17T12:55:46Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных.&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L03.Containers.md Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L04.Monads.md Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу.&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA.&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95407</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95407"/>
		<updated>2026-02-17T12:51:05Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Проект */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T13-04-30.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T14-47-56.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T11-38-56Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T13-20-05Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L03.Containers.md Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L04.Monads.md Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же. Тема должна быть выбрана до &#039;&#039;&#039;17 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95406</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95406"/>
		<updated>2026-02-17T12:50:09Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T13-04-30.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T14-47-56.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T11-38-56Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T13-20-05Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L03.Containers.md Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L04.Monads.md Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/RCKQuBL_ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;24 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95405</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95405"/>
		<updated>2026-02-17T12:47:55Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T13-04-30.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T14-47-56.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T11-38-56Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T13-20-05Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L03.Containers.md Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). Класс типов Monad и его основные инстансы: Maybe, Either, IO, Reader, Writer, State. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L04.Monads.md Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). Практика по пройденному материалу. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95404</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95404"/>
		<updated>2026-02-17T12:39:39Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T09-28-11.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T11-26-51.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T08-16-17Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T10-00-19Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: точки на эллиптической кривой как группа. Простые схемы шифрования над криптографическими группами. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). Tornado Cash. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). Консультация к домашним заданиям 1,3. Расширения Галуа. Подгруппы кручения эллиптических кривых над алгебраическим замыканием базового поля. [https://miro.com/app/board/uXjVG_Jnrws=/?share_link_id=932088985657 Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). Railgun. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (24 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (24 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (3 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (3 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (10 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (10 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;17 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [https://classroom.github.com/a/bqSBIv4Y Домашнее задание 2 (практическое)]. Дедлайн &#039;&#039;&#039;1 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5/a/ODQ0OTY4NDk3MjM4/details Домашнее задание 3 (теоретическое)]. Дедлайн &#039;&#039;&#039;8 марта в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/14smx4T6wDCLb9cvscWJJDICWJZC9C8Fb/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1DktitI-WSEsPZUo6CvnUqdJcIMJUfb0l/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Benedikt Bünz, Binyi Chen – Protostar: Generic Efficient Accumulation/Folding for Special-sound Protocols&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Dong Pyo Chi, Jeong Woon Choi, Jeong San Kim and Taewan Kim – Lattice Based Cryptography for Beginners&lt;br /&gt;
# Martin R. Albrecht, Valerio Cini, Russell W. F. Lai, Giulio Malavolta and Sri Aravinda Krishnan Thyagarajan – Lattice-Based SNARKs: Publicly Verifiable, Preprocessing, and Recursively Composable&lt;br /&gt;
# Rosario Gennaro, Michele Minelli, Anca Nitulescu, and Michele Orrù – Lattice-Based zk-SNARKs from Square Span Programs&lt;br /&gt;
# Yuval Ishai, Hang Su, David J. Wu – Shorter and Faster Post-Quantum Designated-Verifier zkSNARKs from Lattices&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95403</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95403"/>
		<updated>2026-02-17T12:39:14Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T09-28-11.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T11-26-51.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T08-16-17Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T10-00-19Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: точки на эллиптической кривой как группа. Простые схемы шифрования над криптографическими группами. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). Tornado Cash. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). Консультация к домашним заданиям 1,3. Расширения Галуа. Подгруппы кручения эллиптических кривых над алгебраическим замыканием базового поля. [https://miro.com/app/board/uXjVG_Jnrws=/?share_link_id=932088985657 Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). Railgun. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (24 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (24 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (3 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (3 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (10 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (10 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;17 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [https://classroom.github.com/a/bqSBIv4Y Домашнее задание 2]. Дедлайн &#039;&#039;&#039;1 марта в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5/a/ODQ0OTY4NDk3MjM4/details Домашнее задание 3]. Дедлайн &#039;&#039;&#039;8 марта в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/14smx4T6wDCLb9cvscWJJDICWJZC9C8Fb/view?usp=drive_link Условие]. [https://drive.google.com/file/d/1DktitI-WSEsPZUo6CvnUqdJcIMJUfb0l/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Benedikt Bünz, Binyi Chen – Protostar: Generic Efficient Accumulation/Folding for Special-sound Protocols&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Dong Pyo Chi, Jeong Woon Choi, Jeong San Kim and Taewan Kim – Lattice Based Cryptography for Beginners&lt;br /&gt;
# Martin R. Albrecht, Valerio Cini, Russell W. F. Lai, Giulio Malavolta and Sri Aravinda Krishnan Thyagarajan – Lattice-Based SNARKs: Publicly Verifiable, Preprocessing, and Recursively Composable&lt;br /&gt;
# Rosario Gennaro, Michele Minelli, Anca Nitulescu, and Michele Orrù – Lattice-Based zk-SNARKs from Square Span Programs&lt;br /&gt;
# Yuval Ishai, Hang Su, David J. Wu – Shorter and Faster Post-Quantum Designated-Verifier zkSNARKs from Lattices&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95402</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95402"/>
		<updated>2026-02-17T12:36:28Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T09-28-11.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T11-26-51.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T08-16-17Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T10-00-19Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: точки на эллиптической кривой как группа. Простые схемы шифрования над криптографическими группами. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). Tornado Cash. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). Консультация к домашним заданиям 1,3. Расширения Галуа. Подгруппы кручения эллиптических кривых над алгебраическим замыканием базового поля. [https://miro.com/app/board/uXjVG_Jnrws=/?share_link_id=932088985657 Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). Railgun. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (24 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (24 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (3 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (3 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (10 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (10 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;15 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 2]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 3]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Benedikt Bünz, Binyi Chen – Protostar: Generic Efficient Accumulation/Folding for Special-sound Protocols&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Dong Pyo Chi, Jeong Woon Choi, Jeong San Kim and Taewan Kim – Lattice Based Cryptography for Beginners&lt;br /&gt;
# Martin R. Albrecht, Valerio Cini, Russell W. F. Lai, Giulio Malavolta and Sri Aravinda Krishnan Thyagarajan – Lattice-Based SNARKs: Publicly Verifiable, Preprocessing, and Recursively Composable&lt;br /&gt;
# Rosario Gennaro, Michele Minelli, Anca Nitulescu, and Michele Orrù – Lattice-Based zk-SNARKs from Square Span Programs&lt;br /&gt;
# Yuval Ishai, Hang Su, David J. Wu – Shorter and Faster Post-Quantum Designated-Verifier zkSNARKs from Lattices&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95199</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95199"/>
		<updated>2026-02-05T15:13:57Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции, семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T13-04-30.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T14-47-56.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T11-38-56Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T13-20-05Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). Библиотека containers. Классы типов Functor, Applicative, Traversable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L03.Containers.md Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). Практика с изученными классами типов. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95198</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95198"/>
		<updated>2026-02-05T15:11:49Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T13-04-30.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T14-47-56.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T11-38-56Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T13-20-05Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). TBA [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/A_oyQPnF Домашнее задание 3]. Дедлайн &#039;&#039;&#039;16 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95197</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95197"/>
		<updated>2026-02-05T15:10:53Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Основная литература */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T13-04-30.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T14-47-56.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T11-38-56Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T13-20-05Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). TBA [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 3]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca – Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky – Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95196</id>
		<title>Haskell 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=Haskell_26&amp;diff=95196"/>
		<updated>2026-02-05T15:10:29Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Основная литература */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Промышленное программирование на Haskell ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Илья Костюченко aka [https://t.me/ilyakooo0 @ilyakooo0].&lt;br /&gt;
&lt;br /&gt;
Ассистенты: Ислам Талипов aka [https://t.me/lishy2 @lishy2].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Is4I3YPaBWk3NjIy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+lcim6Ukmojc5ZGUy&lt;br /&gt;
&lt;br /&gt;
Конспекты лекций: https://github.com/Haskell-HSE/haskell-lectures-2026&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками за ДЗ: https://edu-build.iko.soy/dashboard&lt;br /&gt;
&lt;br /&gt;
Таблица с итоговыми оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== Setting up ==&lt;br /&gt;
&lt;br /&gt;
# Установка компилятора, системы сборки, языкового сервера&lt;br /&gt;
#* (Рекомендованный способ) Через [https://www.haskell.org/ghcup/ ghcup]:&lt;br /&gt;
#*# Скачайте [https://downloads.haskell.org/~ghcup/ бинарный файл] сами либо введите одну любимую команду:&lt;br /&gt;
#*#* &#039;&#039;&#039;MacOS&#039;&#039;&#039;: &amp;lt;code&amp;gt;brew install ghcup&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Arch&#039;&#039;&#039;-based distros: &amp;lt;code&amp;gt;yay -S ghcup-hs-bin&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;WSL2&#039;&#039;&#039;, &#039;&#039;&#039;MacOS&#039;&#039;&#039; &amp;gt;= 10.13, &#039;&#039;&#039;Linux&#039;&#039;&#039;: &amp;lt;code&amp;gt;curl --proto &#039;=https&#039; --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
#*#* &#039;&#039;&#039;Windows&#039;&#039;&#039;: Команда доступна по [https://www.haskell.org/ghcup/install/#installation ссылке].&lt;br /&gt;
#*# Убедитесь, что путь до места установки &amp;lt;code&amp;gt;ghcup&amp;lt;/code&amp;gt; (скорее всего, &amp;lt;code&amp;gt;~/.ghcup/bin&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;C:/ghcup&amp;lt;/code&amp;gt;) содержится в &amp;lt;code&amp;gt;$PATH&amp;lt;/code&amp;gt; &amp;amp;mdash; запустите &amp;lt;code&amp;gt;ghcup list&amp;lt;/code&amp;gt;. При необходимости добавьте этот путь сами.&lt;br /&gt;
#*# Установите &#039;&#039;&#039;&amp;lt;code style=&amp;quot;background-color:black;color:rgb(0,255,0)&amp;quot;&amp;gt;recommended&amp;lt;/code&amp;gt;&#039;&#039;&#039; версии компилятора, системы сборки и языкового сервера:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup install hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# Создайте символические ссылки на установленные версии программ:&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set ghc recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set stack recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#*## &amp;lt;code&amp;gt;ghcup set hls recommended&amp;lt;/code&amp;gt;&lt;br /&gt;
#* (Если предыдущий вариант не сработал) &#039;&#039;&#039;Windows&#039;&#039;&#039;:&lt;br /&gt;
#*# &amp;lt;code&amp;gt;choco install haskell-language-server haskell-stack&amp;lt;/code&amp;gt;&lt;br /&gt;
#*# &amp;lt;code&amp;gt;refreshenv&amp;lt;/code&amp;gt;&lt;br /&gt;
# Настройте LSP client в своей любимой среде разработки:&lt;br /&gt;
#* Для &#039;&#039;&#039;VS Code&#039;&#039;&#039; есть [https://github.com/haskell/vscode-haskell плагин]. Скорее всего, при запуске он предложит выбрать, каким образом ему находить HLS: через GHCup или вручную через PATH. Если устанавливали через &amp;lt;code&amp;gt;chocolatey&amp;lt;/code&amp;gt;, выбирайте вторую опцию; иначе сначала попробуйте через GHCup.&lt;br /&gt;
#* В &#039;&#039;&#039;NeoVim&#039;&#039;&#039; настройте [https://github.com/neovim/nvim-lspconfig nvim-lspconfig], он знает про HLS.&lt;br /&gt;
#* Инструкцию для других сред можно найти [https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor здесь].&lt;br /&gt;
# (Опционально) Установите [https://hoogle.haskell.org Hoogle] локально:&lt;br /&gt;
## &amp;lt;code&amp;gt;stack install hoogle&amp;lt;/code&amp;gt;&lt;br /&gt;
## Теперь можно пользоваться Hoogle прямо из ghci с помощью команды &amp;lt;code&amp;gt;:!hoogle&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;:!hoogle --info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции, семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (21 янв). Где и почему используют Haskell? Функции и ленивые вычисления. Встроенные и алгебраические типы данных. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L01.Intro.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T13-04-30.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (21 янв). Stack. Типы данных. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-21T14-47-56.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (28 янв). Встроенные классы типов и моноиды. Типы высшего порядка и класс Foldable. [https://github.com/Haskell-HSE/haskell-lectures-2026/blob/main/L02.Typeclass.md Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T11-38-56Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (28 янв). Практика с классами типов. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D0%BC%D1%8B%D1%88%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20Haskell/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-28T13-20-05Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (4 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (4 фев). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (11 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (11 фев). TBA [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (18 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (18 фев). TBA [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (25 фев). TBA [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (25 фев). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (4 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (4 мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (11 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (11 мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IX&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IX&#039;&#039;&#039; (??? мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция X&#039;&#039;&#039; (??? мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар X&#039;&#039;&#039; (??? мар). TBA. [ Материалы]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
Практические задания по пройденным темам в виде мини-проектов stack. За каждое домашнее задание можно получить до 10 баллов.&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.github.com/a/oI7ZQpl6 Домашнее задание 1]. Дедлайн &#039;&#039;&#039;2 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [https://classroom.github.com/a/y_VftKme Домашнее задание 2]. Дедлайн &#039;&#039;&#039;9 февраля в 23:59&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 3]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 6]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 7]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Проект ===&lt;br /&gt;
&lt;br /&gt;
В качестве проекта предлагается доработать одно из домашних заданий следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Расширить функционал приложения, выполненного в домашнем задании (масштаб работ нужно обсудить с лектором либо с семинаристом) (4 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Покрыть код тестами (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Не использовать &amp;lt;code&amp;gt;unsafe&amp;lt;/code&amp;gt;, если это не было обговорено заранее (2 балла из 10);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Проанализировать производительность приложения (1 балл из 10; 2 балла, если в проекте разрешён unsafe);&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Поддерживать чистоту кода (1 балл из 10; 2 балла, если в проекте разрешён unsafe):&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать использовать готовые комбинаторы из стандартной библиотеки вместо явного паттерн-матчинга стандартных типов данных;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать point-free стиль, где это разумно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;предпочитать пользоваться подсказками HLint;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;код должен быть консистентно отформатирован, неиспользованных импортов быть не должно;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;если в проекте разрешён unsafe, он должен быть отделён от остального приложения какой-то безопасной абстракцией.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможны групповые проекты. Также возможны инициативные темы; они обсуждаются индивидуально, но разбалловка остаётся такой же.&lt;br /&gt;
&lt;br /&gt;
Проект должен быть оформлен в приватном репозитории на github. Оценка выставляется за проект в том состоянии, в котором находилась default ветка репозитория (скорее всего main либо master) &#039;&#039;&#039;в полночь перед защитой&#039;&#039;&#039;. Либо можно оформить сдачу в виде пулл-реквеста.&lt;br /&gt;
&lt;br /&gt;
Защита проекта проводится во время весенней сессии.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(min(10, 0.7 * ДЗ + 0.3 * ПР)),&lt;br /&gt;
&lt;br /&gt;
где ДЗ – средняя оценка за все домашние задания, ПР – оценка за проектную работу.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
* [https://learnyouahaskell.github.io/chapters.html Miran Lipovaca - Learn You a Haskell for Great Good!]&lt;br /&gt;
* [https://drive.google.com/file/d/1fa6M2CoWsoGni8Hl3IN_6S-UQdH0tL-9/view?usp=sharing Vitaly Bragilevsky - Haskell in Depth]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
* Sandy Maguire – Algebra-Driven Design&lt;br /&gt;
* Will Kurt – Get Programming with Haskell&lt;br /&gt;
* Bryan O&#039;Sullivan, Don Stewart, John Goerzen – Real World Haskell&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95173</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95173"/>
		<updated>2026-02-03T22:26:50Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Домашние задания */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T09-28-11.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T11-26-51.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T08-16-17Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T10-00-19Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (24 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (24 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (3 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (3 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (10 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (10 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [https://classroom.google.com/c/ODE4OTAwNjk0NzA5?cjc=iwer6rw3 Домашнее задание 1 (теоретическое)]. Дедлайн &#039;&#039;&#039;15 февраля в 23:59&#039;&#039;&#039;. [https://drive.google.com/file/d/1PPPwnrStgXWMxnlxGE5iEr4nmO3tucj3/view?usp=drive_link Условие]. [https://drive.google.com/file/d/18a-3c_dWtt85nCbVB7WSJmZgXaHcxHQH/view?usp=drive_link Исходник].&lt;br /&gt;
* [ Домашнее задание 2]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 3]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Условия теоретических домашних заданий скомпилированы с помощью pdfLaTeX.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Benedikt Bünz, Binyi Chen – Protostar: Generic Efficient Accumulation/Folding for Special-sound Protocols&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Dong Pyo Chi, Jeong Woon Choi, Jeong San Kim and Taewan Kim – Lattice Based Cryptography for Beginners&lt;br /&gt;
# Martin R. Albrecht, Valerio Cini, Russell W. F. Lai, Giulio Malavolta and Sri Aravinda Krishnan Thyagarajan – Lattice-Based SNARKs: Publicly Verifiable, Preprocessing, and Recursively Composable&lt;br /&gt;
# Rosario Gennaro, Michele Minelli, Anca Nitulescu, and Michele Orrù – Lattice-Based zk-SNARKs from Square Span Programs&lt;br /&gt;
# Yuval Ishai, Hang Su, David J. Wu – Shorter and Faster Post-Quantum Designated-Verifier zkSNARKs from Lattices&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95172</id>
		<title>ZkSNARK 26</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ZkSNARK_26&amp;diff=95172"/>
		<updated>2026-02-03T22:22:33Z</updated>

		<summary type="html">&lt;p&gt;TurtlePU: /* Лекции и семинары */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Протоколы доказательств с нулевым разглашением ==&lt;br /&gt;
&lt;br /&gt;
Весенний курс по выбору для студентов 4 курса ПМИ ФКН ВШЭ.&lt;br /&gt;
&lt;br /&gt;
=== Команда курса ===&lt;br /&gt;
&lt;br /&gt;
Лектор: Павел Соколов aka [https://t.me/TurtlePU @TurtlePU].&lt;br /&gt;
&lt;br /&gt;
Семинарист: Кирилл Сизов aka [https://t.me/kirillsizov @kirillsizov].&lt;br /&gt;
&lt;br /&gt;
=== Ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм: https://t.me/+Lo01TtiDATcyODYy&lt;br /&gt;
&lt;br /&gt;
Чат в телеграм: https://t.me/+ndaHNUszEFRiMDdi&lt;br /&gt;
&lt;br /&gt;
Зум: https://us06web.zoom.us/j/84188907802?pwd=tpDbXaPZUxwAzc1eGHN8tqZJR7b2mb.1&lt;br /&gt;
&lt;br /&gt;
Записи лекций и семинаров: https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC&lt;br /&gt;
&lt;br /&gt;
Материалы семинаров: https://github.com/sizovk/zk-seminars&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TBA&lt;br /&gt;
&lt;br /&gt;
== План курса ==&lt;br /&gt;
&lt;br /&gt;
=== Лекции и семинары ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Лекция I&#039;&#039;&#039; (20 янв). Определение zkSNARK. Задание вычислений многочленами над полем остатков Zp. [https://miro.com/app/board/uXjVGNnWkXw=/?share_link_id=846985122965 Конспект]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T09-28-11.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар I&#039;&#039;&#039; (20 янв). Определение R1CS, QAP. Внутреннее устройство протокола groth16. [https://github.com/sizovk/zk-seminars/blob/main/week-1/slides.pdf Слайды]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98_2026-01-20T11-26-51.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция II&#039;&#039;&#039; (27 янв). Algebra recap: конечные группы и поля. Задача DLOG. &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: проективные пространства. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T08-16-17Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар II&#039;&#039;&#039; (27 янв). Фреймворк Circom: установка, принципы работы, примеры. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [https://disk.yandex.ru/d/mzXlT0U3MzEZkQ/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D0%B4%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%20%D1%81%20%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D1%8B%D0%BC%20%D1%80%D0%B0%D0%B7%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC/4%20%D0%BA%D1%83%D1%80%D1%81%20%D0%9F%D0%9C%D0%98%202026-01-27T10-00-19Z.mp4 Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция III&#039;&#039;&#039; (3 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: определение и внутреннее устройство эллиптических кривых над полем. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар III&#039;&#039;&#039; (3 фев). Работа во фреймворке Circom, часть II. [https://github.com/sizovk/zk-seminars/tree/main/week-2 Материалы]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция IV&#039;&#039;&#039; (10 фев). &#039;&#039;Гостевая лекция Димы Трушина&#039;&#039;: TBA. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар IV&#039;&#039;&#039; (10 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция V&#039;&#039;&#039; (17 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар V&#039;&#039;&#039; (17 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VI&#039;&#039;&#039; (24 фев). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VI&#039;&#039;&#039; (24 фев). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VII&#039;&#039;&#039; (3 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VII&#039;&#039;&#039; (3 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Лекция VIII&#039;&#039;&#039; (10 мар). TBA. [ Конспект]. [ Запись].&lt;br /&gt;
* &#039;&#039;&#039;Семинар VIII&#039;&#039;&#039; (10 мар). TBA. [ Слайды]. [ Запись].&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
&lt;br /&gt;
* [ Домашнее задание 1]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 2]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 3]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 4]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
* [ Домашнее задание 5]. Дедлайн &#039;&#039;&#039;TBA&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Оценивание ===&lt;br /&gt;
&lt;br /&gt;
Итог = Округление(1/5 * ДЗ-1 + 1/5 * ДЗ-2 + 1/5 * ДЗ-3 + 1/5 * ДЗ-4 + 1/5 * ДЗ-5),&lt;br /&gt;
&lt;br /&gt;
где ДЗ-n – оценка за домашнее задание n.&lt;br /&gt;
&lt;br /&gt;
Округление арифметическое.&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
&lt;br /&gt;
=== Основная литература ===&lt;br /&gt;
&lt;br /&gt;
# Maksym Petkus – Why and How zk-SNARK Works: Definitive Explanation&lt;br /&gt;
# Marta Bellés-Muñoz, Miguel Isabel, Jose Luis Muñoz-Tapia, Albert Rubio, and Jordi Baylina – CIRCOM: A Circuit Description Language for Building Zero-Knowledge Applications&lt;br /&gt;
# Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru – PlonK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge&lt;br /&gt;
# Benedikt Bünz, Binyi Chen – Protostar: Generic Efficient Accumulation/Folding for Special-sound Protocols&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература ===&lt;br /&gt;
&lt;br /&gt;
# Tim Dokchitser, Alexandr Bulkin – Zero Knowledge Virtual Machine step by step&lt;br /&gt;
# Dong Pyo Chi, Jeong Woon Choi, Jeong San Kim and Taewan Kim – Lattice Based Cryptography for Beginners&lt;br /&gt;
# Martin R. Albrecht, Valerio Cini, Russell W. F. Lai, Giulio Malavolta and Sri Aravinda Krishnan Thyagarajan – Lattice-Based SNARKs: Publicly Verifiable, Preprocessing, and Recursively Composable&lt;br /&gt;
# Rosario Gennaro, Michele Minelli, Anca Nitulescu, and Michele Orrù – Lattice-Based zk-SNARKs from Square Span Programs&lt;br /&gt;
# Yuval Ishai, Hang Su, David J. Wu – Shorter and Faster Post-Quantum Designated-Verifier zkSNARKs from Lattices&lt;/div&gt;</summary>
		<author><name>TurtlePU</name></author>
	</entry>
</feed>