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

  • 4.9
Approx. 77 hours to complete

Course Summary

This course is an introduction to programming in C++ and covers basic concepts such as data types, control structures, and functions. It is designed for beginners with no prior programming experience.

Key Learning Points

  • Learn the basics of programming in C++
  • Understand data types, control structures, and functions
  • Gain hands-on experience through programming assignments

Related Topics for further study


Learning Outcomes

  • Understand the basics of programming in C++
  • Be able to write simple programs using data types, control structures, and functions
  • Gain experience through programming assignments

Prerequisites or good to have knowledge before taking this course

  • No prior programming experience required
  • Access to a computer with an internet connection

Course Difficulty Level

Beginner

Course Format

  • Online
  • Self-paced

Similar Courses

  • C++ For C Programmers, Part A
  • Object-Oriented Data Structures in C++
  • Accelerated Computer Science Fundamentals

Related Education Paths


Related Books

Description

Этот курс является продолжением курса "Основы разработки на C++: белый пояс". В нём преподаватели продолжают знакомить вас с возможностями языка C++. В курсе рассмотрены:

Outline

  • Целочисленные типы, кортежи, шаблонные функции
  • Что вас ждет?
  • Введение в целочисленные типы
  • Преобразования целочисленных типов
  • Безопасное использование целочисленных типов
  • Упрощаем оператор сравнения
  • Кортежи и пары
  • Возврат нескольких значений из функции
  • Введение в шаблоны
  • Универсальные функции вывода контейнеров в поток
  • Рефакторим код и улучшаем читаемость вывода
  • Указание шаблонного параметра-типа
  • Как всё устроено и зачем
  • План специализации "Искусство разработки на современном C++"
  • Где задать вопрос: telegram, forum
  • Решение задачи «Суммирование матриц»
  • Перечислимые типы и оператор switch
  • Решение задачи «Средняя температура — 2»
  • Решение задачи «Масса блоков»
  • Решение задачи «База регионов»
  • Решение задачи «Трекер задач»
  • Код из лекции «Рефакторим код и улучшаем читаемость вывода»
  • Решение задачи «Всё в квадрат»
  • Решение задачи "Ссылка на элемент"
  • Конспект по неделе 1
  • Целочисленные типы
  • Шаблоны функций
  • Тестирование и отладка
  • Введение в юнит-тестирование
  • Декомпозиция решения задачи «Синонимы»
  • Простейший способ создания юнит-тестов на C++
  • Отладка решения задачи «Синонимы» с помощью юнит-тестов
  • Анализ недостатков фреймворка юнит-тестов
  • Улучшаем assert
  • Внедряем шаблон AssertEqual во все юнит-тесты
  • Изолируем запуск отдельных тестов
  • Избавляемся от смешения вывода тестов и основной программы
  • Обеспечиваем регулярный запуск юнит-тестов
  • Собственный фреймворк юнит-тестов. Итоги
  • Общие рекомендации по декомпозиции программы и написанию юнит-тестов
  • Решение задачи «Декомпозиция программы»
  • Код фреймворка юнит-тестов
  • Инструкция по решению следующих заданий по программированию
  • Решение задачи «Тесты для функции GetDistinctRootCount»
  • Решение для задачи «Тесты для класса Person»
  • Решение задачи «Тесты для класса Rational»
  • Решение задачи «Тесты для функции IsPalindrom»
  • Конспект по неделе 2
  • Юнит-тестирование
  • Разработка фреймворка юнит-тестов
  • Тестирование и отладка. Итоги
  • Распределение кода по файлам
  • Введение в разработку в нескольких файлах на примере задачи «Синонимы»
  • Механизм работы директивы #include
  • Обеспечение независимости заголовочных файлов
  • Проблема двойного включения
  • Понятия объявления и определения
  • Механизм сборки проектов, состоящих из нескольких файлов
  • Правило одного определения
  • Итоги
  • Поддержка нашего юнит-тест фреймворка тестирующей системой
  • Решение задачи «Реализовать функции, объявленные в заголовочном файле»
  • Решение задачи «Реализовать класс, объявленный в заголовочном файле»
  • Решение задачи «Написать объявление класса»
  • Решение задачи «Декомпозиция программы — 2»
  • Конспект по неделе 3
  • Заголовочные файлы
  • Разделение кода по файлам. Итоги
  • Итераторы, алгоритмы и контейнеры
  • Введение в итераторы
  • Концепция полуинтервалов итераторов
  • Итераторы множеств и словарей
  • Продвинутое итерирование по контейнерам
  • Использование итераторов в методах контейнеров
  • Использование итераторов в алгоритмах
  • Обратные итераторы
  • Алгоритмы, возвращающие набор элементов
  • Итераторы inserter и back_inserter
  • Отличия итераторов векторов и множеств
  • Категории итераторов, документация
  • Стек, очередь и дек
  • Алгоритмы поиска
  • Анализ распространённых ошибок
  • Решение задачи «Часть вектора»
  • Решение задачи «Часть множества»
  • Решение задачи «Разбиение на слова»
  • Подробнее про категории итераторов
  • Решение задачи «Удаление повторов»
  • Решение задачи «Перебор перестановок»
  • Решение задачи «Демографические показатели»
  • Решение задачи «Сортировка слиянием»
  • Сводная таблица по алгоритмам поиска
  • Решение задачи «Поиск ближайшего элемента»
  • Решение задачи «Имена и фамилии — 4»
  • Решение задачи «Группировка строк по префиксу»
  • Решение задачи «Построение арифметического выражения»
  • Конспект по неделе 4
  • Использование итераторов в алгоритмах и контейнерах
  • Алгоритмы поиска
  • Наследование и полиморфизм
  • Введение в наследование
  • Доступ к полям классов. Знакомство со списками инициализации
  • Порядок конструирования экземпляров классов
  • Унификация работы с классо-специфичным кодом. Постановка проблемы
  • Решение проблемы с помощью виртуальных методов
  • Свойства виртуальных методов. Абстрактные классы
  • Виртуальные методы и передача объектов по ссылке
  • Хранение объектов разных типов в контейнере с помощью shared_ptr
  • Задача разбора арифметического выражения. Описание решения
  • Решение задачи для частного примера
  • Описание и обзор общего решения задачи
  • Решение задачи «Наследование своими руками»
  • Код парсера к лекции
  • Решение задачи «Отправка уведомлений»
  • Решение задачи «Набор фигур»
  • Как правильно проверять код
  • Конспект по неделе 5
  • Наследование
  • Курсовой проект
  • Заключительное слово
  • Решение курсового проекта
  • Продолжение курса
  • Станьте ментором курса!

Summary of User Reviews

Learn C++ programming from scratch with Coursera's C++ Yellow course. Users have praised the course for its comprehensive curriculum and engaging teaching style. Many users found the course to be a great introduction to C++ programming.

Key Aspect Users Liked About This Course

Comprehensive curriculum

Pros from User Reviews

  • Engaging and knowledgeable instructors
  • Clear and concise explanations of complex concepts
  • Practical exercises and quizzes to reinforce learning
  • Great for beginners and those with some programming experience
  • Flexible schedule and self-paced learning

Cons from User Reviews

  • Some users found the course too basic
  • The auto-grading system can be frustrating and inaccurate at times
  • Limited interaction with other students and instructors
  • Some topics are not covered in depth
  • Not suitable for advanced C++ programming
Russian
Available now
Approx. 77 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