Основы и методология программирования на ПМИ 2017/2018 (основной поток, 2 модуль) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Контрольные работы)
 
(не показано 10 промежуточных версии этого же участника)
Строка 13: Строка 13:
 
[https://www.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс] - курс на Курсере от разрабочиков Яндекса
 
[https://www.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс] - курс на Курсере от разрабочиков Яндекса
  
Телеграм-канал для студентов, где будут публиковаться новости курса: https://t.me/hse_cs_cpp_2017
+
[https://www.coursera.org/learn/c-plus-plus-yellow Основы разработки на C++: жёлтый пояс] - продолжение курса
  
 +
Телеграм-канал для студентов, где будут публиковаться новости курса: https://t.me/hse_cs_cpp_2017
  
 
== Регулярные домашние контесты ==
 
== Регулярные домашние контесты ==
Строка 20: Строка 21:
 
Мы будем выдавать очередные контесты (почти) каждый понедельник и каждую пятницу. Длительность каждого контеста - 10 дней.
 
Мы будем выдавать очередные контесты (почти) каждый понедельник и каждую пятницу. Длительность каждого контеста - 10 дней.
  
1. [https://official.contest.yandex.ru/contest/5635/problems/ Контест №1] - дедлайн 09.11.2017 в 00:00<br/>
+
1. [https://official.contest.yandex.ru/contest/5635/problems/ Контест №1] - дедлайн 09.11.2017 в 00:00:01<br/>
2. [https://official.contest.yandex.ru/contest/5684/problems/ Контест №2] - дедлайн 13.11.2017 в 00:01<br/>
+
2. [https://official.contest.yandex.ru/contest/5684/problems/ Контест №2] - дедлайн 13.11.2017 в 00:00:01<br/>
3. [https://official.contest.yandex.ru/contest/5685/problems/ Контест №3] - дедлайн 16.11.2017 в 00:01<br/>
+
3. [https://official.contest.yandex.ru/contest/5685/problems/ Контест №3] - дедлайн 16.11.2017 в 00:00:01<br/>
4. [https://official.contest.yandex.ru/contest/5687/problems/ Контест №4] - дедлайн 20.11.2017 в 00:01<br/>
+
4. [https://official.contest.yandex.ru/contest/5687/problems/ Контест №4] - дедлайн 20.11.2017 в 00:00:01<br/>
5. [https://official.contest.yandex.ru/contest/5955/problems/ Контест №5] - дедлайн 23.11.2017 в 00:01<br/>
+
5. [https://official.contest.yandex.ru/contest/5955/problems/ Контест №5] - дедлайн 23.11.2017 в 00:00:01<br/>
6. [https://official.contest.yandex.ru/contest/5995/problems/ Контест №6] - дедлайн 27.11.2017 в 00:01<br>
+
6. [https://official.contest.yandex.ru/contest/5995/problems/ Контест №6] - дедлайн 27.11.2017 в 00:00:01<br>
7. [https://official.contest.yandex.ru/contest/6039/problems/ Контест №7] - дедлайн 01.12.2017 в 00:01<br>
+
7. [https://official.contest.yandex.ru/contest/6039/problems/ Контест №7] - дедлайн 01.12.2017 в 00:00:01<br>
8. [https://official.contest.yandex.ru/contest/5996/problems/ Контест №8] - дедлайн 04.12.2017 в 00:01<br>
+
8. [https://official.contest.yandex.ru/contest/5996/problems/ Контест №8] - дедлайн 04.12.2017 в 00:00:01<br>
9. [https://official.contest.yandex.ru/contest/6468/problems/ Контест №9] - дедлайн 08.12.2017 в 00:01<br>
+
9. [https://official.contest.yandex.ru/contest/6468/problems/ Контест №9] - дедлайн 08.12.2017 в 00:00:01<br>
10. [https://official.contest.yandex.ru/contest/6655/problems/ Контест №10] - дедлайн 12.12.2017 в 00:01<br>
+
10. [https://official.contest.yandex.ru/contest/6655/problems/ Контест №10] - дедлайн 12.12.2017 в 00:00:01<br>
11. [https://official.contest.yandex.ru/contest/6751/problems/ Контест №11] - дедлайн 15.12.2017 в 00:01<br>
+
11. [https://official.contest.yandex.ru/contest/6751/problems/ Контест №11] - дедлайн 15.12.2017 в 00:00:01<br>
12. [https://official.contest.yandex.ru/contest/6752/problems/ Контест №12] - дедлайн перенесён на 01.01.2018, 00:01<br>
+
12. [https://official.contest.yandex.ru/contest/6752/problems/ Контест №12] - дедлайн перенесён на 01.01.2018, 00:00:01<br>
 +
13. [https://official.contest.yandex.ru/contest/6929/problems/ Контест №13] - дополнительный (необязательный) контест для желающих поднять баллы. Дедлайн 09.01.2018 в 00:01.<br>
 +
14. [https://official.contest.yandex.ru/contest/7054/problems/ Контест №14] - дедлайн перенесён на 22.01.2018 в 00:00:01. Добавлена последняя задача H. <br>
 +
15. [https://official.contest.yandex.ru/contest/7114/problems/ Контест №15] - дедлайн перенесён на 07.02.2018 в 00:00:01. Добавлены еще две задачи.<br>
 +
16. [https://official.contest.yandex.ru/contest/7193/problems/ Контест №16] - дедлайн перенесён на 19.02.2018 в 00:00:01.<br>
  
== Контрольные работы ==
 
1. [https://official.contest.yandex.ru/contest/5858/problems/ Контрольная работа №1]<br/>
 
2. [https://official.contest.yandex.ru/contest/6320/problems/ Контрольная работа №2]<br/>
 
3. [https://official.contest.yandex.ru/contest/6907/problems/ Контрольная работа №3]
 
  
 
== Штрафы ==
 
== Штрафы ==

Текущая версия на 12:08, 9 апреля 2018

Основы и методология программирования, основной поток, 2017, 2-й модуль

Материалы первого модуля

Лектор: А. И. Зобнин

Лекции: понедельник, 3-я пара, и пятница, 2-я пара.

Каждую вторую пятницу вместо лекции проводится контрольный контест.

Краткие конспекты лекций прошлого года

Основы разработки на C++: белый пояс - курс на Курсере от разрабочиков Яндекса

Основы разработки на C++: жёлтый пояс - продолжение курса

Телеграм-канал для студентов, где будут публиковаться новости курса: https://t.me/hse_cs_cpp_2017

Регулярные домашние контесты

Мы будем выдавать очередные контесты (почти) каждый понедельник и каждую пятницу. Длительность каждого контеста - 10 дней.

1. Контест №1 - дедлайн 09.11.2017 в 00:00:01
2. Контест №2 - дедлайн 13.11.2017 в 00:00:01
3. Контест №3 - дедлайн 16.11.2017 в 00:00:01
4. Контест №4 - дедлайн 20.11.2017 в 00:00:01
5. Контест №5 - дедлайн 23.11.2017 в 00:00:01
6. Контест №6 - дедлайн 27.11.2017 в 00:00:01
7. Контест №7 - дедлайн 01.12.2017 в 00:00:01
8. Контест №8 - дедлайн 04.12.2017 в 00:00:01
9. Контест №9 - дедлайн 08.12.2017 в 00:00:01
10. Контест №10 - дедлайн 12.12.2017 в 00:00:01
11. Контест №11 - дедлайн 15.12.2017 в 00:00:01
12. Контест №12 - дедлайн перенесён на 01.01.2018, 00:00:01
13. Контест №13 - дополнительный (необязательный) контест для желающих поднять баллы. Дедлайн 09.01.2018 в 00:01.
14. Контест №14 - дедлайн перенесён на 22.01.2018 в 00:00:01. Добавлена последняя задача H.
15. Контест №15 - дедлайн перенесён на 07.02.2018 в 00:00:01. Добавлены еще две задачи.
16. Контест №16 - дедлайн перенесён на 19.02.2018 в 00:00:01.


Штрафы

output-limit-exceeded 1
time-limit-exceeded 2
idleness-limit-exceeded 2
compilation-error 0
presentation-error 1
precompile-check-failed 0
runtime-error 2
memory-limit-exceeded 2
wrong-answer 1


Используемое ПО

Мы будем работать в Linux, использовать текстовый редактор Vim и компилятор clang 3.8. Использовать другие системы и компиляторы можно, но вам придётся настраивать их самостоятельно.

На занятия можно приносить свой ноутбук.


Формулы оценок

Накопленная оценка за II-III модули = 0,4 * домашние работы + 0,6 * контрольные контесты
Итоговая оценка за II-III модули = 0,4 * экзамен + 0,6 * накопленная оценка


Требования к оформлению кода программ

Мы используем cpplint для проверки стиля. Вот список требований.

Флаги для cpplint: --filter=-,+build/include,-build/include_order,+build/include_what_you_use,+build/storage_class,+readability/alt_tokens,+readability/braces,+readability/casting,+readability/inheritance,+runtime/casting,-runtime/explicit,+whitespace/blank_line,+whitespace/braces,+whitespace/comma,+whitespace/comments,+whitespace/empty_conditional_body,+whitespace/empty_loop_body,+whitespace/end_of_line,+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/newline,+whitespace/operators,+whitespace/parens,+whitespace/semicolon,+whitespace/tab --linelength=100

Полезные ссылки

Bandit - игра для освоения консольных команд Linux

Practical Vim - хороший учебник по Vim

YouCompleteMe - полезный плагин для Vim для автодополнения кода

Черновик стандарта C++14

cppreference.com - полезный сайт-справочник по C++

C++ Core Guidelines - рекомендации по C++ от Бьярна Страуструпа и Герба Саттера