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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

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

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

Лекции: среда и пятница, 1-я пара (9:00-10:20), ауд. 509;
Каждую вторую пятницу во время лекции проводится контрольный контест.

Телеграм-канал для объявлений: https://t.me/joinchat/AAAAAER8_5r1xqw4NOPdIA

Конспекты семинаров группы 173-2: https://github.com/ifsmirnov/hse-cpp-2017

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

1. Контест №1 - дедлайн 12.09.2017 в 23:59
2. Контест №2 - дедлайн 14.09.2017 в 23:59
3. Контест №3 - дедлайн 19.09.2017 в 23:59
4. Контест №4 - дедлайн 26.09.2017 в 23:59
5. Контест №5 - дедлайн 03.10.2017 в 23:59
6. Контест №6 - дедлайн 05.10.2017 в 23:59
7. Контест №7 - дедлайн 10.10.2017 в 23:59
8. Контест №8 - дедлайн 12.10.2017 в 23:59
9. Контест №9 - дедлайн 17.10.2017 в 23:59
10. Контест №10 - дедлайн 22.10.2017 в 23:59

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

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

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

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

Накопленная оценка за I модуль = 0,4 * домашние работы + 0,6 * контрольные контесты
Итоговая оценка за I модуль = 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 для автодополнения кода

.vimrc - файл с найстроками Vim (от Алексея Зобнина)

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

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

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

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

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