Распродажа!

Курс С++ для начинающих

Первоначальная цена составляла 6,999 руб.Текущая цена: 1,688 руб.

 Вы экономите: 5,311 руб (76%)
 Поторопитесь! Заканчивается через

Видео курс по С для начинающих программистов.

9 заказов за последние 7 дней.

Безопасные платежи

Защита персональных данных

100% уникальные материалы

Гарантия лучшей цены

Вместе дешевле на 20% (количество курсов меняется галочками)

Курс С++ для начинающих + Курс C# разработчик + Курс C++
Цена за три курса: Первоначальная цена составляла 5,064 руб.Текущая цена: 4,051 руб.

Видеозаписи лекций без обратной связи и участия преподавателя. Вы получите доступ к материалам сразу после оплаты.

Программа обучения

Что такое современный C

1.1.1 Современный C
Поговорим об особенностях языка C – как он развивался, и каков он сейчас. Познакомимся со стандартом языка, научимся отличать undefined behavior от unspecified behavior.

1.1.2 Hello, World!
Скомпилируем свою первую программу! Разберём процесс сборки приложений на C , научимся не бояться ошибок и внимательно читать предупреждения. Также узнаем о существовании online-инструментов, с помощью которых можно начать работать уже сейчас.

1.1.3 CMake
Разберем, что такое CMake и зачем нам нужен этот инструмент. Напишем свой первый CMakeLists.txt и научимся собирать свои проекты с помощью CMake.

2 Базовый синтаксис языка C

1.2.1 Синтаксис C
Посмотрим, как в наших программах представить числа, символы и массивы данных. Разберём много примеров. Познакомимся с более сложными (и более удобными) типами в C .

1.2.2 Ветвления
Продолжим изучать синтаксис. На этот раз изучим синтаксис ветвлений if-else и конструкцию switchcase. Это поможет сделать наши программы более сложными и интересными.

1.2.3 Циклы
Разберём на примерах синтаксис циклов в языке C . Научимся использовать for, while и даже do while.

3 Такие разные функции. Модульность

1.3.1 Функции
Разберемся в функциями – что это, зачем они нужны и как их можно использовать. Посмотрим синтаксис и потренируемся на нескольких примерах.

1.3.2 Модульность
Как создавать сложные программы? В этом нам поможет модульность языка C (которой, правда, почти нет). И снова разберём несколько примеров.

1.3.3 Разное про функции
Разберём несколько особенностей использования функций в языке C . Познакомимся с особенностью функции main, разберём, зачем нужен стек вызовов, а также поэкспериментируем с рекурсией.

2 Классы и алгоритмы

1 Структуры и классы

2.1.1 часть 1. Привет, структура. Структуры. Вкратце про полиморфизм, наследование и инкапсуляцию
2.1.1 часть 2. Подробнее о структуре, привет объединение. Структура как отдельный тип данных. Объединения.
2.1.2 часть 1. Здравствуй, класс. Привет, объект. Класс и объект. Функция-член класса. Доступ к членам класса
2.1.2 часть 2. Конструкторы и деструкторы. Конструктор и деструктор. Сравнение со структурой.
2.1.3 часть 1. Немного о наследовании. Наследование. Доступ к членам базового класса. Защищённые члены.
2.1.3 часть 2. Еще немного о наследовании. Параметры конструктора. Чтение графов наследования

2 Полиморфизм

2.2.1 часть 1. Дружба и перегрузка. Действия с объектом. Дружественные функции. Перегрузка конструктора.
2.2.1 часть 2. Передача и возврат. Передача и возврат объекта функции. Конструктор копии.
2.2.2 часть 1. Производные типы. Виртуальные функции. Указатели и ссылки на производные типы.
2.2.2 часть 2. Виртуальные функции и абстрактные класс. Виртуальные функции. Абстрактные классы.
2.2.3 часть 1. Перегружаем операторы. Перегрузка операторов. Унарных и бинарных. Общие правила.

3 Шаблоны классов и функций

