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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Краткое содержание лекций)
Строка 10: Строка 10:
  
 
== Краткое содержание лекций ==
 
== Краткое содержание лекций ==
1. Hello, world! Обзор примитивных типов. Условный оператор и циклы. Потоковый консольный ввод-вывод. Классы vector и string.<br/>
+
1. Hello, world! Обзор примитивных типов. Условный оператор и циклы. Потоковый консольный ввод-вывод. Классы vector и string. (см. [https://github.com/alzobnin/hse-cs-prog/blob/master/2016-1/01.cpp конспект 2016 года])<br/>
  
 
== Регулярные домашние контесты ==
 
== Регулярные домашние контесты ==

Версия 00:23, 16 января 2020

Основы и методология программирования - 2, основной поток, 2019/2020, 3 модуль

Страница первого модуля

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

Лекции: вторник и четверг, 2-я пара, R401

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

Краткое содержание лекций

1. Hello, world! Обзор примитивных типов. Условный оператор и циклы. Потоковый консольный ввод-вывод. Классы vector и string. (см. конспект 2016 года)

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

1. Контест №1

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

Мы напишем 4 контрольных контеста и одну теоретическую работу.

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

На лекциях мы будем работать в Linux, использовать текстовый редактор Vim и компилятор g++. На занятия можно приносить свой ноутбук и использовать любую среду разработки.

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

Результат третьего модуля = 0.4 * контрольные + 0.3 * регулярные_контесты + 0.3 * экзамен


Требования к оформлению кода программ

Мы используем 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

В контестах мы запускаем вот такой модифицированный скрипт, не требующий указания опций, и принимающий в качестве параметра просто проверяемый файл.

Курсы на Курсере от разработчиков Яндекса

Основы разработки на C++: белый пояс

Основы разработки на C++: жёлтый пояс

Основы разработки на C++: красный пояс

Основы разработки на C++: коричневый пояс

Основы разработки на C++: чёрный пояс


Полезные ссылки

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

С++ tutorial - классический tutorial по C++ (немного устарел)

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

Bandit - игра для освоения консольных команд Linux

Practical Vim - хороший учебник по Vim

YouCompleteMe - полезный плагин для Vim для автодополнения кода

Конспекты лекций 2016 года (немного устарело)