Обучение языку C++, часть 1
Новосибирск, осень 2019
Описание
Примерное содержание первого семестра
От исходного кода до исполняемого файла:
- что есть программа на С++
- процесс сборки
- компилятор и некоторые его опции
Фичи языка:
- функции и операторы
- классы
- шаблоны
- исключения
- умные указатели
- стандартные контейнеры и алгоритмы
- лямбда-функции
- мета-программирование
Практики разработки:
- экосистема С++ проектов
- практики производительности
- юнит-тестирование: как и чем
- анализаторы и санитары
- паттерны проектирования
Детальное содержание (дополняется)
Пожелания к участникам курса
- Уметь писать несложные программы на каком-нибудь языке. Следующие задачи не должны вводить студента в ступор:
- прочитать содержимое файла
- найти максимальное число в последовательности
- Быть знакомым с азами git или готовым обучиться им в сжатые сроки (первых трёх глав pro git book более чем достаточно)
- Быть готовым выполнять домашние задания и работать с замечаниями
Критерии оценки
Оценка | Баллы |
---|---|
зачёт | 14 |
хорошо | 20 |
отлично | 26 |
Максимум баллов за курс: 30
Требования к домашним заданиям
Проверьте, что:
- проект компилируется под все платформы (проверьте windows и linux)
- проект содержит файл README.md, со следующими пунктами:
- о чём проект
- инструкции сборки
- инструкции по использованию
- тестирование
- есть unit-тесты (разумное количество)
- unit-тесты проходят (все)
- unit-тесты написаны через googletest
- если для сборки юнит-тестов нужен специальный ключ для cmake, он задокументирован в README
- наличие интеграционных тестов не обязательно, но приветствуется
- поддержана система генерации проектов cmake
- список может пополниться по факту общения со студентами