2.2.3 часть 2. Еще о перегрузке операторов. С использованием функций-членов и не членов. Советы по перегрузке операторов.
2.3.1 часть 1. Обобщенные функции. Обобщенные функции. С двумя обобщенными типами.
2.3.1 часть 2. Больше про обобщенные функции. Явная перегрузка обобщенной функции. Перегрузка шаблона.
2.3.2 часть 1. Обобщенный класс Обобщенный класс. Обобщенный класс с двумя типами.
2.3.2 часть 2. Больше про обобщенный класс. Обобщенный класс безопасного массива. Аргументы, не являющиеся типами, для обобщенного класса.

3 Шаблоны классов и функций

1 Общий обзор стандартной библиотеки

3.1.1 Стандартная библиотека С
Мы познакомимся со стандартной библиотекой С , посмотрим, из каких частей она состоит, а так же разберемся, зачем нам нужно ее изучить.

3.1.2 Ввод/вывод в С
На этом занятии мы познакомимся с концепцией потоков, посмотрим, какие стандартные потоки есть в С , для чего они нужны и какие у них есть особенности. Вы научитесь эффективно применять стандартные потоки ввод-вывода при написании программ на С .

3.1.3 std::string
Мы разберемся с понятием строки в С/С , посмотрим, какие проблемы есть при использовании сишных строк, и как эффективно их можно заменить с помощью std::string. Вы освоите основные операции с std::string в части создания строки, поиска и изменения ее подстрок.

2 Подробнее о контейнерах и вводе-выводе

3.2.1 std::array
На занятии мы разберемся, какие проблемы есть у стандартных массивов в С/С , и зачем нужен std::array. Вы поймете, в каких случаях можно его применять и научитесь делать это эффективно.

3.2.2 std::vector
Разберемся с самым часто применяемым контейнером в STL. Мы разберемся, какие проблемы могут быть при бездумном его применении и как использовать std::vector максимально эффективно.
3.2.3 std::list
На занятии посмотрим, что такое двусвязный список и как с ним работать. Так же разберемся какие накладные расходы несет в себе его применение и как std::forward_list может от них избавить.

3.2.4 std::deque
На этом занятии познакомимся с двусторонней очередью, посмотрим, как она устроена и какими свойствами обладает. Вы освоите интерфейс этого контейнера.

3.2.5 Упорядоченные ассоциативные контейнеры STL
Мы рассмотрим упорядоченные ассоциативные контейнеры, какими они бывают, как устроены внутри и какими свойствами обладают. Вы освоите приемы эффективной работы с такими контейнерами.

3.2.6 Неупорядоченные ассоциативные контейнеры
STL На занятии посмотрим на неупорядоченные ассоциативные контейнеры. Разберемся, чем они отличаются от упорядоченных, как устроены внутри и как и когда их применять.

3 Алгоритмы, которые лучше знать лучше

3.3.1 Итераторы в STL
Это занятие построит мост от контейнеров к алгоритмам. Мы разберемся с важным понятием итератора, посмотрим на то, какой он бывает и почему может стать не валидным.

3.3.2 Модифицирующие и немодифицирующие алгоритмы STL
На занятии рассмотрим некоторые из множества алгоритмов в STL: any_of, copy, for_each и другие. Отучимся от повсеместного применения сырых циклов и освоим методы создания более выразительного кода.

3.3.3 Алгоритмы поиска и сортировки STL
На этом занятии мы посмотрим на алгоритмы сортировки и поиска в упорядоченных последовательностях. Узнаем, какие есть алгоритмы помимо find и насколько они эффективно работают.

3.3.4 Алгоритмы STL: на множествах, на куче, перестановки, числовые
Этим занятием наше знакомство с алгоритмами в STL. Мы посмотрим, как можно работать с множествами, что такое куча как структура данных и как с ней работать, а также освоим полезный алгоритм accumulate.

4 Многопоточность. Исключения. Работа с сетью.

1 Многопоточность или зачем в процессоре больше одного ядра

4.1.1 1_1_ThermsTherms
Терминология многопоточности. Поймём, что такое поток выполнения, как операционная система справляется с ситуацией, когда их несколько. Поговорим о том, что же такое процесс.

4.1.2 1_2_How_it_works
В этом видео разберёмся с понятиями многопоточность, многозадачность, параллельность и псевдопараллельность. Разберем на житейском примере, как может быть реализована многопоточность – чем отличается параллельность от псевдопараллельности.

