<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://mit.spbau.ru/sewiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=D.v.lapshin</id>
		<title>SEWiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://mit.spbau.ru/sewiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=D.v.lapshin"/>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php/%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/D.v.lapshin"/>
		<updated>2026-04-29T09:43:21Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%91%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%A7%D0%B5%D1%80%D0%BD%D1%8B%D1%88%D0%B5%D0%B2)_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C_2017&amp;diff=12396</id>
		<title>Базы данных (Чернышев) осень 2017</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%91%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%A7%D0%B5%D1%80%D0%BD%D1%8B%D1%88%D0%B5%D0%B2)_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C_2017&amp;diff=12396"/>
				<updated>2017-09-18T14:50:27Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Преподаватель: Чернышев Г. &lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
Материалы можно найти на [http://math.spbu.ru/user/chernishev/window.html сайте].&lt;br /&gt;
&lt;br /&gt;
Результаты тестов [https://docs.google.com/spreadsheets/d/1378rBB29Cgplt7h6muzEUL3BXDjb_OUS3cvp8l62EPk/edit#gid=0 на гугл-таблицах].&lt;br /&gt;
&lt;br /&gt;
== Практика ==&lt;br /&gt;
&lt;br /&gt;
Задание 1: [[Файл:Fal2017 DB Task1.pdf]].&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Fal2017_DB_Task1.pdf&amp;diff=12395</id>
		<title>Файл:Fal2017 DB Task1.pdf</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Fal2017_DB_Task1.pdf&amp;diff=12395"/>
				<updated>2017-09-18T14:48:36Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%91%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%A7%D0%B5%D1%80%D0%BD%D1%8B%D1%88%D0%B5%D0%B2)_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C_2017&amp;diff=12389</id>
		<title>Базы данных (Чернышев) осень 2017</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%91%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%A7%D0%B5%D1%80%D0%BD%D1%8B%D1%88%D0%B5%D0%B2)_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C_2017&amp;diff=12389"/>
				<updated>2017-09-18T12:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: /* Лекции */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Преподаватель: Чернышев Г. &lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
