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
BeginnerCourse 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 curriculumPros 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