• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2024/2025

Обучение языку C++ 1

Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6

Программа дисциплины

Аннотация

С++ - мощный язык с богатым наследием. Тем, кто только ступил на путь освоения этого языка, очень просто заблудиться в изобилии техник и приёмов, созданных за последние 30 лет. Курс учит "Modern C++" - современному подмножеству языка (стандарты 14, 17 и 20). Много внимания уделяется инструментам и библиотекам - вещам которые не являются частью языка, но без которых не получится построить большой и сложный проект.
Цель освоения дисциплины

Цель освоения дисциплины

  • знать основные конструкции и идиомы современного языка С++
  • уметь писать работающие программы на языке С++
  • уметь отлаживать код программ на языке C++
  • уметь использовать язык С++ в качестве инструмента для решения практических задач
  • владеть основными средствами языка С++
Планируемые результаты обучения

Планируемые результаты обучения

  • в качестве инструмента для решения практических задач владеть основными средствами языка С++
  • владеть основными средствами языка С++
  • владеть основными средствами языка С++
  • знать основные конструкции и идиомы современного языка С++
  • уметь использовать язык С++
  • уметь использовать язык С++ в качестве инструмента для решения практических задач
  • уметь отлаживать код программ на языке C++
  • уметь писать работающие программы на языке С++
  • уметь писать работающие программы на языке С++
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в С++. Настройка окружения
  • Константы, ссылки и указатели. Структуры
  • Классы
  • Динамическое управление памятью.
  • Умные указатели.
  • Стандартная библиотека шаблонов. Шаблоны
  • Наследование и виртуальные функции
  • Обработка ошибок
  • Паттерны проектирования
  • Python C Api
  • Пространства имен, move-семантика, perfect forwarding. Регулярные выражения
  • Представление структур и классов в памяти. Выравнивание данных. Указатели на члены-методы класса. Variadic templates.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Активность на семинарах
Промежуточная аттестация

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

  • 2024/2025 2nd module
    0.2 * Активность на семинарах + 0.2 * Активность на семинарах + 0.2 * Домашнее задание 1 + 0.2 * Домашнее задание 2 + 0.2 * Домашнее задание 3
Список литературы

Список литературы

Рекомендуемая основная литература

  • A facility for creating Python extensions in C++. (1998). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsstc&AN=edsstc.14305

Рекомендуемая дополнительная литература

  • Guido Van Rossum, & Fred L. Drake. (2004). Python/C API Reference Manual Release 2.3.4. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.2FEE239A
  • Moore, B. (2016). Paraffin: a Parallelism API for Multiple Languages Including Ada, C, C++, C#, Java, FORTRAN, Python, Rust. Ada User Journal, 37(2), 99–109. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=asn&AN=119225673

Авторы

  • Фисенко Анна Сергеевна
  • Яковлева Илона Александровна