Основы разработки на C++: красный пояс

  • 4.8
Approx. 82 hours to complete

Course Summary

This course teaches the basics of C++ programming language, including object-oriented programming concepts and data structures.

Key Learning Points

  • Learn the fundamentals of C++ programming language
  • Understand object-oriented programming concepts
  • Explore data structures and algorithms

Job Positions & Salaries of people who have taken this course might have

    • USA: $88,000
    • India: ₹6,50,000
    • Spain: €33,000
    • USA: $88,000
    • India: ₹6,50,000
    • Spain: €33,000

    • USA: $72,000
    • India: ₹5,00,000
    • Spain: €28,000
    • USA: $88,000
    • India: ₹6,50,000
    • Spain: €33,000

    • USA: $72,000
    • India: ₹5,00,000
    • Spain: €28,000

    • USA: $65,000
    • India: ₹4,50,000
    • Spain: €25,000

Related Topics for further study


Learning Outcomes

  • Develop a strong foundation in C++ programming language
  • Understand object-oriented programming concepts and their applications
  • Learn to implement various data structures and algorithms

Prerequisites or good to have knowledge before taking this course

  • Basic knowledge of programming concepts
  • Familiarity with any programming language

Course Difficulty Level

Beginner

Course Format

  • Online
  • Self-paced

Similar Courses

  • C++ For C Programmers, Part A
  • C++ For C Programmers, Part B

Related Education Paths


Notable People in This Field

  • C++ Expert
  • C++ Expert

Related Books

Description

Этот курс является продолжением курса "Основы разработки на C++: жёлтый пояс". Основная цель курса — научить писать на С++ эффективный код. Кроме того рассмотрены некоторые возможности С++, которые не попали в предыдущие курсы.

Outline

  • Макросы и шаблоны классов
  • Что вас ждет?
  • Введение в макросы
  • Оператор #
  • Макросы __FILE__ и __LINE__
  • Тёмная сторона макросов
  • Введение в шаблоны классов
  • Интеграция пользовательского класса в цикл for
  • Разница между шаблоном и классом
  • Вывод типов в шаблонах классов 1
  • Вывод типов в шаблонах классов 2
  • Автоматический вывод типа, возвращаемого функцией
  • Как всё устроено и зачем
  • План специализации "Искусство разработки на современном C++"
  • Где задать вопрос: telegram, forum
  • Решение задачи «Максимальный элемент по предикату»
  • Обновлённый test_runner.h
  • Решение задачи «Макрос LOG»
  • Решение задачи «Генератор компараторов»
  • Решение задачи «Макрос UPDATE_FIELD»
  • Решение задачи «Плохой макрос»
  • Решение задачи «Макрос UNIQ_ID»
  • Решение задачи «Таблица»
  • Решение задачи «Дек на основе двух векторов»
  • Решение задачи «Paginator»
  • Конспект
  • Макросы
  • Введение в шаблоны классов
  • Автоматический вывод шаблонных типов
  • Принципы оптимизации кода, сложность алгоритмов и эффективное использование ввода/вывода
  • Первое правило оптимизации кода
  • Второе правило оптимизации кода
  • Разработка своего профайлера
  • Совершенствование своего профайлера
  • Буферизация в выходных потоках
  • Производительность потоков вывода
  • Когда стоит использовать endl, а когда — \n
  • Связанность потоков
  • Итоги раздела - Эффективное использование потоков ввода-вывода
  • Введение в сложность алгоритмов
  • Оценка сложности
  • Практические применения
  • Амортизированная сложность
  • profile.h
  • Решение задачи «Сортировка студентов»
  • Решение задачи «Изучение нового языка»
  • Решение задачи «Экспрессы»
  • Решение задачи «Электронная книга»
  • Решение задачи «Система бронирования отелей»
  • Конспект
  • Сложность решений задачи «Экспрессы»
  • Модель памяти в C++
  • Введение в модель памяти: стек
  • Введение в модель памяти: куча
  • Оператор new
  • Оператор delete
  • new и delete для объектов классовых типов
  • Операторы new[] и delete[]
  • Введение в арифметику указателей
  • Добавляем в вектор begin и end
  • Добавляем в вектор begin и end 2
  • Константный указатель и указатель на константу
  • Итоги раздела - Модель памяти
  • Решение задачи «Пул объектов»
  • Решение задачи «Swap, SortPointers, ReversedCopy»
  • Решение задачи «Пишем свой вектор»
  • Решение задачи «Односвязный список»
  • Конспект
  • Эффективное использование линейных контейнеров
  • Эффективное использование вектора
  • Инвалидация ссылок
  • Эффективное использование дека
  • Инвалидация итераторов
  • Контейнер list
  • Преимущества списка
  • Неинвалидация итераторов списка
  • Контейнер array
  • Внутреннее устройство массива
  • Класс string_view
  • Удобное использование string_view
  • Безопасное использование string_view
  • Класс StringSet
  • Решение задачи «Спортсмены»
  • Решение задачи «StackVector»
  • Решение задачи Translator
  • Решение задачи AirportCounter
  • Решение задачи «Текстовый редактор»
  • Решение задачи «Статистика web-сервера»
  • Конспект
  • Вектор и дек
  • Списки
  • Массивы и string_view
  • Move-семантика и базовая многопоточность
  • Перемещение временных объектов
  • Перемещение в других ситуациях
  • Функция move
  • Использование функции move при разбиении на слова
  • Когда перемещение не помогает
  • Конструктор копирования и оператор присваивания
  • Конструктор перемещения и перемещающий оператор присваивания
  • Передача параметра по значению
  • Перемещение в стандартной библиотеке
  • Move-итераторы
  • Некопируемые типы
  • NRVO и copy elision
  • Опасности return
  • Введение в многопоточность
  • async и future
  • Задача генерации и суммирования матрицы
  • Особенности шаблона future
  • Накладные расходы от вызова async
  • Состояние гонки
  • mutex и lock_guard
  • , которого нет
  • Решение задачи «Считалка Иосифа»
  • Решение задачи «Группировка строк»
  • Решение задачи «Оператор присваивания для SimpleVector»
  • Решение задачи «Разбиение на предложения»
  • Решение задачи «Move-семантика в SimpleVector»
  • Решение задачи «Сортировка слиянием — 3»
  • Решение задачи «Контейнер с приоритетами»
  • Как компилировать примеры и задачи из этого урока
  • Решение задачи «Суммирование матрицы»
  • Решение задачи «Исследование блогов»
  • Решение задачи «Шаблон Synchronized»
  • Решение задачи «ConcurrentMap»
  • Конспект
  • Перемещение и функция move
  • Перемещение в стандартной библиотеке
  • Move-итераторы, copy elision и NRVO
  • Финальная задача
  • Решение задачи «Поисковая система»
  • Станьте ментором курса!

Summary of User Reviews

Learn C++ programming language with the C++ Red course on Coursera. Students loved the comprehensive curriculum and engaging instructors.

Key Aspect Users Liked About This Course

Comprehensive curriculum

Pros from User Reviews

  • Engaging instructors who explain difficult concepts clearly
  • Hands-on programming assignments that reinforce learning
  • Comprehensive curriculum covers all essential C++ topics

Cons from User Reviews

  • Some users felt the pace was too fast for beginners
  • Course materials could be more organized
  • Limited interaction with other students
Russian
Available now
Approx. 82 hours to complete
Шишков Илья Иванович, Полднев Антон Вячеславович
Moscow Institute of Physics and Technology, Yandex, E-Learning Development Fund
Coursera
Share
Saved Course list
Cancel
Get Course Update
Computer Courses