4.1.3 1_3_Threads
Рассмотрим инструменты работы с потоками, которые предоставляет программисту стандартная библиотека C . Посмотрим на примерах, как создавать потоки и что с ними делать потом.

4.1.4 1_4_Mutex
В этом видео обсудим проблему синхронизации потоков. Зачем она нужна, и что может произойти, если её нет.

2 Исключения есть всегда, и C – не исключение.

4.2.1 2_1_Base
Исключения: начало. Обсудим механизм исключений, поймем, зачем они нужны. Изучим базовый синтаксис работы с исключениям, на примерах посмотрим, как они работают.

4.2.2 2_2_Exception_vs_errors
Зачем что-то менять, если и так хорошо? Рассмотрим на примерах отличие механизма исключений от классической обработки кодов ошибок. Много примеров и понимание преимуществ исключений гарантировано.

4.2.3 2_3_Niceties
Тонкости и детали – что может быть лучше? На примерах разберем – как построить иерархию исключений, почему лучше перехватывать исключения по ссылке, а также принципы работы с исключениями при использовании стандартной библиотеке.

3 Клиентсерверная архитектура

4.3.1 Network
Зачем изучать работу с сетью, что даёт нам возможность соединить несколько компьютеров по сети. Понятие сервера и клиента, понимание отличий. Небольшой обзор RESTfull API.

4.3.2 Boost_asio
Какие средства для работы с сетью предоставляет C . Какое место в работе с сетью занимает Boost.Asio. Рассмотрим много примеров и освоим эту библиотеку.

4.3.3 Boost_beast
Библиотека Boost.Beast – в чем отличие от Boost.Asio и как её использовать. Рассмотрим на примерах.

4.3.4 POCO
Библиотека POCO. Познакомимся с ещё одной библиотекой для разработки сетевого программного обеспечения. Рассмотрим достоинства и недостатки, изучим функционал на примерах.

Нужна ли регистрация?

Нет, регистрация не обязательна. Просто заполните все поля при оформлении заказа и ваш аккаунт создастся автоматически. Данные которые вы ввели на странице оплаты (почта, пароль), потом можно использовать для входа на сайт.

Как оплатить выбранный курс?

Наш сайт принимает оплату с помощью платежной системы Free Kassa. Все операции на нашем сайте безопасны и проходят с использованием шифрованного SSL соединения. Мы не собираем и не храним ваши платежные данные. Платежная система полностью гарантирует безопасность платежей.

На данный момент доступны следующие способы оплаты:

  • Банковская карта (Visa, Mastercard, Мир)
  • Юmoney
  • KIWI

1. На странице курса нажмите “Купить”
2. Затем в открывшейся вкладке нажмите “Оформление заказа”
3. На странице оформления заполните все поля и нажмите “Купить”
4. Автоматически откроется страница платежной системы.
5. Выберите способ оплаты.
6. Введите данные и следуйте инструкциям платежной системы.
7. После успешной оплаты вы будете автоматически направлены на страницу, где сможете получить доступ к курсу. Так же вам будет выслано письмо с ссылкой на курс.

Если ни один из перечисленных способов оплаты вам не подходит, напишите нам: info.znanies@gmail.com  Мы обязательно поможем.

Как получить оплаченные материалы?

Для того, чтобы получить материалы – просто заполните все поля при оформлении заказа (включая поле – Создать пароль учетной записи).

После оплаты — система автоматически направит вас в личный кабинет в раздел ①»Загрузки». Здесь  будет список ваших оплаченных материалов и ссылка на скачивание②.

Либо нажмите в правом верхнем углу сайта пункт Мой аккаунт, введите почту и пароль, который вы придумали, когда оформляли заказ. В разделе Загрузки есть ссылка на скачивание.

Сколько времени будут доступны материалы?

Ссылка на ваш курс будет доступна в течении 180 дней со дня оплаты. За это время вы должны скачать все материалы на свое устройство. После окончания этого срока ссылки могут стать неактивными. Это связано с нововведениями компаний, предоставляющих услуги облачного хранилища. Если вы не успели скачать купленные курсы, напишите нам на почту – info.znanies@gmail.com