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

Материал из CSC Wiki
Перейти к:навигация, поиск
(Сдача и оценивание)
(Практика Свиридкин)
(не показана 1 промежуточная версия этого же участника)
Строка 115: Строка 115:
  
 
[https://github.com/NisreenFarhoud/Bash-Cheatsheet Минимальный набор команд] для работы с консолью (bash)
 
[https://github.com/NisreenFarhoud/Bash-Cheatsheet Минимальный набор команд] для работы с консолью (bash)
 +
 +
Примеры UB c [https://en.cppreference.com/w/cpp/language/ub cppreference]
 +
 +
UB c вызовом невызываемой функции [https://t.co/Ji3BYyV41a?amp=1]
 +
 +
[https://github.com/Nekrolm/cmake_vscode_example Репозиторий] с минимальным примером cmake-проекта с настроенным vscode
  
 
== Практика Лапшин Дмитрий ==
 
== Практика Лапшин Дмитрий ==

Версия 18:48, 13 сентября 2019

Лекции

Лекторы: Суворов Егор Федорович (egor_suvorov@mail.ru), Линский Евгений Михайлович (evgeny.linsky@gmail.com)

Презентации первого семестра:


Книги

  • С нуля
    • С. Дэвис, C++ для чайников
    • Г. Шилдт, С++ базовый курс
  • Язык С
    • Б. Керниган, Д. Ритчи, Язык программирования C
    • Б. Керниган, Р. Пайк, Практика программирования
  • Язык C++
    • Б. Страуструп, Язык программирования С++
    • Б. Эккель, Философия C++
  • Дополнительно
    • Б. Страуструп, Дизайн и эволюция языка C++
    • С. Майерс, Эффективное использование С++/Эффективное использование STL
    • Г. Сеттер, Решение сложных задач на C++/Новые сложные задачи на C++
    • Р. Седжвик, Алгоритмы на C++

Лабораторные и домашние

  • GitHub — гит-репозиторий с описаниями лабораторных (обновляется каждую неделю).
  • Trac — trac для лабораторных.
  • http://trac.compscicenter.ru/hse-svn/cpp19/lastname.firstname — svn для лабораторных (замените lastname.firstname на ваш логин - имя-фамилия транслитом).

Сдача и оценивание

Подробная инструкция по сдаче расположена на главной странице Trac.

Мы стараемся ставить одинаковые сроки сдачи для всех групп.

Практика Соколов

Преподаватель: Вячеслав Соколов (vi.soksok@gmail.com, +7 921 780 11 12)

Trac: sokolov

deadline первой попытки первой лабораторной: среда 09.11 21:00

Письма просьба идентифицировать префиксом в теме [HSE][CPP]

Linux

  • Минимальный набор для работы из консоли (для Ubuntu):
    • man manual
    • ls list
    • pwd print working directory
    • mkdir make (create) directory
    • cd change directory
    • cp copy
    • rm remove
    • touch "потрогать" объект на файловой системе
    • mv move
    • gcc gnu C compiler
    • make make
    • svn subversion
    • apt aptitude
  • Исследование бинарных артефактов
    • nm list symbols from object files
    • readelf displays information about ELF files
    • c++filt demangle symbols

Для тех, кому хочется поэкспериментировать с консолью

  • Эмуляторы терминала
    • terminator
    • tilix
    • а также много других, легко ищутся
  • Shell
    • bash по умолчанию, но есть кое-что поудобнее, например
    • fish - interactive shell, создан, чтобы быть удобным
    • zsh - для любителей писать скрипты

Системы сборки

Для наших нужд достаточно Make

Если проект становится большим, нужно что-то посложнее, например (альтернативы):

Практика Свиридкин

Преподаватель: Дмитрий Свиридкин (dmisvrl1@gmail.com) Префикс [C++Practice]

Договоренности со студентами:

1. Бинарники складывать в каталог bin, объектники -- в каталог obj

2. Разобравшиеся с make, при желании, могут использовать cmake


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

Кратко про make: habr

Дополнительно про mangling

Минимальный набор команд для работы с консолью (bash)

Примеры UB c cppreference

UB c вызовом невызываемой функции [1]

Репозиторий с минимальным примером cmake-проекта с настроенным vscode

Практика Лапшин Дмитрий

Преподаватель: Дмитрий Лапшин, по вопросам курса писать сюда: au-cpp@ldvsoft.net.

Ссылочки выше и ниже тоже полезны!

Практика Гулецкий

Преподаватель: Артур Гулецкий (hatless.fox@gmail.com)

Префикс в теме письма: [C++TA]

Еще один вариант книги с нуля: C++ Primer, 5th

Makefile

Почитать (opt):

C-string utils

Почитать:

Intrusive lists

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

Преподаватель: Егор Суворов (egor_suvorov@mail.ru)

Префикс в теме письма: [C++TA]

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

Преподаватель: Василий Алфёров (vasily.v.alferov@gmail.com)

Telegram: @vasiliyalferov

Договорённость со студентами: дедлайн лабораторных работ — начало следующей пары.

Дедлайн по исправлениям лабораторных работ, если они разрешены: неделя после проверки.


Обещанные ссылки: