Основы и методология программирования на ПМИ 2017/2018 (основной поток, 2 модуль) — различия между версиями
(Новая страница: «[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%…») |
|||
Строка 1: | Строка 1: | ||
+ | == Основы и методология программирования, основной поток, 2017, 2-й модуль == | ||
+ | |||
[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_%D0%BD%D0%B0_%D0%9F%D0%9C%D0%98_2017/2018_(%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA,_1_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C) Материалы первого модуля] | [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_%D0%BD%D0%B0_%D0%9F%D0%9C%D0%98_2017/2018_(%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA,_1_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C) Материалы первого модуля] | ||
+ | |||
+ | '''Лектор:''' [https://www.hse.ru/org/persons/132843899 А. И. Зобнин] | ||
+ | |||
+ | '''Лекции:''' понедельник, 3-я пара, и пятница, 2-я пара. | ||
+ | |||
+ | Каждую вторую пятницу вместо лекции проводится контрольный контест. | ||
+ | |||
+ | |||
+ | |||
+ | == Регулярные домашние контесты == | ||
+ | 1. [https://official.contest.yandex.ru/contest/4998/problems/ Контест №1] - дедлайн 12.09.2017 в 23:59<br/> | ||
+ | |||
+ | == Используемое ПО == | ||
+ | Мы будем работать в Linux, использовать текстовый редактор [https://en.wikipedia.org/wiki/Vim_%28text_editor%29 Vim] и компилятор [https://en.wikipedia.org/wiki/Clang clang 3.8]. | ||
+ | |||
+ | На занятия можно приносить свой ноутбук. | ||
+ | |||
+ | == Формулы оценок == | ||
+ | '''Накопленная оценка за II-III модули''' = 0,4 * домашние работы + 0,6 * контрольные контесты<br/> | ||
+ | '''Итоговая оценка за II-III модули''' = 0,4 * экзамен + 0,6 * накопленная оценка | ||
+ | |||
+ | == Требования к оформлению кода программ == | ||
+ | |||
+ | Мы используем 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 список требований]. | ||
+ | |||
+ | Флаги для [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, | ||
+ | +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 | ||
+ | |||
+ | == Полезные ссылки == | ||
+ | |||
+ | [http://overthewire.org/wargames/bandit/ Bandit] - игра для освоения консольных команд Linux | ||
+ | |||
+ | [http://people.dunnewind.net/practical_vim.pdf Practical Vim] - хороший учебник по Vim | ||
+ | |||
+ | [http://valloric.github.io/YouCompleteMe/ YouCompleteMe] - полезный плагин для Vim для автодополнения кода | ||
+ | |||
+ | [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3690.pdf Черновик стандарта C++14] | ||
+ | |||
+ | [http://en.cppreference.com/w/ cppreference.com] - полезный сайт-справочник по C++ | ||
+ | |||
+ | [http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines.html C++ Core Guidelines] - рекомендации по C++ от Бьярна Страуструпа и Герба Саттера | ||
+ | |||
+ | [https://www.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс] - курс на Курсере от разрабочиков Яндекса |
Версия 22:26, 29 октября 2017
Содержание
Основы и методология программирования, основной поток, 2017, 2-й модуль
Лектор: А. И. Зобнин
Лекции: понедельник, 3-я пара, и пятница, 2-я пара.
Каждую вторую пятницу вместо лекции проводится контрольный контест.
Регулярные домашние контесты
1. Контест №1 - дедлайн 12.09.2017 в 23:59
Используемое ПО
Мы будем работать в 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 для автодополнения кода
cppreference.com - полезный сайт-справочник по C++
C++ Core Guidelines - рекомендации по C++ от Бьярна Страуструпа и Герба Саттера
Основы разработки на C++: белый пояс - курс на Курсере от разрабочиков Яндекса