<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%B8_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%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_2019%2F2020</id>
	<title>Основы и методология программирования 2019/2020 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%B8_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%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_2019%2F2020"/>
	<link rel="alternate" type="text/html" href="https://wikicshse.ru/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%B8_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%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_2019/2020&amp;action=history"/>
	<updated>2026-06-06T15:01:38Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wikicshse.ru/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%B8_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%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_2019/2020&amp;diff=1538&amp;oldid=prev</id>
		<title>imported&gt;Alexey.Zobnin: /* Контрольные работы */</title>
		<link rel="alternate" type="text/html" href="https://wikicshse.ru/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%B8_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%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_2019/2020&amp;diff=1538&amp;oldid=prev"/>
		<updated>2020-10-02T15:06:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Контрольные работы&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Основы и методология программирования - 2, основной поток, 2019/2020, 3 модуль ==&lt;br /&gt;
&lt;br /&gt;
[http://wiki.cs.hse.ru/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%B8_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%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_1_2019/2020 Страница первого модуля]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Лектор:&amp;#039;&amp;#039;&amp;#039;  [https://www.hse.ru/org/persons/132843899 А. И. Зобнин]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Лекции:&amp;#039;&amp;#039;&amp;#039; вторник и четверг, 2-я пара, R401&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Телеграм-канал для объявлений: https://t.me/joinchat/AAAAAFUyg83J72MbQMOCPA&lt;br /&gt;
&lt;br /&gt;
== Краткое содержание лекций ==&lt;br /&gt;
1. Hello, world! Обзор примитивных типов. Условный оператор и циклы. Потоковый консольный ввод-вывод. Классы vector и string. (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/01.cpp конспект 2016 года])&amp;lt;br/&amp;gt;&lt;br /&gt;
2. Классы string и vector (продолжение). Размер и ёмкость вектора. (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/02.cpp конспект 2016 года])&amp;lt;br/&amp;gt;&lt;br /&gt;
3. Ошибки индексации вектора. Структуры. Сортировка вектора структур. Ссылки. Константность (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/03.cpp конспект 2016 года])&amp;lt;br/&amp;gt;&lt;br /&gt;
4. Устройство вектора в памяти. Функции. Передача параметров по ссылке и по значению. Классы pair и tuple.&amp;lt;br/&amp;gt;&lt;br /&gt;
5. Ассоциативные массивы (map/set и unordered_map/unordered_set), двусвязный список (list) (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/04.cpp конспект 2016 года] и [https://yadi.sk/i/Piqsjkte1ZDlRQ видеозапись экрана])&amp;lt;br/&amp;gt; &lt;br /&gt;
6. Deque, array, адаптеры stack, queue и priority_queue. Шаблонные функции. Алгоритмы стандартной библиотеки (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/05.cpp конспект 2016 года] и [https://yadi.sk/i/8U82lWQZMSgMcg видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
7. Алгоритмы стандартной библиотеки (продолжение). Инвалидация итераторов. ([https://yadi.sk/i/bDa2RyYIvTELPQ видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
8. Алгоритмы стандартной библиотеки (завершение). Классы, жизненный цикл объектов. (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/10.cpp конспект 2016 года] и [https://yadi.sk/i/NQBr8kzV3MPZqw видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
9. Классы: конструкторы, деструктор, функции-члены, перегрузка операторов. (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/07.cpp конспект 2016 года] и [https://yadi.sk/i/UfZ2ykRG5X_TOg видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
10. Шаблонные классы. Приватные и публичные имена. Генерация и обработка исключений. ([https://yadi.sk/i/D2z_fN9nKw396g видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
11. Указатели и адресная арифметика. Создание объектов и массивов в динамической памяти. (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/12.cpp конспект 2016 года] и [https://yadi.sk/i/XDnr39qpnnek2A видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
12. Идиома RAII. Умный указатель unique_ptr. (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/13.cpp конспекты] [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-2/14.cpp лекций] 2016 года и [https://yadi.sk/i/-uNDqfF-GCdcnw видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
13. Работа с байтами и памятью. (см. [https://yadi.sk/i/jOiVDBNc8ykwlg видеозапись экрана])&amp;lt;br/&amp;gt;&lt;br /&gt;
14. Наследование и полиморфизм.&lt;br /&gt;
&lt;br /&gt;
== Регулярные домашние контесты ==&lt;br /&gt;
1. [https://official.contest.yandex.ru/contest/16579/problems/ Контест №1]&amp;lt;br/&amp;gt;&lt;br /&gt;
2. [https://official.contest.yandex.ru/contest/16580/problems/ Контест №2]&amp;lt;br/&amp;gt;&lt;br /&gt;
3. [https://official.contest.yandex.ru/contest/16581/problems/ Контест №3]&amp;lt;br/&amp;gt;&lt;br /&gt;
4. [https://official.contest.yandex.ru/contest/16582/problems/ Контест №4]&amp;lt;br/&amp;gt;&lt;br /&gt;
5. [https://official.contest.yandex.ru/contest/16583/problems/ Контест №5]&amp;lt;br/&amp;gt;&lt;br /&gt;
6. [https://official.contest.yandex.ru/contest/16584/problems/ Контест №6]&amp;lt;br/&amp;gt;&lt;br /&gt;
7. [https://official.contest.yandex.ru/contest/16585/problems/ Контест №7]&amp;lt;br/&amp;gt;&lt;br /&gt;
8. [https://official.contest.yandex.ru/contest/16586/problems/ Контест №8]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Контрольные работы ==&lt;br /&gt;
Мы напишем 4 контрольных контеста и одну теоретическую работу.&amp;lt;br/&amp;gt;&lt;br /&gt;
1. [https://official.contest.yandex.ru/contest/16996/problems/ Контрольная работа №1]&amp;lt;br/&amp;gt;&lt;br /&gt;
2. [https://official.contest.yandex.ru/contest/17293/problems/ Контрольная работа №2]&amp;lt;br/&amp;gt;&lt;br /&gt;
3. [https://official.contest.yandex.ru/contest/17421/problems/ Контрольная работа №3]&amp;lt;br/&amp;gt;&lt;br /&gt;
4. [https://official.contest.yandex.ru/contest/17451/problems/ Контрольная работа №4]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Используемое ПО ==&lt;br /&gt;
На лекциях мы будем работать в Linux, использовать текстовый редактор [https://en.wikipedia.org/wiki/Vim_%28text_editor%29 Vim] и компилятор [https://gcc.gnu.org/ g++].&lt;br /&gt;
На занятия можно приносить свой ноутбук и использовать любую среду разработки.&lt;br /&gt;
&lt;br /&gt;
== Формула оценок ==&lt;br /&gt;
Результат третьего модуля = 0.4 * контрольные + 0.3 * регулярные_контесты + 0.3 * экзамен&lt;br /&gt;
&lt;br /&gt;
Итог: Округление(1/3 * результат первого модуля + 2/3 * результат третьего модуля)&lt;br /&gt;
&lt;br /&gt;
== Требования к оформлению кода программ ==&lt;br /&gt;
Мы используем cpplint для проверки стиля. Вот [http://wiki.cs.hse.ru/%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F/C%2B%2B_check список требований].&lt;br /&gt;
&lt;br /&gt;
Флаги для [https://github.com/google/styleguide/blob/gh-pages/cpplint/cpplint.py cpplint]: --filter=-,+build/include,-build/include_order,+build/include_what_you_use,+build/storage_class,+readability/alt_tokens,+readability/braces,&lt;br /&gt;
+readability/casting,+readability/inheritance,+runtime/casting,-runtime/explicit,+whitespace/blank_line,+whitespace/braces,+whitespace/comma,&lt;br /&gt;
+whitespace/comments,+whitespace/empty_conditional_body,+whitespace/empty_loop_body,+whitespace/end_of_line,&lt;br /&gt;
+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/newline,&lt;br /&gt;
+whitespace/operators,+whitespace/parens,+whitespace/semicolon,+whitespace/tab --linelength=100&lt;br /&gt;
&lt;br /&gt;
В контестах мы запускаем [https://github.com/alzobnin/hse-cs-prog/blob/master/cpplint.py вот такой модифицированный скрипт], не требующий указания опций, и принимающий в качестве параметра просто проверяемый файл.&lt;br /&gt;
&lt;br /&gt;
==Курсы на Курсере от разработчиков Яндекса==&lt;br /&gt;
[https://www.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс]&lt;br /&gt;
&lt;br /&gt;
[https://www.coursera.org/learn/c-plus-plus-yellow Основы разработки на C++: жёлтый пояс]&lt;br /&gt;
&lt;br /&gt;
[https://www.coursera.org/learn/c-plus-plus-red Основы разработки на C++: красный пояс]&lt;br /&gt;
&lt;br /&gt;
[https://www.coursera.org/learn/c-plus-plus-brown Основы разработки на C++: коричневый пояс]&lt;br /&gt;
&lt;br /&gt;
[https://www.coursera.org/learn/c-plus-plus-black Основы разработки на C++: чёрный пояс]&lt;br /&gt;
&lt;br /&gt;
== Полезные ссылки ==&lt;br /&gt;
[http://en.cppreference.com/w/ cppreference.com] - полезный сайт-справочник по C++&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ С++ tutorial] - классический tutorial по C++ (немного устарел)&lt;br /&gt;
&lt;br /&gt;
[http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines.html C++ Core Guidelines] - рекомендации по C++ от Бьярна Страуструпа и Герба Саттера&lt;br /&gt;
&lt;br /&gt;
[http://overthewire.org/wargames/bandit/ Bandit] - игра для освоения консольных команд Linux&lt;br /&gt;
&lt;br /&gt;
[http://people.dunnewind.net/practical_vim.pdf Practical Vim] - хороший учебник по Vim&lt;br /&gt;
&lt;br /&gt;
[http://valloric.github.io/YouCompleteMe/ YouCompleteMe] - полезный плагин для Vim для автодополнения кода&lt;br /&gt;
&lt;br /&gt;
[https://github.com/alzobnin/hse-cs-prog/tree/master/2016-2 Конспекты лекций] 2016 года (немного устарело)&lt;/div&gt;</summary>
		<author><name>imported&gt;Alexey.Zobnin</name></author>
	</entry>
</feed>