Основы и методология программирования на ПМИ 2020/2021 (основной поток) 3 модуль — различия между версиями
(Новая страница: «[http://wiki.cs.hse.ru/Основы_и_методология_программирования_на_ПМИ_2020/2021_(основной_поток) Страниц…») |
|||
Строка 1: | Строка 1: | ||
+ | == Основы и методология программирования (C++), основной поток, 2020/2021, III модуль == | ||
+ | |||
[http://wiki.cs.hse.ru/Основы_и_методология_программирования_на_ПМИ_2020/2021_(основной_поток) Страница I модуля]. | [http://wiki.cs.hse.ru/Основы_и_методология_программирования_на_ПМИ_2020/2021_(основной_поток) Страница I модуля]. | ||
+ | |||
+ | |||
+ | '''Лектор:''' [https://www.hse.ru/org/persons/132843899 А. И. Зобнин] | ||
+ | |||
+ | '''Лекции:''' вторник и четверг, 11:10. Лекции проходят онлайн.<br /> | ||
+ | |||
+ | Телеграм-канал для объявлений: https://t.me/joinchat/WCcO-u6O5uBli0ON | ||
+ | |||
+ | Телеграм-группа для вопросов и обсуждений: https://t.me/joinchat/GGD7Q_iiHS9LQlfg | ||
+ | |||
+ | == Краткая программа курса == | ||
+ | |||
+ | == Регулярные домашние контесты == | ||
+ | Мы напишем 8 домашних контестов. Вот [https://gist.github.com/alzobnin/d70b26ecb3476d8c1a4daf3914fc35e1#file-rules-md правила начисления баллов и проверки контестов].<br/> | ||
+ | |||
+ | 1. [https://official.contest.yandex.ru/contest/24031/problems/ Контест №1]<br/> | ||
+ | |||
+ | == Контрольные работы == | ||
+ | Мы напишем 4 контрольных контеста с асинхронным прокторингом.<br/> | ||
+ | Даты будут объявлены позже. Контрольные контесты будут проходить вместо лекции с 11:10 до 12:30. | ||
+ | |||
+ | == Экзамен == | ||
+ | В конце курса пройдёт теоретический экзамен в виде теста. | ||
+ | |||
+ | |||
+ | == Формула оценок == | ||
+ | |||
+ | У нас будет 8 регулярных домашних контестов, 4 контрольных и экзамен. | ||
+ | |||
+ | При этом контрольная будет весить как две домашки, а экзамен - как четыре домашки. | ||
+ | |||
+ | Весь курс будет весить как 20 домашек. То есть, каждая домашка будет весить 0.05, контрольная - 0.1, а экзамен - 0.2. | ||
+ | |||
+ | Если сложить вместе все домашки и контрольные и считать, что оценка за элементы контроля выставляется по десятибалльной шкале, то будет такая формула оценки за III модуль: | ||
+ | Round(0.4 * домашки + 0.4 * контрольные + 0.2 * экзамен). | ||
+ | |||
+ | Так как курс "продолжается" с I модуля, то итоговая оценка за весь курс будет Round(1/3 * первый модуль + 2/3 * третий модуль). | ||
+ | |||
+ | Все округления - математические. | ||
+ | |||
+ | 0.15 * (КР1 + КР2 + КР3) + 0.25 * ДЗ + 0.3 * ЭКЗ | ||
+ | |||
+ | |||
+ | == Используемое ПО == | ||
+ | На лекциях мы будем работать в Linux, использовать текстовый редактор [https://en.wikipedia.org/wiki/Vim_%28text_editor%29 Vim] и компиляторы [https://gcc.gnu.org/ g++] и [http://clang.llvm.org/ clang]. В контесте мы используем компилятор g++-8. Вы можете использовать любую среду разработки и любой компилятор. | ||
+ | |||
+ | |||
+ | == Требования к оформлению кода программ == | ||
+ | Вот наш [https://gist.github.com/alzobnin/c09430499ef0d881d3d59534984750f4#file-cpp_style_guide-md style guide]. | ||
+ | Мы используем [https://github.com/cpplint/cpplint cpplint] для проверки некоторых требований. В контестах мы запускаем [https://github.com/alzobnin/hse-cs-prog/blob/master/cpplint.py вот такой модифицированный скрипт], не требующий указания опций, и принимающий в качестве параметра просто проверяемый файл. | ||
+ | |||
+ | ==Курсы на Курсере от разработчиков Яндекса== | ||
+ | [https://www.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс] | ||
+ | |||
+ | [https://www.coursera.org/learn/c-plus-plus-yellow Основы разработки на C++: жёлтый пояс] | ||
+ | |||
+ | [https://www.coursera.org/learn/c-plus-plus-red Основы разработки на C++: красный пояс] | ||
+ | |||
+ | [https://www.coursera.org/learn/c-plus-plus-brown Основы разработки на C++: коричневый пояс] | ||
+ | |||
+ | [https://www.coursera.org/learn/c-plus-plus-black Основы разработки на C++: чёрный пояс] | ||
+ | |||
+ | Видеолекции курса можно посмотреть бесплатно. | ||
+ | |||
+ | == Полезные ссылки == | ||
+ | [http://en.cppreference.com/w/ cppreference.com] - полезный сайт-справочник по C++ | ||
+ | |||
+ | [http://www.cplusplus.com/doc/tutorial/ С++ tutorial] - классический tutorial по C++ (немного устарел) | ||
+ | |||
+ | [http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines.html C++ Core Guidelines] - рекомендации по C++ от Бьярна Страуструпа и Герба Саттера | ||
+ | |||
+ | [https://www.youtube.com/playlist?list=PLyL8Xg6aR2dkvNUVESNq88INLYo4nm5Dn - некоторые видеолекции по C++ прошлого учебного года] |
Версия 21:32, 11 января 2021
Содержание
- 1 Основы и методология программирования (C++), основной поток, 2020/2021, III модуль
- 2 Краткая программа курса
- 3 Регулярные домашние контесты
- 4 Контрольные работы
- 5 Экзамен
- 6 Формула оценок
- 7 Используемое ПО
- 8 Требования к оформлению кода программ
- 9 Курсы на Курсере от разработчиков Яндекса
- 10 Полезные ссылки
Основы и методология программирования (C++), основной поток, 2020/2021, III модуль
Лектор: А. И. Зобнин
Лекции: вторник и четверг, 11:10. Лекции проходят онлайн.
Телеграм-канал для объявлений: https://t.me/joinchat/WCcO-u6O5uBli0ON
Телеграм-группа для вопросов и обсуждений: https://t.me/joinchat/GGD7Q_iiHS9LQlfg
Краткая программа курса
Регулярные домашние контесты
Мы напишем 8 домашних контестов. Вот правила начисления баллов и проверки контестов.
1. Контест №1
Контрольные работы
Мы напишем 4 контрольных контеста с асинхронным прокторингом.
Даты будут объявлены позже. Контрольные контесты будут проходить вместо лекции с 11:10 до 12:30.
Экзамен
В конце курса пройдёт теоретический экзамен в виде теста.
Формула оценок
У нас будет 8 регулярных домашних контестов, 4 контрольных и экзамен.
При этом контрольная будет весить как две домашки, а экзамен - как четыре домашки.
Весь курс будет весить как 20 домашек. То есть, каждая домашка будет весить 0.05, контрольная - 0.1, а экзамен - 0.2.
Если сложить вместе все домашки и контрольные и считать, что оценка за элементы контроля выставляется по десятибалльной шкале, то будет такая формула оценки за III модуль: Round(0.4 * домашки + 0.4 * контрольные + 0.2 * экзамен).
Так как курс "продолжается" с I модуля, то итоговая оценка за весь курс будет Round(1/3 * первый модуль + 2/3 * третий модуль).
Все округления - математические.
0.15 * (КР1 + КР2 + КР3) + 0.25 * ДЗ + 0.3 * ЭКЗ
Используемое ПО
На лекциях мы будем работать в Linux, использовать текстовый редактор Vim и компиляторы g++ и clang. В контесте мы используем компилятор g++-8. Вы можете использовать любую среду разработки и любой компилятор.
Требования к оформлению кода программ
Вот наш style guide. Мы используем cpplint для проверки некоторых требований. В контестах мы запускаем вот такой модифицированный скрипт, не требующий указания опций, и принимающий в качестве параметра просто проверяемый файл.
Курсы на Курсере от разработчиков Яндекса
Основы разработки на C++: белый пояс
Основы разработки на C++: жёлтый пояс
Основы разработки на C++: красный пояс
Основы разработки на C++: коричневый пояс
Основы разработки на C++: чёрный пояс
Видеолекции курса можно посмотреть бесплатно.
Полезные ссылки
cppreference.com - полезный сайт-справочник по C++
С++ tutorial - классический tutorial по C++ (немного устарел)
C++ Core Guidelines - рекомендации по C++ от Бьярна Страуструпа и Герба Саттера