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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница: «[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

Основы и методология программирования (C++), основной поток, 2020/2021, III модуль

Страница I модуля.


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

Лекции: вторник и четверг, 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++ от Бьярна Страуструпа и Герба Саттера

- некоторые видеолекции по C++ прошлого учебного года