Материалы можно найти на [http://math.spbu.ru/user/chernishev/window.html сайте].&lt;br /&gt;
&lt;br /&gt;
Результаты тестов [https://docs.google.com/spreadsheets/d/1378rBB29Cgplt7h6muzEUL3BXDjb_OUS3cvp8l62EPk/edit#gid=0 на гугл-таблицах].&lt;br /&gt;
&lt;br /&gt;
== Практика ==&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A1%2B%2B_1MIT_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C2017&amp;diff=12313</id>
		<title>С++ 1MIT осень2017</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A1%2B%2B_1MIT_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C2017&amp;diff=12313"/>
				<updated>2017-09-15T09:59:41Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: Added C11 standart link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Лекции ==&lt;br /&gt;
Преподаватель: Линский Евгений Михайлович ('''evgeny.linsky@gmail.com''')&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1uon68I_r3_5v9EXMWy-cYrwi5u6ECdMKmEnxXAyT99A/edit?usp=sharing Электронная ведомость]&lt;br /&gt;
* [https://stepic.org/lesson/Как-установить-Linux-4548/step/2?course=Введение-в-Linux&amp;amp;unit=1012 Виртуальная машина с инструкцией установки]&lt;br /&gt;
* [[Про стиль (coding convention)]]&lt;br /&gt;
* [http://www.funtoo.org/Linux_Fundamentals,_Part_1 Про linux] (на русском: [[Файл:linux-intro-rus.pdf]])&lt;br /&gt;
* [http://amse.ru/courses/cpp2/2010_10_13.html Ликбез по C++]&lt;br /&gt;
&lt;br /&gt;
== Лабораторные и домашние ==&lt;br /&gt;
* [https://github.com/HFX-TA/cpp/tree/master/F17-S18 HFX-TA/cpp/F17-S18] — гит-репозиторий с описаниями лабораторных (обновляется каждую неделю).&lt;br /&gt;
* [http://mit.spbau.ru/trac/cpp17b/wiki/WikiStart Trac] — trac для лабораторных. &lt;br /&gt;
* [http://mit.spbau.ru/svn/cpp17b/ svn] — svn для лабораторных.&lt;br /&gt;
&lt;br /&gt;
== Практика Гулецкий ==&lt;br /&gt;
&lt;br /&gt;
Преподаватель: Артур Гулецкий ('''hatless.fox@gmail.com''')&lt;br /&gt;
&lt;br /&gt;
Префикс в теме письма: [C++TA]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/HFX-TA/cpp/tree/master/ta/huletski Код с практик]&lt;br /&gt;
&lt;br /&gt;
Почитать:&lt;br /&gt;
* Intro to C++ w/o C ([https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113 C++ Primer, 5th])&lt;br /&gt;
* краткое введение в make ([https://www.amazon.com/dp/1593275676 How Linux works, 2nd], sect. 15.2)&lt;br /&gt;
* gdb  ([https://www.nostarch.com/hacking2.htm Hacking the Art of Exploitation, 2nd], sect. 0x250)&lt;br /&gt;
* linker/separate compilation/libs ([https://www.amazon.com/Computer-Systems-Programmers-Perspective-3rd/dp/013409266X CS:PP, 3rd], ch. 7)&lt;br /&gt;
&lt;br /&gt;
== Практика Афанасьев ==&lt;br /&gt;
&lt;br /&gt;
Преподаватель: Антон Афанасьев ('''anton.f.afanasev@yandex.ru''')&lt;br /&gt;
&lt;br /&gt;
== Практика Лапшин ==&lt;br /&gt;
&lt;br /&gt;
Преподаватель: Дмитрий Лапшин, по вопросам курса писать сюда: [mailto:au-cpp@ldvsoft.net au-cpp@ldvsoft.net].&lt;br /&gt;
&lt;br /&gt;
Ссылочки выше тоже полезны!&lt;br /&gt;
* Краткое пособие по Ubuntu от меня: https://ldvsoft.net/2017/09/10/ubuntu-course.html.&lt;br /&gt;
* Стандарт языка C (версия С11): http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf.&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A1%2B%2B_1MIT_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C2017&amp;diff=12242</id>
		<title>С++ 1MIT осень2017</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A1%2B%2B_1MIT_%D0%BE%D1%81%D0%B5%D0%BD%D1%8C2017&amp;diff=12242"/>
				<updated>2017-09-12T12:15:09Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: /* Практика Лапшин */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Лекции ==&lt;br /&gt;
Преподаватель: Линский Евгений Михайлович ('''evgeny.linsky@gmail.com''')&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1uon68I_r3_5v9EXMWy-cYrwi5u6ECdMKmEnxXAyT99A/edit?usp=sharing Электронная ведомость]&lt;br /&gt;
* [https://stepic.org/lesson/Как-установить-Linux-4548/step/2?course=Введение-в-Linux&amp;amp;unit=1012 Виртуальная машина с инструкцией установки]&lt;br /&gt;
* [[Про стиль (coding convention)]]&lt;br /&gt;
* [http://www.funtoo.org/Linux_Fundamentals,_Part_1 Про linux] (на русском: [[Файл:linux-intro-rus.pdf]])&lt;br /&gt;
* [http://amse.ru/courses/cpp2/2010_10_13.html Ликбез по C++]&lt;br /&gt;
&lt;br /&gt;
== Лабораторные и домашние ==&lt;br /&gt;
* [https://github.com/HFX-TA/cpp/tree/master/F17-S18 HFX-TA/cpp/F17-S18] — гит-репозиторий с описаниями лабораторных (обновляется каждую неделю).&lt;br /&gt;
* [http://mit.spbau.ru/trac/cpp17b/wiki/WikiStart Trac] — trac для лабораторных. &lt;br /&gt;
* [http://mit.spbau.ru/svn/cpp17b/ svn] — svn для лабораторных.&lt;br /&gt;
&lt;br /&gt;
== Практика Гулецкий ==&lt;br /&gt;
&lt;br /&gt;
Преподаватель: Артур Гулецкий ('''hatless.fox@gmail.com''')&lt;br /&gt;
&lt;br /&gt;
Префикс в теме письма: [C++TA]&lt;br /&gt;
&lt;br /&gt;
Почитать:&lt;br /&gt;
* Intro to C++ w/o C ([https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113 C++ Primer, 5th])&lt;br /&gt;
* краткое введение в make ([https://www.amazon.com/dp/1593275676 How Linux works, 2nd], sect. 15.2)&lt;br /&gt;
* gdb  ([https://www.nostarch.com/hacking2.htm Hacking the Art of Exploitation, 2nd], sect. 0x250)&lt;br /&gt;
* linker/separate compilation/libs ([https://www.amazon.com/Computer-Systems-Programmers-Perspective-3rd/dp/013409266X CS:PP, 3rd], ch. 7)&lt;br /&gt;
&lt;br /&gt;
== Практика Афанасьев ==&lt;br /&gt;
&lt;br /&gt;
Преподаватель: Антон Афанасьев ('''anton.f.afanasev@yandex.ru''')&lt;br /&gt;
&lt;br /&gt;
== Практика Лапшин ==&lt;br /&gt;
&lt;br /&gt;
Преподаватель: Дмитрий Лапшин, по вопросам курса писать сюда: [mailto:au-cpp@ldvsoft.net au-cpp@ldvsoft.net ].&lt;br /&gt;
&lt;br /&gt;
Краткое пособие по Ubuntu от меня: https://ldvsoft.net/2017/09/10/ubuntu-course.html.&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D1%8B,_3_%D0%BA%D1%83%D1%80%D1%81,_5_%D1%81%D0%B5%D0%BC%D0%B5%D1%81%D1%82%D1%80,_2016/17&amp;diff=9799</id>
		<title>Компиляторы, 3 курс, 5 семестр, 2016/17</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D1%8B,_3_%D0%BA%D1%83%D1%80%D1%81,_5_%D1%81%D0%B5%D0%BC%D0%B5%D1%81%D1%82%D1%80,_2016/17&amp;diff=9799"/>
				<updated>2016-12-18T18:50:13Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: Добавил ссылку на зачётные задания.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Лектор: Булычев Дмитрий Юрьевич.&lt;br /&gt;
&lt;br /&gt;
https://github.com/dboulytchev/sample-compiler&lt;br /&gt;
&lt;br /&gt;
Образ с настроенным софтом для виртуальной машины: [https://www.dropbox.com/s/2ybus3fxyp0ln1d/CompilerCourse.ova?dl=0 OVA] (логин внутри: &amp;lt;code&amp;gt;me&amp;lt;/code&amp;gt;, пароль: &amp;lt;code&amp;gt;me&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1LCcCdSg37du3SfDVyndm5jwgndzCl0OmwRlG8bGVQ4M/edit?ts=57f74d1e#gid=0 Результаты],&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1Dp9KYpRoPlIqDyMQVRrMIfODq09r268hYZYNM2rjzAI/edit?ts=585394f8#gid=0 зачётные задания].&lt;br /&gt;
&lt;br /&gt;
'''Вся информация на этой странице сдублирована из почты!'''&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
=== Домашнее задание от 13.09.2016 ===&lt;br /&gt;
# Дописать интерпретатор стековой машины с символическим стеком (там надо поддержать оставшиеся 5 инструкций).&lt;br /&gt;
# Реализовать печать инструкций в правильном формате ассемблера x86 (см., например, https://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax).&lt;br /&gt;
# Реализовать правильное &amp;quot;обрамление&amp;quot; порожденной программы:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;asm&amp;quot;&amp;gt;&lt;br /&gt;
            .text&lt;br /&gt;
            .globl main&lt;br /&gt;
&lt;br /&gt;
main:&lt;br /&gt;
            &amp;lt;тут идет текст ассемблерного порождения&amp;gt;&lt;br /&gt;
            ret &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Конструкции управления ===&lt;br /&gt;
&lt;br /&gt;
Базовые:&lt;br /&gt;
# &amp;lt;code&amp;gt;if E then S1 else S2 fi&amp;lt;/code&amp;gt;, где &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &amp;amp;mdash; выражение, а &amp;lt;code&amp;gt;S1&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;S2&amp;lt;/code&amp;gt; &amp;amp;mdash; операторы. Если значение &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; вычисляется не в ноль, то исполняется &amp;lt;code&amp;gt;S1&amp;lt;/code&amp;gt;, иначе &amp;amp;mdash; &amp;lt;code&amp;gt;S2&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;while E do S od&amp;lt;/code&amp;gt;, где &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; &amp;amp;mdash; выражение, &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; &amp;amp;mdash; оператор. Если значение &amp;lt;code&amp;gt;E&amp;lt;/code&amp;gt; вычисляется в не ноль, то исполняется &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;, а потом весь &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; заново; иначе не делается ничего.&lt;br /&gt;
&lt;br /&gt;
Дополнительные:&lt;br /&gt;
# &amp;lt;code&amp;gt;if E1 then S1 {elif E2 then S2 elif E3 then S3} ... [else Sk] fi&amp;lt;/code&amp;gt; эквивалентно:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    if E1 then S1&lt;br /&gt;
    else if E2 then S2&lt;br /&gt;
           else if E3 then S3&lt;br /&gt;
           ....&lt;br /&gt;
           [else Sk]&lt;br /&gt;
    fi &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;repeat S until E&amp;lt;/code&amp;gt; эквивалентно &amp;lt;code&amp;gt;S; while E == 0 do S od&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;for S1, E, S2 do S od&amp;lt;/code&amp;gt; эквивалентно &amp;lt;code&amp;gt;S1; while E do S; S2 od&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поддержка функций ===&lt;br /&gt;
&lt;br /&gt;
На уровне выражений язык расширяется конструкцией вызова функции: &amp;lt;code&amp;gt;&amp;lt;ident&amp;gt; (&amp;lt;expr&amp;gt;, &amp;lt;expr&amp;gt;, ...)&amp;lt;/code&amp;gt;. Список аргументов может быть пустым, но скобки нужны в любом случае.&lt;br /&gt;
&lt;br /&gt;
На уровне операторов язык расширяется двумя конструкциями:&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;lt;ident&amp;gt; (&amp;lt;expr&amp;gt; , &amp;lt;expr&amp;gt;, ... )&amp;lt;/code&amp;gt; &amp;amp;mdash; вызов функции. Список аргументов может быть пустым, но скобки нужны в любом случае.&lt;br /&gt;
# &amp;lt;code&amp;gt;return &amp;lt;expr&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;mdash; возврат значения. Выполнение функции должно всегда заканчиваться выполнением оператора &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt;; если функция вызывается как оператор, то её результат теряется.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Кроме того, теперь перед самой программой может идти одно или несколько описаний функций. Каждое описание имеет следующий вид:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fun &amp;lt;ident&amp;gt; (&amp;lt;ident&amp;gt; , &amp;lt;ident&amp;gt;, ... )&lt;br /&gt;
begin&lt;br /&gt;
    &amp;lt;stmt&amp;gt;&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Список формальных параметров може быть пуст, но скобки нужны в любом случае.&lt;br /&gt;
&lt;br /&gt;
Правила видимости для переменных внутри функции: каждая функция &amp;quot;видит&amp;quot; свои параметры; все остальные используемые переменные считаются локальными для данного вызова функции. Глобальные переменные не видны. Функции могут быть рекурсивными, в том числе взаимно-рекурсивными.&lt;br /&gt;
&lt;br /&gt;
Расширение системы команд стековой машины:&lt;br /&gt;
# &amp;lt;code&amp;gt;CALL of string * string list&amp;lt;/code&amp;gt; &amp;amp;mdash; инструкция вызова. Получает имя функции и список имен её параметров.&lt;br /&gt;
# &amp;lt;code&amp;gt;RET&amp;lt;/code&amp;gt; &amp;amp;mdash; возврат из функции.&lt;br /&gt;
# &amp;lt;code&amp;gt;END&amp;lt;/code&amp;gt; &amp;amp;mdash; конец программы (завершает выполнение, даже если &amp;quot;хвост&amp;quot; инструкций не пуст).&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fun fact (n)&lt;br /&gt;
begin&lt;br /&gt;
  if n &amp;lt; 2&lt;br /&gt;
     then return 1&lt;br /&gt;
     else return n * fact (n-1)&lt;br /&gt;
  fi&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
read (n);&lt;br /&gt;
write (fact (n))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Builtins и строки ===&lt;br /&gt;
&lt;br /&gt;
Встроенная функция --- это (в нашем случае) некоторая предопределенная функция. Для&lt;br /&gt;
эталонного и стекового интерпретаторов встроенные функции реализованы на языке&lt;br /&gt;
реализации интерпретатора (в нашем случае --- OCaml), в нативном случае --- на&lt;br /&gt;
языке реализации рантайма (в нашем случае --- C). Встроенные функции могут оказать влияние&lt;br /&gt;
на входной и выходной потоки (но не на состояние), это надо учесть при реализации.&lt;br /&gt;
&lt;br /&gt;
Соответственно, для поддержки встроенной функции в интерпретаторе надо, в случае, когда&lt;br /&gt;
вызываемая функция не обнаружена, проверить, не является ли она встроенной (по имени), и если&lt;br /&gt;
является, то соответствующим образом её отынтерпретировать.&lt;br /&gt;
&lt;br /&gt;
Для поддержки строенной функции в стековой машине надо добавить в машину инструкцию&lt;br /&gt;
BUILTIN (f, n), где f --- имя функции, n --- количество её аргументов. Эту инструкцию надо генерировать&lt;br /&gt;
в стековом интерпретаторе в ситуации, когда встречается вызов неопределенной функции.&lt;br /&gt;
&lt;br /&gt;
Для поддержки встроенных функций в нативном коде ничего специального не требуется ---&lt;br /&gt;
надо сгенерировать для инструкции BUILTIN точно такой же код, что и для инструкции CALL (ну и,&lt;br /&gt;
конечно, реализовать саму встроенную функцию в рантайме).&lt;br /&gt;
&lt;br /&gt;
Следует избегать дублирования кода при реализации встроенных функций для эталонного и стекового&lt;br /&gt;
интерпретаторов (в обоих случаях это должен быть один и тот же код).&lt;br /&gt;
&lt;br /&gt;
Соответственно, из AST языка пропадают конструкции READ и WRITE, из систем команд&lt;br /&gt;
стековой машины пропадают инструкции READ и WRITE (но добавляется BUILTIN).&lt;br /&gt;
&lt;br /&gt;
Потребуются некоторые изменения в парсере: надо выбросить ключевые слова read и write и&lt;br /&gt;
убрать разбор соответствующих операторов. Теперь вместо read(x) надо будет писать x := read ().&lt;br /&gt;
Все тесты должны проходить по-старому (надеюсь, ни у кого не возникнет трудностей с переделыванием&lt;br /&gt;
существующих тестов на новый синтаксис).&lt;br /&gt;
&lt;br /&gt;
Поддержка строковых значений в языке обеспечивается добавлением следующих конструкций:&lt;br /&gt;
# Строковых констант вида &amp;lt;code&amp;gt;&amp;quot;.....&amp;quot;&amp;lt;/code&amp;gt; в выражениях. Для их представления потребуется новый узел AST для выражений и новая инструкция SPUSH (s) в стековой машине.&lt;br /&gt;
# Целочисленных констант вида &amp;lt;code&amp;gt;'&amp;lt;один символ&amp;gt;'&amp;lt;/code&amp;gt; в выражениях. Это просто синтаксический сахар на уровне парсера.&lt;br /&gt;
# Набора встроенных функций.&lt;br /&gt;
&lt;br /&gt;
Заметим, что теперь значениями в программе являются не только целые числа, но и строки --- поэтому&lt;br /&gt;
на уровне интерпретатора предлагается завести модуль для значений:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    module Value =&lt;br /&gt;
       struct&lt;br /&gt;
           type t = Int of int | String of bytes&lt;br /&gt;
&lt;br /&gt;
           let of_int : int -&amp;gt; t = ...&lt;br /&gt;
           let of_string : bytes -&amp;gt; t = ...&lt;br /&gt;
           let to_int : t -&amp;gt; int = ...&lt;br /&gt;
           let to_string : t -&amp;gt; string = ...&lt;br /&gt;
       end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эти изменения надо &amp;quot;протянуть&amp;quot; через весь код (это не так страшно, как может показаться на первый взгляд).&lt;br /&gt;
Набор встроенных функций таков:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;strmake (n, c)&amp;lt;/code&amp;gt;    --- делает строку длины n, заполненную символами с (n &amp;gt;= 0, иначе неизвестно, что), и возвращает эту строку.&lt;br /&gt;
* &amp;lt;code&amp;gt;strset (s, i, c)&amp;lt;/code&amp;gt;     --- присваивает i-му элементу строки s значение c и возвращает измененную строку.&lt;br /&gt;
* &amp;lt;code&amp;gt;strget (s, i)&amp;lt;/code&amp;gt;        --- возвращает i-й элемент строки s.&lt;br /&gt;
* &amp;lt;code&amp;gt;strdup (s)&amp;lt;/code&amp;gt;          --- возвращает копию строки s.&lt;br /&gt;
* &amp;lt;code&amp;gt;strcat (s1, s2)&amp;lt;/code&amp;gt;   --- возвращает конкатенацию строк s1 и s2.&lt;br /&gt;
* &amp;lt;code&amp;gt;strcmp (s1, s2)&amp;lt;/code&amp;gt; --- сравнивает строки s1 и s2 лексикографически и возвращает -1, если s1&amp;lt;s2, 0, если s1=s2, и 1 --- иначе.&lt;br /&gt;
* &amp;lt;code&amp;gt;strlen (s)&amp;lt;/code&amp;gt;           --- возвращает длину строки s.&lt;br /&gt;
* &amp;lt;code&amp;gt;strsub (s, i, l)&amp;lt;/code&amp;gt;     --- возвращает подстроку длины l строки s, начиная с i-й позиции включительно (т.е. strcmp (s, strsub (s, 0, strlen (s))) == 0).&lt;br /&gt;
&lt;br /&gt;
=== Массивы ===&lt;br /&gt;
Для поддержки массивов язык расширяется&lt;br /&gt;
&lt;br /&gt;
# На уровне выражений --- конструкциями:&lt;br /&gt;
## &amp;lt;code&amp;gt;[ expr_1, expr_2, ..., expr_k ]&amp;lt;/code&amp;gt;, где &amp;lt;math&amp;gt;k \ge 0&amp;lt;/math&amp;gt;, &amp;lt;code&amp;gt;expr_i&amp;lt;/code&amp;gt; --- целое выражение. Это unboxed-массив целых.&lt;br /&gt;
## &amp;lt;code&amp;gt;{ expr_1, expr_2, ..., expr_k }&amp;lt;/code&amp;gt;, где &amp;lt;math&amp;gt;k \ge 0&amp;lt;/math&amp;gt;, &amp;lt;code&amp;gt;expr_i&amp;lt;/code&amp;gt; --- выражение, вычисляющееся в строку или массив. Это boxed-массив.&lt;br /&gt;
## &amp;lt;code&amp;gt;expr [index]&amp;lt;/code&amp;gt; --- выборка элемента массива; здесь expr --- выражение, вычисляющееся в массив (то есть идентификатор, выборка из массива или вызов функции), index --- целое выражение.&lt;br /&gt;
# На уровне операторов --- присваиванием вида &amp;lt;code&amp;gt;ident[index_1][index_2]...[index_k] := value&amp;lt;/code&amp;gt;, где ident -- идентификатор массива, &amp;lt;code&amp;gt;index_i&amp;lt;/code&amp;gt; --- целое выражение, value --- произвольное выражение.&lt;br /&gt;
# На уровне builtins --- функциями:&lt;br /&gt;
## &amp;lt;code&amp;gt;arrlen (a)&amp;lt;/code&amp;gt; --- возвращает число элементов массива а&lt;br /&gt;
## &amp;lt;code&amp;gt;arrmake (n, v)&amp;lt;/code&amp;gt; --- возвращает массив целых длины n, все элементы которого равны v.&lt;br /&gt;
## &amp;lt;code&amp;gt;Arrmake (n, v)&amp;lt;/code&amp;gt; --- возвращает boxed-массив массивов или строк длины n, все элементы которого равны v.&lt;br /&gt;
&lt;br /&gt;
В интерпретатор добавлется новый вид значений:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    module Value =&lt;br /&gt;
       struct&lt;br /&gt;
          type t = .... | Array of value array&lt;br /&gt;
&lt;br /&gt;
          ...&lt;br /&gt;
&lt;br /&gt;
          let of_array = ...&lt;br /&gt;
          let to_array = ...&lt;br /&gt;
       end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В стековую машину добавляются инструкции:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;ARRAY of bool * int&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;ARRAY(boxed, n)&amp;lt;/code&amp;gt; снимает со стека n значений, создает boxed или unboxed массив и кладет этот массив на стек.&lt;br /&gt;
# &amp;lt;code&amp;gt;ELEM&amp;lt;/code&amp;gt; --- снимает со стека массив и индекс и кладет обратно элемент по данному индексу.&lt;br /&gt;
# &amp;lt;code&amp;gt;STA of string * int&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;STA (x, n)&amp;lt;/code&amp;gt; снимает со стека n+1 значение i_1, i_2, ..., i_n, v и осуществляет присваивание &amp;lt;code&amp;gt;x[i_1][i_2]...[i_n] := v&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Документация ==&lt;br /&gt;
=== Система сборки (новая) ===&lt;br /&gt;
Используется [http://opam.ocaml.org/ opam] - это пакетный менеджер для OCaml.&lt;br /&gt;
&lt;br /&gt;
Подготовка (альтернативно можно запустить [https://gist.github.com/LDVSOFT/ea030ba8ec24f12c8c579522bd99e90a скрипт от Димы]):&lt;br /&gt;
# Требуется установить opam версии хотя бы 1.2.2. Есть в репозиториях Debian/Ubuntu (&amp;lt;code&amp;gt;sudo apt-get install opam&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Должен автоматически поставится компилятор ocaml. Проверяем версию: &amp;lt;code&amp;gt;ocaml -version&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Если версия хотя бы 4.02 - запускаем из домашнего каталога &amp;lt;code&amp;gt;opam init&amp;lt;/code&amp;gt;. Если версия древнее &amp;amp;mdash; запускаем &amp;lt;code&amp;gt;opam init --comp 4.03.0&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Чтобы подцепить изменения в окружении в текущей сессии, надо запустить &amp;lt;code&amp;gt;eval `opam config env`&amp;lt;/code&amp;gt;. Теперь версия компилятора точно должна быть хотя бы 4.02.&lt;br /&gt;
# Выполняем команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
opam pin add logger https://github.com/dboulytchev/logger.git -y -n&lt;br /&gt;
opam pin add GT https://github.com/dboulytchev/GT.git -y -n&lt;br /&gt;
opam pin add ostap https://github.com/dboulytchev/ostap.git -y -n&lt;br /&gt;
opam pin add ocanren https://github.com/dboulytchev/ocanren.git -y -n &lt;br /&gt;
opam install ostap&lt;br /&gt;
opam install ocanren&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Также для сборки &amp;lt;code&amp;gt;runtime.o&amp;lt;/code&amp;gt; на Debian/Ubuntu может потребоваться пакет &amp;lt;code&amp;gt;g++-multilib&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Как собирать:&lt;br /&gt;
* Если вы находитесь в корне репозитория: &amp;lt;code&amp;gt;make -f Makefile.ob&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Если вы находитесь не в корне, а, скажем, в папке src, то надо добавить параметр &amp;lt;code&amp;gt;-C &amp;lt;путь-до-корня&amp;gt;&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;make -C .. -f Makefile.ob&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=8115</id>
		<title>Участник:D.v.lapshin</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=8115"/>
				<updated>2016-09-07T08:29:09Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Контакты ==&lt;br /&gt;
&lt;br /&gt;
* Зовут меня Лапшин Дмитрий&lt;br /&gt;
* LDVSOFT и Элегантный Бумеранг --- я же.&lt;br /&gt;
* E-mail: [mailto:lapshin.dv@mail.ru lapshin.dv@mail.ru]&lt;br /&gt;
* Телефон: [tel:+7(921)569-81-08 +7 (921) 569-81-08]&lt;br /&gt;
** Telegram&lt;br /&gt;
** Viber&lt;br /&gt;
* ВК: [https://vk.com/elebum elebum]&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8,_2_%D0%BA%D1%83%D1%80%D1%81,_%D0%B2%D0%B5%D1%81%D0%BD%D0%B0_2016&amp;diff=7931</id>
		<title>Формальные языки, 2 курс, весна 2016</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8,_2_%D0%BA%D1%83%D1%80%D1%81,_%D0%B2%D0%B5%D1%81%D0%BD%D0%B0_2016&amp;diff=7931"/>
				<updated>2016-06-06T14:47:08Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: Уточнён билет №15&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Лекции:''' Михаил Эдуардович Дворкин (&amp;lt;b&amp;gt;mikhail.dvorkin@gmail.com&amp;lt;/b&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
'''Практика:''' Николай Карпов (I подгруппа), Михаил Слабодкин (slabodkinm@gmail.com) (II подгруппа).&lt;br /&gt;
&lt;br /&gt;
Конспект http://yeputons.net/spbau/term4-formal_languages-lectures.pdf&lt;br /&gt;
&lt;br /&gt;
== План ==&lt;br /&gt;
&lt;br /&gt;
Лекция 1&lt;br /&gt;
* Языки и yes/no-задачи. Теоретико-множественное доказательство невозможности описания языков.&lt;br /&gt;
* Детерминированные конечные автоматы. Принятие слова.&lt;br /&gt;
* Эквивалентность состояний. Минимизация ДКА.&lt;br /&gt;
Лекция 2&lt;br /&gt;
* Правые контексты.&lt;br /&gt;
* Эквивалентность ДКА.&lt;br /&gt;
* Прямое произведение ДКА.&lt;br /&gt;
* Динамическое программирование по ДКА.&lt;br /&gt;
Лекция 3&lt;br /&gt;
* Академические регулярные выражения.&lt;br /&gt;
* Теорема Клини — эквивалентность КА и АРВ.&lt;br /&gt;
Лекция 4&lt;br /&gt;
* Операции над языками. Свойства регулярных языков.&lt;br /&gt;
* Лемма о разрастании.&lt;br /&gt;
Лекция 5&lt;br /&gt;
* КС-грамматики.&lt;br /&gt;
* Вывод, левосторонний вывод, дерево разбора.&lt;br /&gt;
* Однозначные КС-грамматики.&lt;br /&gt;
* Вложенность регулярных языков в КС-языки.&lt;br /&gt;
Лекция 6&lt;br /&gt;
* Нормальная форма Хомского.&lt;br /&gt;
* Удаление бесполезных нетерминалов, \eps-продукций, цепных продукций, терминалов в длинных продукциях, длинных продукций.&lt;br /&gt;
* Принадлежность слова КС-языку. Алгоритм Кока—Янгера—Касами.&lt;br /&gt;
Лекция 7&lt;br /&gt;
* Лемма о разрастании для КС-грамматик&lt;br /&gt;
* Автоматы с магазинной памятью, прием по пустому стеку и терминальному состоянию&lt;br /&gt;
Лекция 8&lt;br /&gt;
* Эквивалентность МП-автоматов и КС-грамматик&lt;br /&gt;
* Детерминированные автоматы с магазинной памятью, неэквивалентность двух видов приема&lt;br /&gt;
* Соотношение регулярных, ДМП- и КС-языков&lt;br /&gt;
Лекция 9&lt;br /&gt;
* Иерархия Хомского&lt;br /&gt;
* Регулярные грамматики, эквивалентность ДКА&lt;br /&gt;
* Контекстно-зависимые грамматики, неукорачивающие грамматики&lt;br /&gt;
* Нормальная форма Куроды для КЗ- и произвольных грамматик, приведение к ней&lt;br /&gt;
* Неограниченные грамматики, эквивалентность машинам Тьюринга&lt;br /&gt;
Лекция 10 (правильнее: 6.5)&lt;br /&gt;
* Нормальная форма Грейбах, ослабленная нормальная форма Грейбах, приведение произвольной КС-грамматики к ослабленной НФГ.&lt;br /&gt;
&lt;br /&gt;
== Список вопросов ==&lt;br /&gt;
&lt;br /&gt;
UPDATE: Билет №14 появился в этом документе позже, заметьте его, пожалуйста.&lt;br /&gt;
UPDATE: Билет №15 уточнён.&lt;br /&gt;
&lt;br /&gt;
# Детерминированные конечные автоматы. Определение. Принятие слова. Эквивалентность состояний. Минимизация ДКА.&lt;br /&gt;
# Правые контексты. Связь с размером минимального ДКА. Прямое произведение ДКА. Динамическое программирование по ДКА, примеры.&lt;br /&gt;
# Недетерминированные конечные автоматы с eps-переходами. Детерминизация НКА.&lt;br /&gt;
# Академические регулярные выражения. Теорема Клини — эквивалентность КА и АРВ: из КА в АРВ.&lt;br /&gt;
# Академические регулярные выражения. Теорема Клини — эквивалентность КА и АРВ: из АРВ в КА.&lt;br /&gt;
# Лемма о разрастании для регулярных языков.&lt;br /&gt;
# КС-грамматики. Вывод, левосторонний вывод, дерево разбора. Вложенность регулярных языков в КС-языки.&lt;br /&gt;
# Нормальная форма Хомского. Приведение к ней: удаление бесполезных нетерминалов, \eps-продукций, цепных продукций, терминалов в длинных продукциях, длинных продукций.&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;
== К занятиям Николая Карпова ==&lt;br /&gt;
&lt;br /&gt;
[https://drive.google.com/folderview?id=0B9NF86zbFMKkQlBDUHpLZDI0eHM&amp;amp;usp=sharing Все материалы и табличка].&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1_JhH9h8_k57iw3BEFnlMmK3sfSITwDWVOvlerSA5Wlk/edit?usp=drive_web Таблица с результатами]&lt;br /&gt;
&lt;br /&gt;
=== Домашние задания ===&lt;br /&gt;
Осторожно, теоретически могут быть ссылки на старые версии - актуальные ищите в разделе &amp;quot;Все материалы и табличка&amp;quot; выше.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !№&lt;br /&gt;
 !Дата&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !1&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkMzRQQ09uQmVsbWc/view На 19.02.2016]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !2&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkWXA5UnE2Xy1uczQ/view На 26.02.2016]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !3&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkZy1QY3dVZEhXbzg/view На 04.03.2016]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !4&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkQkl1cUZuZ0FGUm8/view На 11.03.2016]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !5&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkMFBKQmJBa25BYTQ/view На 18.03.2016]&lt;br /&gt;
&lt;br /&gt;
 |- &lt;br /&gt;
 !6&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkZEFUMjRrVVRBTms/view На 25.03.2016]&lt;br /&gt;
&lt;br /&gt;
 |- &lt;br /&gt;
 !7&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkaEVFZ2JxazY4bkE/view На 01.04.2016]&lt;br /&gt;
  &lt;br /&gt;
 |-&lt;br /&gt;
 !8&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkeDF1TFRDSktuUW8/view На 08.04.2016]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !9&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkWUJ5YTBOb2RoYzQ/view На 22.04.2016]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !10&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkUGlYUEY2NjVxMFE/view На 29.04.2016]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !11&lt;br /&gt;
 |align=center|[https://drive.google.com/file/d/0B9NF86zbFMKkc2wwa2JReU5ranM/view На 06.05.2016]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== К занятиям Михаила Слабодкина ==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/13ELlUZn098B5opdQrn1UWfMmDbwosVZ5vKNX7NZDGc8/edit Результаты]&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
&lt;br /&gt;
* Важная книга для первой части курса: Хопкрофт, Мотвани, Ульман. Введение в теорию автоматов, языков и вычислений.&lt;br /&gt;
* [http://neerc.ifmo.ru/wiki/index.php?title=Теория_формальных_языков]&lt;br /&gt;
* [http://www.ics.uci.edu/~goodrich/teach/cs162/notes/]&lt;br /&gt;
* [http://www.eecs.wsu.edu/~ananth/CptS317/]&lt;br /&gt;
* [http://users.utu.fi/jkari/automata/fullnotes.pdf]&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_2_%D0%BA%D1%83%D1%80%D1%81%D0%B0,_%D0%B2%D0%B5%D1%81%D0%BD%D0%B0_2016&amp;diff=7513</id>
		<title>Расписание 2 курса, весна 2016</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_2_%D0%BA%D1%83%D1%80%D1%81%D0%B0,_%D0%B2%D0%B5%D1%81%D0%BD%D0%B0_2016&amp;diff=7513"/>
				<updated>2016-02-29T12:17:36Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: Fixed table style&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Официальное расписание ==&lt;br /&gt;
&lt;br /&gt;
[[Медиа:Расписание_АФТУ_весна_2016_бакалавриат.pdf|Официальное расписание]] (письмо от А.М.Кузнецова от 05.02.2016).&lt;br /&gt;
&lt;br /&gt;
=== [https://vk.com/wall-75307394_1553 Изменение от 07.02.2016] ===&lt;br /&gt;
Первая группа занимается на практиках по формальным языкам с Николаем Карповым, а на практиках по теории сложности — с Дмитрием Соколовым.&lt;br /&gt;
Так вот, по средам на второй паре у нашей группы будут занятия с Дмитрием Соколовым по теории сложности, а в пятницу, наоборот, практика по формальным языкам с Николаем Карповым.&lt;br /&gt;
Изменение постоянное и касается только первой группы.&lt;br /&gt;
&lt;br /&gt;
=== Основные даты ===&lt;br /&gt;
Озвучено на оргсобрании 08.02.2016 и выслано в письме от 09.02.2016.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 !20 февраля&lt;br /&gt;
 |рабочая суббота с отдельным расписанием (уточняется)&lt;br /&gt;
 |-&lt;br /&gt;
 !22-23 февраля&lt;br /&gt;
 |выходной&lt;br /&gt;
 |-&lt;br /&gt;
 !5 марта&lt;br /&gt;
 |рабочая суббота с отдельным расписанием (уточняется)&lt;br /&gt;
 |-&lt;br /&gt;
 !7-8 марта&lt;br /&gt;
 |выходной&lt;br /&gt;
 |-&lt;br /&gt;
 !30 мая - 5 июня&lt;br /&gt;
 |Зачётная неделя&lt;br /&gt;
 |-&lt;br /&gt;
 !6 июня - 26 июня&lt;br /&gt;
 |Сессия&lt;br /&gt;
 |-&lt;br /&gt;
 !27 июня - 3 июля&lt;br /&gt;
 |Допсессия&lt;br /&gt;
 |-&lt;br /&gt;
 !7-8 сентября&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;
&lt;br /&gt;
== Google Calendar ==&lt;br /&gt;
Каждый календарь поддерживается соответствующим ответственным в актуальном состоянии, учитывая переносы (в том числе устно заявленные преподавателем), смены аудитории и преподавателей, массовые объявления.&lt;br /&gt;
В каждом мероприятии указаны название, аудитория (поле &amp;quot;место&amp;quot;), преподаватель (в описании), время проведения.&lt;br /&gt;
По умолчанию все мероприятия повторяются каждую неделю. Когда станет известны даты последних пар (обычно это неделя перед зачётной), это будет отражено в календаре.&lt;br /&gt;
Если вы считаете, что календарь содержит неактуальную/неверную информацию - сообщите ответственному.&lt;br /&gt;
&lt;br /&gt;
Все необычные события с обязательным присутствием будут попадать в календарь общих пар. Важные массовые изменения также там будут отражены (например, если массово отменяется английский - будет создано короткое событие в соответствующий момент).&lt;br /&gt;
Все пары, где подгрупп больше двух (или же они отличаются от стандартных), будут попадать в календарь &amp;quot;Сборная солянка&amp;quot;.&lt;br /&gt;
Напоминаем, что при использовании Google Calendar можно выборочно копировать некоторые пары из общего календаря к себе, однако изменения в общем календари в вашей копии отображаться не будут.&lt;br /&gt;
&lt;br /&gt;
Идеология, которой стараемся придерживаться: правятся только будущие мероприятия, информация о старых меняется только если она была неверной. Например, если поменялась аудитория, в которой проводится пара - это меняется только в будущих мероприятиях, таким образом, для каждого конкретного дня можно вспомнить, где что в этот день было.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 !Google Calendar&lt;br /&gt;
 !iCalendar (ICS)&lt;br /&gt;
 !Ответственный&lt;br /&gt;
 !Описание&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=qrv35cjpmlkrvsbh9b2uc2qf2s%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow Общие пары Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/qrv35cjpmlkrvsbh9b2uc2qf2s%40group.calendar.google.com/public/basic.ics Общие пары iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Общие лекции и важные мероприятия (оргсобрания, презентации, каникулы)&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=h1i80r9jqopu2ta1ufp9rd8aak%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow I подгруппа Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/h1i80r9jqopu2ta1ufp9rd8aak%40group.calendar.google.com/public/basic.ics I подгруппа iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Только занятия первой подгруппы&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=3tpsara51hgvs1lo3l8qdrsp8k%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow II подгруппа Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/3tpsara51hgvs1lo3l8qdrsp8k%40group.calendar.google.com/public/basic.ics II подгруппа iCalendar]&lt;br /&gt;
 |[[user:A.v.gaydashenko|Настя Гайдашенко]]&lt;br /&gt;
 |Только занятия второй подгруппы&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=9o9t9lk5c9rspj0f9869jbcmbg%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow Сборная солянка Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/9o9t9lk5c9rspj0f9869jbcmbg%40group.calendar.google.com/public/basic.ics Сборная солянка iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Занятия, не вошедшие в предыдущие календари, без указания аудиторий и преподавателей: физкультура, английский язык, время на НИР&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=c8irlf10tgri925p5rp37oc7v0%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow Английский 1 Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/c8irlf10tgri925p5rp37oc7v0%40group.calendar.google.com/public/basic.ics Английский 1 iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Английский язык, подгруппа 1 (Силинский С.В., ауд. 515)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Экзамены ==&lt;br /&gt;
По непрофильному предмету (экономика) точно будет недифференцированный зачёт.&lt;br /&gt;
&lt;br /&gt;
Экзамены, скорее всего (но точно неизвестно!) будут следующие: дискретная математика, ТФКП, формальные языки и, возможно, теория сложности. &lt;br /&gt;
&lt;br /&gt;
По Java будет зачёт с оценкой, по ОС - зачёт с оценкой с вероятностью 90%.&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_2_%D0%BA%D1%83%D1%80%D1%81%D0%B0,_%D0%B2%D0%B5%D1%81%D0%BD%D0%B0_2016&amp;diff=7510</id>
		<title>Расписание 2 курса, весна 2016</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A0%D0%B0%D1%81%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_2_%D0%BA%D1%83%D1%80%D1%81%D0%B0,_%D0%B2%D0%B5%D1%81%D0%BD%D0%B0_2016&amp;diff=7510"/>
				<updated>2016-02-29T12:11:04Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: Fixed table position&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Официальное расписание ==&lt;br /&gt;
&lt;br /&gt;
[[Медиа:Расписание_АФТУ_весна_2016_бакалавриат.pdf|Официальное расписание]] (письмо от А.М.Кузнецова от 05.02.2016).&lt;br /&gt;
&lt;br /&gt;
=== [https://vk.com/wall-75307394_1553 Изменение от 07.02.2016] ===&lt;br /&gt;
Первая группа занимается на практиках по формальным языкам с Николаем Карповым, а на практиках по теории сложности — с Дмитрием Соколовым.&lt;br /&gt;
Так вот, по средам на второй паре у нашей группы будут занятия с Дмитрием Соколовым по теории сложности, а в пятницу, наоборот, практика по формальным языкам с Николаем Карповым.&lt;br /&gt;
Изменение постоянное и касается только первой группы.&lt;br /&gt;
&lt;br /&gt;
=== Основные даты ===&lt;br /&gt;
Озвучено на оргсобрании 08.02.2016 и выслано в письме от 09.02.2016.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |20 февраля&lt;br /&gt;
 |рабочая суббота с отдельным расписанием (уточняется)&lt;br /&gt;
 |-&lt;br /&gt;
 |22-23 февраля&lt;br /&gt;
 |выходной&lt;br /&gt;
 |-&lt;br /&gt;
 |5 марта&lt;br /&gt;
 |рабочая суббота с отдельным расписанием (уточняется)&lt;br /&gt;
 |-&lt;br /&gt;
 |7-8 марта&lt;br /&gt;
 |выходной&lt;br /&gt;
 |-&lt;br /&gt;
 |30 мая - 5 июня&lt;br /&gt;
 |Зачётная неделя&lt;br /&gt;
 |-&lt;br /&gt;
 |6 июня - 26 июня&lt;br /&gt;
 |Сессия&lt;br /&gt;
 |-&lt;br /&gt;
 |27 июня - 3 июля&lt;br /&gt;
 |Допсессия&lt;br /&gt;
 |-&lt;br /&gt;
 |7-8 сентября&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;
&lt;br /&gt;
== Google Calendar ==&lt;br /&gt;
Каждый календарь поддерживается соответствующим ответственным в актуальном состоянии, учитывая переносы (в том числе устно заявленные преподавателем), смены аудитории и преподавателей, массовые объявления.&lt;br /&gt;
В каждом мероприятии указаны название, аудитория (поле &amp;quot;место&amp;quot;), преподаватель (в описании), время проведения.&lt;br /&gt;
По умолчанию все мероприятия повторяются каждую неделю. Когда станет известны даты последних пар (обычно это неделя перед зачётной), это будет отражено в календаре.&lt;br /&gt;
Если вы считаете, что календарь содержит неактуальную/неверную информацию - сообщите ответственному.&lt;br /&gt;
&lt;br /&gt;
Все необычные события с обязательным присутствием будут попадать в календарь общих пар. Важные массовые изменения также там будут отражены (например, если массово отменяется английский - будет создано короткое событие в соответствующий момент).&lt;br /&gt;
Все пары, где подгрупп больше двух (или же они отличаются от стандартных), будут попадать в календарь &amp;quot;Сборная солянка&amp;quot;.&lt;br /&gt;
Напоминаем, что при использовании Google Calendar можно выборочно копировать некоторые пары из общего календаря к себе, однако изменения в общем календари в вашей копии отображаться не будут.&lt;br /&gt;
&lt;br /&gt;
Идеология, которой стараемся придерживаться: правятся только будущие мероприятия, информация о старых меняется только если она была неверной. Например, если поменялась аудитория, в которой проводится пара - это меняется только в будущих мероприятиях, таким образом, для каждого конкретного дня можно вспомнить, где что в этот день было.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 !Google Calendar&lt;br /&gt;
 !iCalendar (ICS)&lt;br /&gt;
 !Ответственный&lt;br /&gt;
 !Описание&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=qrv35cjpmlkrvsbh9b2uc2qf2s%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow Общие пары Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/qrv35cjpmlkrvsbh9b2uc2qf2s%40group.calendar.google.com/public/basic.ics Общие пары iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Общие лекции и важные мероприятия (оргсобрания, презентации, каникулы)&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=h1i80r9jqopu2ta1ufp9rd8aak%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow I подгруппа Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/h1i80r9jqopu2ta1ufp9rd8aak%40group.calendar.google.com/public/basic.ics I подгруппа iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Только занятия первой подгруппы&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=3tpsara51hgvs1lo3l8qdrsp8k%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow II подгруппа Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/3tpsara51hgvs1lo3l8qdrsp8k%40group.calendar.google.com/public/basic.ics II подгруппа iCalendar]&lt;br /&gt;
 |[[user:A.v.gaydashenko|Настя Гайдашенко]]&lt;br /&gt;
 |Только занятия второй подгруппы&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=9o9t9lk5c9rspj0f9869jbcmbg%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow Сборная солянка Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/9o9t9lk5c9rspj0f9869jbcmbg%40group.calendar.google.com/public/basic.ics Сборная солянка iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Занятия, не вошедшие в предыдущие календари, без указания аудиторий и преподавателей: физкультура, английский язык, время на НИР&lt;br /&gt;
 |-&lt;br /&gt;
 |[https://calendar.google.com/calendar/embed?src=c8irlf10tgri925p5rp37oc7v0%40group.calendar.google.com&amp;amp;ctz=Europe/Moscow Английский 1 Google Calendar]&lt;br /&gt;
 |[https://calendar.google.com/calendar/ical/c8irlf10tgri925p5rp37oc7v0%40group.calendar.google.com/public/basic.ics Английский 1 iCalendar]&lt;br /&gt;
 |[[user:E.f.suvorov|Егор Суворов]]&lt;br /&gt;
 |Английский язык, подгруппа 1 (Силинский С.В., ауд. 515)&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Экзамены ==&lt;br /&gt;
По непрофильному предмету (экономика) точно будет недифференцированный зачёт.&lt;br /&gt;
&lt;br /&gt;
Экзамены, скорее всего (но точно неизвестно!) будут следующие: дискретная математика, ТФКП, формальные языки и, возможно, теория сложности. &lt;br /&gt;
&lt;br /&gt;
По Java будет зачёт с оценкой, по ОС - зачёт с оценкой с вероятностью 90%.&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0_2_2015&amp;diff=6286</id>
		<title>Дискретная математика 2 2015</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0_2_2015&amp;diff=6286"/>
				<updated>2015-09-04T11:25:50Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Лектор — Александр Владимирович Омельченко (&amp;lt;b&amp;gt;avo.travel@gmail.com&amp;lt;/b&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Практика — Александр Анатольевич Кноп (&amp;lt;b&amp;gt;aaknop@gmail.com&amp;lt;/b&amp;gt;), Алексей Валерьевич Пышкин (&amp;lt;b&amp;gt;aapyshkin@gmail.com&amp;lt;/b&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Кноп ==&lt;br /&gt;
Всё тама: [http://logic.pdmi.ras.ru/~knop/au/bachelors/combinatorics/2015/ тык].&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=SE_Wiki&amp;diff=6114</id>
		<title>SE Wiki</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=SE_Wiki&amp;diff=6114"/>
				<updated>2015-09-02T13:21:11Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: /* Учебная информация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Учебная информация ==&lt;br /&gt;
&lt;br /&gt;
=== 1 курс ===&lt;br /&gt;
&lt;br /&gt;
=== 2 курс ===&lt;br /&gt;
1. [[Java_autumn2015|Java]]&lt;br /&gt;
&lt;br /&gt;
=== 5 курс ===&lt;br /&gt;
&lt;br /&gt;
=== 6 курс ===&lt;br /&gt;
&lt;br /&gt;
=== DevDays autumn 2015 ===&lt;br /&gt;
* [[Идеи на Devdays]]&lt;br /&gt;
* [[Странички проектов]]&lt;br /&gt;
&lt;br /&gt;
== Всякая информация ==&lt;br /&gt;
&lt;br /&gt;
На четвёртом этаже в комнате отдыха в шкафах у входа (снизу) лежит куча пилотов.&lt;br /&gt;
&lt;br /&gt;
Открытые исходящие порты в WirelessForAll: 22, 25, 80, 110, 443, 465, 993, 4244, 5190, 5222, 5242&lt;br /&gt;
&lt;br /&gt;
== Дни разработчика ==&lt;br /&gt;
* [[Devdays2h2012| Дни разработчика (Осень 2012)]]&lt;br /&gt;
* [[Devdays1h2013| Дни разработчика (Весна 2013)]]&lt;br /&gt;
* [[devdays_fall_2013| Дни разработчика (Осень 2013)]]&lt;br /&gt;
* [[devdays_spring_2014| Дни разработчика (Весна 2014)]]&lt;br /&gt;
* [[ prpojects_fall_2013|Странички проектов (Осень 2013)]]&lt;br /&gt;
* [[ prpojects_spring_2014|Страничка проектов (Весна 2014)]]&lt;br /&gt;
* [[devdays_fall_2014|Дни разработчика (Осень 2014)]]&lt;br /&gt;
* [[projects_fall_2014|Страничка проектов (Осень 2014)]]&lt;br /&gt;
* [[devdays_spring_2015|Дни разработчика (Весна 2015)]]&lt;br /&gt;
&lt;br /&gt;
== Архив за прошлые семестры ==&lt;br /&gt;
* [[Весна_2015|Весенний семестр 2015]]&lt;br /&gt;
* [[Осень_2014|Осенний семестр 2014]]&lt;br /&gt;
* [[Весна_2014|Весенний семестр 2014]]&lt;br /&gt;
* [[Осень_2013|Осенний семестр 2013]]&lt;br /&gt;
* [[Весна_2013|Весенний семестр 2013]]&lt;br /&gt;
* [[Осень_2012|Осенний семестр 2012]]&lt;br /&gt;
* [[Весна_2012|Весенний семестр 2012]]&lt;br /&gt;
* [[Осень_2011|Осенний семестр 2011]]&lt;br /&gt;
&lt;br /&gt;
== Практики ==&lt;br /&gt;
* [[НИР_5SE_осень_2014|Темы практик, осень 2014-го года]]&lt;br /&gt;
* [[НИР_5SE_весна_2014|Темы практик, весна 2014-го года]]&lt;br /&gt;
* [[НИР_5SE_осень_2013|Темы практик, осень 2013-го года]]&lt;br /&gt;
* [[НИР_5SE_весна_2013|Темы практик, весна 2013-го года]]&lt;br /&gt;
* [[НИР 5SE осень 2012|Темы практик, осень 2012-го года]]&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0Aif17q2hwUt4dG9CRFdGa2tLeV9ab1l1QWlkOFp3bFE&amp;amp;output=html Темы практик, лето 2012-го года]&lt;br /&gt;
* [[Темы практик, 5SE, осень 2011-го года | Темы практик, осень 2011-го года]]&lt;br /&gt;
* [[Темы практик |Темы практик, весна 2011-го года]]&lt;br /&gt;
&lt;br /&gt;
== Студенты ==&lt;br /&gt;
* [[2010|Набор 2010-го года]]&lt;br /&gt;
* [[2011|Набор 2011-го года]]&lt;br /&gt;
* [[2012|Набор 2012-го года]]&lt;br /&gt;
* [[2013|Набор 2013-го года]]&lt;br /&gt;
* [[2014|Набор 2014-го года]]&lt;br /&gt;
&lt;br /&gt;
== Важные ссылки ==&lt;br /&gt;
&lt;br /&gt;
== Дополнительно == &lt;br /&gt;
* [[Q&amp;amp;A]]&lt;br /&gt;
* [[Мероприятия]]&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=SE_Wiki&amp;diff=6113</id>
		<title>SE Wiki</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=SE_Wiki&amp;diff=6113"/>
				<updated>2015-09-02T13:20:47Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: /* 1 курс */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Учебная информация ==&lt;br /&gt;
&lt;br /&gt;
=== 1 курс ===&lt;br /&gt;
1. [[Java_autumn2015|Java]]&lt;br /&gt;
&lt;br /&gt;
=== 2 курс ===&lt;br /&gt;
&lt;br /&gt;
=== 5 курс ===&lt;br /&gt;
&lt;br /&gt;
=== 6 курс ===&lt;br /&gt;
&lt;br /&gt;
=== DevDays autumn 2015 ===&lt;br /&gt;
* [[Идеи на Devdays]]&lt;br /&gt;
* [[Странички проектов]]&lt;br /&gt;
&lt;br /&gt;
== Всякая информация ==&lt;br /&gt;
&lt;br /&gt;
На четвёртом этаже в комнате отдыха в шкафах у входа (снизу) лежит куча пилотов.&lt;br /&gt;
&lt;br /&gt;
Открытые исходящие порты в WirelessForAll: 22, 25, 80, 110, 443, 465, 993, 4244, 5190, 5222, 5242&lt;br /&gt;
&lt;br /&gt;
== Дни разработчика ==&lt;br /&gt;
* [[Devdays2h2012| Дни разработчика (Осень 2012)]]&lt;br /&gt;
* [[Devdays1h2013| Дни разработчика (Весна 2013)]]&lt;br /&gt;
* [[devdays_fall_2013| Дни разработчика (Осень 2013)]]&lt;br /&gt;
* [[devdays_spring_2014| Дни разработчика (Весна 2014)]]&lt;br /&gt;
* [[ prpojects_fall_2013|Странички проектов (Осень 2013)]]&lt;br /&gt;
* [[ prpojects_spring_2014|Страничка проектов (Весна 2014)]]&lt;br /&gt;
* [[devdays_fall_2014|Дни разработчика (Осень 2014)]]&lt;br /&gt;
* [[projects_fall_2014|Страничка проектов (Осень 2014)]]&lt;br /&gt;
* [[devdays_spring_2015|Дни разработчика (Весна 2015)]]&lt;br /&gt;
&lt;br /&gt;
== Архив за прошлые семестры ==&lt;br /&gt;
* [[Весна_2015|Весенний семестр 2015]]&lt;br /&gt;
* [[Осень_2014|Осенний семестр 2014]]&lt;br /&gt;
* [[Весна_2014|Весенний семестр 2014]]&lt;br /&gt;
* [[Осень_2013|Осенний семестр 2013]]&lt;br /&gt;
* [[Весна_2013|Весенний семестр 2013]]&lt;br /&gt;
* [[Осень_2012|Осенний семестр 2012]]&lt;br /&gt;
* [[Весна_2012|Весенний семестр 2012]]&lt;br /&gt;
* [[Осень_2011|Осенний семестр 2011]]&lt;br /&gt;
&lt;br /&gt;
== Практики ==&lt;br /&gt;
* [[НИР_5SE_осень_2014|Темы практик, осень 2014-го года]]&lt;br /&gt;
* [[НИР_5SE_весна_2014|Темы практик, весна 2014-го года]]&lt;br /&gt;
* [[НИР_5SE_осень_2013|Темы практик, осень 2013-го года]]&lt;br /&gt;
* [[НИР_5SE_весна_2013|Темы практик, весна 2013-го года]]&lt;br /&gt;
* [[НИР 5SE осень 2012|Темы практик, осень 2012-го года]]&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0Aif17q2hwUt4dG9CRFdGa2tLeV9ab1l1QWlkOFp3bFE&amp;amp;output=html Темы практик, лето 2012-го года]&lt;br /&gt;
* [[Темы практик, 5SE, осень 2011-го года | Темы практик, осень 2011-го года]]&lt;br /&gt;
* [[Темы практик |Темы практик, весна 2011-го года]]&lt;br /&gt;
&lt;br /&gt;
== Студенты ==&lt;br /&gt;
* [[2010|Набор 2010-го года]]&lt;br /&gt;
* [[2011|Набор 2011-го года]]&lt;br /&gt;
* [[2012|Набор 2012-го года]]&lt;br /&gt;
* [[2013|Набор 2013-го года]]&lt;br /&gt;
* [[2014|Набор 2014-го года]]&lt;br /&gt;
&lt;br /&gt;
== Важные ссылки ==&lt;br /&gt;
&lt;br /&gt;
== Дополнительно == &lt;br /&gt;
* [[Q&amp;amp;A]]&lt;br /&gt;
* [[Мероприятия]]&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3846</id>
		<title>Участник:D.v.lapshin</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3846"/>
				<updated>2014-09-19T17:58:06Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Контакты ==&lt;br /&gt;
&lt;br /&gt;
* Зовут меня Лапшин Дмитрий&lt;br /&gt;
* LDVSOFT и Элегантный Бумеранг --- я же.&lt;br /&gt;
* E-mail: [mailto:lapshin.dv@mail.ru|lapshin.dv@mail.ru]&lt;br /&gt;
* Телефон: [tel:+7(921)569-81-08|+7 (921) 569-81-08]&lt;br /&gt;
** Telegram&lt;br /&gt;
** Viber&lt;br /&gt;
* ВК: [http://vk.com/elegantboomerang]&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3753</id>
		<title>Участник:D.v.lapshin</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3753"/>
				<updated>2014-09-13T17:11:03Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Контакты ==&lt;br /&gt;
&lt;br /&gt;
* Зовут меня Лапшин Дмитрий&lt;br /&gt;
* LDVSOFT и Элегантный Бумеранг --- я же.&lt;br /&gt;
* E-mail: [mailto:lapshin.dv@mail.ru|lapshin.dv@mail.ru]&lt;br /&gt;
* Телефон: [tel:+7(921)569-81-08|+7 (921) 569-81-08]&lt;br /&gt;
** Telegram&lt;br /&gt;
** Viber&lt;br /&gt;
* ВК: [vk.com/elegantboomerang]&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3576</id>
		<title>Участник:D.v.lapshin</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3576"/>
				<updated>2014-09-04T19:01:08Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: /* Лапшин Дмитрий Владимирович */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Лапшин Дмитрий Владимирович ==&lt;br /&gt;
e-mail: lapshin.dv@mail.ru&lt;br /&gt;
Телефон: +7(921)569-81-08&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	<entry>
		<id>http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3575</id>
		<title>Участник:D.v.lapshin</title>
		<link rel="alternate" type="text/html" href="http://mit.spbau.ru/sewiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:D.v.lapshin&amp;diff=3575"/>
				<updated>2014-09-04T19:00:33Z</updated>
		
		<summary type="html">&lt;p&gt;D.v.lapshin: Новая страница: «=== Лапшин Дмитрий Владимирович === e-mail: [mailto://lapshin.dv@mail.ru] Телефон: [tel://+7(921)569-81-08]»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Лапшин Дмитрий Владимирович ===&lt;br /&gt;
e-mail: [mailto://lapshin.dv@mail.ru]&lt;br /&gt;
Телефон: [tel://+7(921)569-81-08]&lt;/div&gt;</summary>
		<author><name>D.v.lapshin</name></author>	</entry>

	</feed>