C++ 1MIT весна 1 2021 — различия между версиями

Материал из CSC Wiki
Перейти к:навигация, поиск
Строка 115: Строка 115:
  
 
Дедлайны (все - в указанные даты в 23:59):
 
Дедлайны (все - в указанные даты в 23:59):
* lab06. 23 февраля для проблем с Files Changed; 26 февраля для замечаний по коду.  
+
* lab06. 23 февраля для проблем с Files Changed; 26 февраля для замечаний по коду.
 +
* lab07. После 1-го раунда проверки: 19 марта.
  
 
== Проверяющий: Гулецкий ==
 
== Проверяющий: Гулецкий ==

Версия 16:21, 8 марта 2021

Общее

Организация курса на GitHub: https://github.com/hse-spb-2020-cpp

Софт

  • Основной компилятор: gcc со стандартной библиотекой libstdc++ под Linux. С добавлением Address Sanitizer, Memory Sanitizer, UB Sanitizer, Valgrind.
  • Также должно собираться clang со стандартной библиотекой libc++ под Linux.
  • По-хорошему должно собираться gcc/clang/visual studio на Windows, но не у всех есть, поэтому не требуем жёстко.

На Windows можно использовать Visual Studio, но в любом случае требуется поставить GCC/Clang. Для этого можно либо поставить WSL 1 + Ubuntu (и внутри будет обычная линуксовая консоль), либо msys2] с пакетом mingw-w64-x86_64-gcc (это будет gcc, который компилирует под Windows). Егор использует оба варианта, чтобы показывать поведение и под Windows, и под Linux.

Установка clang и stdc++ на Ubuntu

  1. До Ubuntu 20.04: добавляем в конец /etc/apt/sources.list две строчки, соответствующие вашей версии Ubuntu (смотри /etc/lsb-release). Например, для Ubuntu 16.04.1 LTS:
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main
  1. sudo apt update
  2. sudo apt install clang-10 libc++-10-dev libc++abi-10-dev

Можно установить на Ubuntu 18.04 после этих шагов.

Потом можно компилировать при помощи команды clang++-10 -stdlib=libc++ main.cpp -o main. Почти все флаги как у GCC, включая warnings.

Лекции

Лектор: Суворов Егор Федорович (egor_suvorov@mail.ru]), в теме письма обязательно указывать [hse] [cpp] и слово "вопрос", если там вопрос.

Также есть Telegram: yeputons

Базовые материалы

Материалы с лекций: https://github.com/hse-spb-2020-cpp/lectures

Просто хорошие учебники

Тут может быть другое изложение, другие примеры, не хватать большого количества деталей. Но базовая картинка должна сложиться такая же: язык один и тот же, стараемся использовать только общепринятые термины и явно подчёркивать отсебятину.

Общее развитие

Обращайте внимание, для какого стандарта вы читаете рекомендации. Минимальный — C++11, C++03 — это совсем другой язык. Следующие огромные изменения ожидаются в C++20.

Дополнительные материалы

C++20 и метапрограммирование

Практика 1: Алфёров

Василий Алфёров.

Почта: vasily.v.alferov@gmail.com

Телега: vasiliyalferov

GitHub: vasalf

Материалы: https://github.com/hse-spb-2020-cpp/practice-alferov

Практика 2: Соснин

Антон Соснин.

Почта: antsosnin@yandex.ru

Телега: @antonso- предпочтительно

GitHub: mrfeod

Материалы: https://github.com/hse-spb-2020-cpp/practice-sosnin

Практика 3: Суворов

Егор Суворов.

Почта: egor_suvorov@mail.ru, в теме письма обязательно указывать [hse] [cpp] и слово "вопрос", если там вопрос.

Telegram: yeputons

GitHub: yeputons

Материалы: https://github.com/hse-spb-2020-cpp/practice-suvorov

Проверяющий: Краско

Евгений Краско.

Почта: krasko.evgeniy@gmail.com, в теме письма обязательно указывать [hse] [cpp] и слово "вопрос", если там вопрос.

Telegram: kraskoes

GitHub: krasko

Правила приема лаб:

  • Исправлять можно любой балл, кроме нуля.
  • За отлично сделанное со второй попытки задание всё равно можно получить полный балл.
  • Гарантируется одна попытка на исправления после первого ревью; дальше - по ситуации (скорее всего, вторую попытку буду давать только в редких случаях).
  • Если есть вопросы по замечаниям - отвечайте на гитхабе; если я после этого не отвечаю вам 24 часа - можно написать в телеграм.

Дедлайны (все - в указанные даты в 23:59):

  • lab06. 23 февраля для проблем с Files Changed; 26 февраля для замечаний по коду.
  • lab07. После 1-го раунда проверки: 19 марта.

Проверяющий: Гулецкий

Артур Гулецкий.

Почта: hatless.fox@gmail.com, в теме письма обязательно указывать [hse] [cpp] и слово "вопрос", если там вопрос.

GitHub: HatlessFox