Основы и методология программирования 2016/2017 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Строка 1: Строка 1:
[[Основы и методология программирования 2016/2017 - I модуль|Материалы первого модуля]]
+
== Второй модуль (программирование на C++) ==
 +
 
 +
[[Основы и методология программирования 2016/2017 - I модуль|Материалы первого модуля (программирование на Python'е)]]
 +
 
 +
'''Лектор:'''  [https://www.hse.ru/org/persons/132843899 А. И. Зобнин]
 +
 
 +
'''Лекции:''' понедельник (еженедельно), 1-я пара (10:30 - 11:50), ауд. 622;<br />
 +
четверг (10 и 24 ноября, 8 декабря), 1-я пара (9:00-10:30), ауд. 622.
 +
 
 +
 
 +
== Краткое содержание прочитанных лекций ==
 +
'''31.10.2016.''' C++: ввод и вывод, условный оператор, циклы, оператор switch. [[https://github.com/alzobnin/hse-cs-prog/tree/master/2016-2/01.cpp Код, написанный на лекции].]
 +
 
 +
 
 +
== Используемое ПО ==
 +
Рекомендуется работать в Linux, использовать текстовый редактор [https://en.wikipedia.org/wiki/Vim_%28text_editor%29 Vim] и компилятор [https://en.wikipedia.org/wiki/Clang clang 3.8].
 +
 
 +
На занятия можно приносить свой ноутбук.
 +
 
 +
 
 +
== Преподаватели и ассистенты ==
 +
{| class="wikitable"
 +
|-
 +
! Подгруппа !! Преподаватель !! Учебные ассистенты !! Семинары !! Консультации
 +
|-
 +
| 162-1 || Алексей Зобнин || Николай Вельдяйкин || Пн, 9:00, 501; Чт, 9:00*, 301; Чт, 10:30, 412 ||
 +
|-
 +
| 162-2 || Василий Жовнер || Николай Вельдяйкин || Пн, 9:00, 513; Чт, 9:00*, 10:30, 327 ||
 +
|-
 +
| 164-1 || Федор Строк || Никита Попов || Вт, 15:10, 420; Чт, 9:00*, 10:30, 501 ||
 +
|-
 +
| 164-2 || Илья Макаров || Никита Попов || Вт, 13:40, 420; Чт, 10:30*, 12:10, 416 ||
 +
|-
 +
| 165-1 || Евгений Салагаев || Валерия Бубнова || Чт, 9:00*, 10:30, 503; Пт, 9:00, 412 ||
 +
|-
 +
| 165-2 || Иван Фефер || Валерия Бубнова || Пн, 9:00, 503; Чт, 9:00*, 10:30, 505 ||
 +
|-
 +
| 166-1 || Андрей Кондратьев || Петр Жижин  || Пн, 9:00, 605; Чт, 9:00*, 10:30, 513 ||
 +
|-
 +
| 166-2 || Михаил Густокашин || Петр Жижин || Пн, 13:40, 301; Чт, 10:30*, 12:10, 301 ||
 +
|-
 +
| 167-1 || Алексей Умнов || Никита Александров || Ср, 12:10, 513; Чт, 10:30*, 501; Пт, 15:10, 505 ||
 +
|-
 +
| 167-2 || Дмитрий Вельтищев || Никита Александров || Пн, 9:00, 327; Чт, 9:00*, 10:30, 605 ||
 +
|-
 +
| 168-1 || Михаил Дектярёв || Александра Рябинина || Пн, 9:00, 505; Чт, 9:00*, 411; Чт, 10:30, 432 ||
 +
|-
 +
| 168-2 || Андрей Кашин || Александра Рябинина || Ср, 9:00, 10:30, 501; Чт, 9:00*, 416 ||
 +
|-
 +
|}
 +
* - семинары проходят по нечётным неделям.
 +
 
 +
 
 +
== Домашняя работа ==
 +
Будет выдаваться по четвергам на неделю.
 +
 
 +
 
 +
== Контрольные работы ==
 +
Будут проводиться на семинарах по четвергам каждую вторую неделю (начиная с 17 ноября).
 +
 
 +
 
 +
== Формулы оценок ==
 +
'''Накопленная оценка за 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

Версия 13:35, 1 ноября 2016

Второй модуль (программирование на C++)

Материалы первого модуля (программирование на Python'е)

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

Лекции: понедельник (еженедельно), 1-я пара (10:30 - 11:50), ауд. 622;
четверг (10 и 24 ноября, 8 декабря), 1-я пара (9:00-10:30), ауд. 622.


Краткое содержание прочитанных лекций

31.10.2016. C++: ввод и вывод, условный оператор, циклы, оператор switch. [Код, написанный на лекции.]


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

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

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


Преподаватели и ассистенты

Подгруппа Преподаватель Учебные ассистенты Семинары Консультации
162-1 Алексей Зобнин Николай Вельдяйкин Пн, 9:00, 501; Чт, 9:00*, 301; Чт, 10:30, 412
162-2 Василий Жовнер Николай Вельдяйкин Пн, 9:00, 513; Чт, 9:00*, 10:30, 327
164-1 Федор Строк Никита Попов Вт, 15:10, 420; Чт, 9:00*, 10:30, 501
164-2 Илья Макаров Никита Попов Вт, 13:40, 420; Чт, 10:30*, 12:10, 416
165-1 Евгений Салагаев Валерия Бубнова Чт, 9:00*, 10:30, 503; Пт, 9:00, 412
165-2 Иван Фефер Валерия Бубнова Пн, 9:00, 503; Чт, 9:00*, 10:30, 505
166-1 Андрей Кондратьев Петр Жижин Пн, 9:00, 605; Чт, 9:00*, 10:30, 513
166-2 Михаил Густокашин Петр Жижин Пн, 13:40, 301; Чт, 10:30*, 12:10, 301
167-1 Алексей Умнов Никита Александров Ср, 12:10, 513; Чт, 10:30*, 501; Пт, 15:10, 505
167-2 Дмитрий Вельтищев Никита Александров Пн, 9:00, 327; Чт, 9:00*, 10:30, 605
168-1 Михаил Дектярёв Александра Рябинина Пн, 9:00, 505; Чт, 9:00*, 411; Чт, 10:30, 432
168-2 Андрей Кашин Александра Рябинина Ср, 9:00, 10:30, 501; Чт, 9:00*, 416
  • - семинары проходят по нечётным неделям.


Домашняя работа

Будет выдаваться по четвергам на неделю.


Контрольные работы

Будут проводиться на семинарах по четвергам каждую вторую неделю (начиная с 17 ноября).


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

Накопленная оценка за 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