Лого университета
Урфу
Название

Программирование на C/C++

Название университета
Уральский Федеральный университет
Вид программы
Курс

Об этом курсе

Body

Основная задача курса – изучения языка С++, как прикладного инструмента решения задач. Курс включает в себя лекции с обратной связью в режиме диалога и лабораторные работы. Лекции содержат базовый обзор языка, принципы объектно- ориентированного программирования применительно к языку, минимальный необходимый набор информации о структурах и алгоритмах обработки данных для решения лабораторных работ.

Лабораторные работы содержат как базовые задачи по организации структур данных, так и расширенные задачи по организации структур для логических игр и алгоритмов работы с ними.

Темы курса

1. Обзор возможностей С++, обзор типов и их размеры, операции с простыми типами, приведения типов, языковые конструкции.

Операции

Условные операторы и циклы

Компиляция, запуск, отладка

Установка Qt Creator

Создание проекта в Qt Creator (qbs). Отладка в Qt Creator.

2. Функции. Синтаксис (объявление, определение, заголовочные файлы).

Передача параметров по значению

Ссылки как способ изменить переданный объект

Ссылки -- способ сэкономить на копировании, const защищает от изменения.

Контейнеры

3. Алгоритмы и лямбды

Видимость и инициализация переменных

4. ООП. Введение в структуры и классы. Объявление, определение, экземпляры. Спецификаторы доступа. Члены данные, члены функции (методы), члены классы, enum-ы. Конструкторы, деструкторы. Наследование. Приведения (явные, неявные, reinterpret_cast). Explicit. Friend класс и функции. Виртуальные функции и принцип их работы. Примеры.

namespace-ы

Работа с файлами и потоками. Перегрузка операторов.

5. Время жизни объектов.

Глобальные объекты программы. Static initialization fiasco.

Что такое singleton. Умные указатели. Семантика переноса.

6. Исключения: порядок работы с исключениями, время жизни объектов, бросаем и ловим, области применения, накладные расходы.

Многопоточность. потоки, синхронизация, мьютексы.

Что такое хэш-таблица, чем она отличается от map.

7. Шаблонные функции. Иснтанциирование. Перегрузка.

Шаблонные классы. Шаблонные методы. Параметры шаблонов. Сериализация.

Паттерны проектирования.

8. Test Driven Development, путь к надёжной программе, тестирование и верификация.

Список лабораторных работ:

  1. Базовые структуры языка. Взаимодействие с пользователем, ввод, вывод.
  2. Массивы
  3. Строки
  4. Организация списков и очередей
  5. Организация деревьев и их заполнение
  6. Игровой бот на дереве решений
  7. Наследование и полиморфизм

 

Оценить курс
Average: 4.3 (4 votes)

Комментарии

Добавить комментарий

date

Порядок
date (значение 1)
date (значение 2)

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Последние добавленные курсы

Image
Quality assurance
Вид программы
Курс
Название университета
Уральский Федеральный университет
Оценить курс
5/5
star-icon

Image
game dev
Вид программы
Курс
Название университета
Уральский Федеральный университет
Оценить курс
5/5
star-icon