Обучение языку C++, часть 1

Новосибирск, осень 2019

Описание

Примерное содержание первого семестра

От исходного кода до исполняемого файла:

  • что есть программа на С++
  • процесс сборки
  • компилятор и некоторые его опции

Фичи языка:

  • функции и операторы
  • классы
  • шаблоны
  • исключения
  • умные указатели
  • стандартные контейнеры и алгоритмы
  • лямбда-функции
  • мета-программирование

Практики разработки:

  • экосистема С++ проектов
  • практики производительности
  • юнит-тестирование: как и чем
  • анализаторы и санитары
  • паттерны проектирования

Детальное содержание (дополняется)

Пожелания к участникам курса

  • Уметь писать несложные программы на каком-нибудь языке. Следующие задачи не должны вводить студента в ступор:
    • прочитать содержимое файла
    • найти максимальное число в последовательности
  • Быть знакомым с азами git или готовым обучиться им в сжатые сроки (первых трёх глав pro git book более чем достаточно)
  • Быть готовым выполнять домашние задания и работать с замечаниями


Критерии оценки

Оценка Баллы
зачёт 14
хорошо 20
отлично 26

Максимум баллов за курс: 30


Требования к домашним заданиям

Проверьте, что:

  1. проект компилируется под все платформы (проверьте windows и linux)
  2. проект содержит файл README.md, со следующими пунктами:
    • о чём проект
    • инструкции сборки
    • инструкции по использованию
  3. тестирование
    • есть unit-тесты (разумное количество)
    • unit-тесты проходят (все)
    • unit-тесты написаны через googletest
    • если для сборки юнит-тестов нужен специальный ключ для cmake, он задокументирован в README
    • наличие интеграционных тестов не обязательно, но приветствуется
  4. поддержана система генерации проектов cmake
  5. список может пополниться по факту общения со студентами

Инструкция по оформлению домашнего задания

Преподаватели

Список лекций