Скачать 

[codefactory.school] Курс Разработчик C++. 2022 [Владимир Балун]

Цена: 495 РУБ
Организатор: Robot
Список участников складчины:
  • 1. kri5i
Robot
Robot
Складчик
  • #1

[codefactory.school] Курс Разработчик C++. 2022 [Владимир Балун]

Ссылка на картинку
Вы освоите инструменты программирования: Git, компиляторы, IDE, а также изучите базовые алгоритмы, структуры данных и стандартную библиотеку C++.
По итогу создадите несколько собственных проектов для портфолио, а также примите участие в командной разработке большого общего проекта вместе с сокурсниками.

Кому подойдёт курс:
1. Новичкам или начинающим программистам, которые всегда хотели научиться программировать или пробовали сами, но быстро выгорели при первых трудностях.
2. С опытом в других сферах IT, которые хотят сменить род деятельности, обрести навыки в новых областях и просто сменить сферу разработки.
3. И всем, кто хочет освоить прибыльную и антикризисную профессию, что работать удаленно в гибком графике.

Почему стоит изучать С++:
1. C++ — в умелых руках очень быстрый язык программирования, своего рода язык-спорткар в мире программирования.
2. C++ используется практически везде - от игр, системных приложений, высоконагруженных сервисов и до баз данных, компиляторов, браузеров.
:)

Модуль 1 - Основы CS (Computer Science)
Урок 1 - Теория программирования
Многие начинают программировать, даже не задумываясь для чего... Из-за этого здесь необходимо разобраться в том, что такое программа, зачем было придумано программирование, какие проблемы оно решало раньше и сейчас, а так же о том, как оно развивалось и к чему пришло на текущий момент.
Урок 2 - Основы архитектуры компьютера
Для того, чтобы начать программировать — нужно сначала разобраться с тем, как работает устройство, для которого вы собираетесь писать код, поэтому в этом уроке будет рассмотрена поверхностная архитектура компьютера. Здесь мы познакомимся с оперативной памятью, жестким диском, различными контроллерами, а также с процессором и его внутренним устройством.
Урок 3 - Основы операционных систем
Операционная система — это определённый слой между вами и компьютером, который позволяет вам работать с компьютером, не задумываясь о железе компьютера. Конечно же, программировать без понимая основ ОС достаточно сложно (особенно на С++), поэтому здесь мы с вами разберём поверхностно внутреннее устройство ОС, процессы, потоки, виртуальную память и многое другое.
Урок 4 - Основы компьютерных сетей
Сейчас практически все компьютеры работают бок о бок друг с другом, поэтому минимальные знания о том, как происходит взаимодействие компьютеров в сети просто необходимы. В этом уроке обсудим стек протокола TCP/IP, понятие адреса и порта, а также наиболее популярные протоколы.

Модуль 2 - Основы С++
Урок 1 - Теория программирования
Многие начинают программировать, даже не задумываясь для чего... Из-за этого здесь необходимо разобраться в том, что такое программа, зачем было придумано программирование, какие проблемы оно решало раньше и сейчас, а так же о том, как оно развивалось и к чему пришло на текущий момент.
Урок 2 - Приведения типов
В жизни очень часто бывает, что данные бывают очень похожи друг на друга и из-за этого их можно без проблем сравнивать друг с другом и выполнять над ними одни и тебе операции... В программировании можно делать тоже самое, поэтому на этом занятии мы и будем учиться это использовать.
Урок 3 - Условия и циклы
Программы очень редко бывают линейными, чаще всего у них очень много различных условий для выполнения тех или иных действий и огромное количество повторяющихся операций, исходя из этого нужно обязательно научиться работать с такими операциями в ваших программах.
Урок 4 - Указатели и ссылки
Наверное, это камень преткновения в С++, с которым очень много новичков испытывают проблемы. Здесь мы подробно разберём концепцию указателей и ссылок на примерах из реальной жизни, а также научимся их использовать в реальных программах и поймём, как они работают внутри.
Урок 5 - Массивы и матрицы
Часто бывает в жизни, что одних и тех же похожих данных бывает очень много... Ровна такая же ситуация есть и в программировании, поэтому в этом уроке будем учиться, как работать с такими данными.
Урок 6 - Динамическая память
Здесь подробно поговорим о том, что такое динамическая память, как с ней работать, а также о том, как не допускать ошибок при работе с ней. Конечно же, разберемся, как она работает внутри.
Урок 7 - Функции и указатели на функции
В жизни мы постоянно стараемся декомпозировать свои большие задачи на более маленькие (при это так, чтобы выполнение маленьких задач не повторялось). Тоже самое нужно научиться делать и в программировании, поэтому на этом занятии мы займёмся изучением приемом для осуществления таких целей.
Урок 8 - Перегрузка функций
На данном занятии мы познакомимся с ключевым понятием в С++ — перегрузка функций. Также узнаём о манглинге имен, чтобы понимать, как работает перегрузка изнутри.
Урок 9 - Структуры данных и объединения
В программах часто бывает необходимо объединять маленькие данные, чтобы получить какие-то большие комплексные данные, поэтому в этом уроке мы с вами научимся это делать, а также с этого урока уже начнем писать и проектировать большие программы.
Урок 10 - Ввод-вывод
Практически любая программа должна принимать какие-то данные на вход и выдавать результат ее работы на выходе, из-за этого в этому будем учиться тому, как работать с вводом-выводом и тому, как он устроен внутри.
Урок 11 - Внутреннее устройство программы
Чем лучше знаем то, как выполняется программа, тем более качественный и производительный код мы в состоянии написать, поэтому в этом уроке мы изучим именно это, а также немного попрактикуемся с Ассемблером для того, чтобы иметь четкое понимание того, как работают программы.
Урок 12 - Процесс трансляции программы
Нужно детально разбираться в том, как транслируются программы, потому что довольно часто вам придется решать проблемы с ошибками трансляции... Без этих знаний, это делать крайне сложно (особенно в С++), из-за этого был выделен отдельный урок именно для этого.
Урок 13 - Статические и динамические библиотеки
Очень часто хочется не писать какой-то код, а взять и начать использовать какие-нибудь готовые решения для определенной проблемы. Библиотеки позволяют это сделать, но в этом уроке помимо самой концепции, мы с вами разберем еще разницу статических и динамических библиотек, а также то, как их использовать.
Урок 14 - Пространства имен
Довольно часто нужно сделать так, чтобы имена в программе не пересекались — пространства имён идеальное решение этой проблемы. То, как взаимодействовать с пространствами имен и где их лучше использовать, мы узнаем на этом уроке.
Урок 15 - Препроцессор
Бывает иногда очень нужно сделать, какие-либо действия перед тем, как наша программа начнёт компилироваться или понять в каком окружении она будет использоваться. То, как все это делать, мы узнаём на этом уроке.
Дополнительно
+ 1 проект в портфолио (напишем консольную игру)

Модуль 3 - ООП
Урок 1 - Концепция ООП
Ключевая парадигма программирования на данный момент — ООП, благодаря этому не только весь урок, а целый модуль и был посвящен именно этому. На данном занятии мы узнаем, что такое ООП, как оно было придумано, как, когда и где его использовать, а также изучим его основные концепции.
Урок 2 - Конструкторы и деструкторы
Конструкторы и деструкторы ключевые моменты в ООП, а также и в программировании на С++, поэтому в этом уроке будем разбирать это очень подробно.
Урок 3 - Копирование объектов
Копирование объектов иногда бывает не очень тривиальных и может таить в себе огромное кол-во различных проблем, как раз из-за этого этой теме выделен отдельный урок. Совместно с копированием в этому уроке будет рассмотрено правило трех и нуля в С++.
Урок 4 - Инкапсуляция
Ключевой термин не только в ООП, но и вообще в программировании с использовании других парадигм программирования, который позволяет ограничивать видимость или возможности определенных сущностей, в свою очередь определяя интуитивно-понятный интерфейс для использования этих сущностей. В этом уроке займемся подробным изучением этой концепции вместе с модификаторами доступа.
Урок 5 - Наследование
Ключевая концепция ООП, согласно которой определенный тип данных может наследовать данные и функциональность некоторого уже существующего типа данных. В этом уроке изучим подробно эту концепцию, а также напишем его реализацию на языке С, чтобы подробно разобраться с тем, как оно устроено внутри.
Урок 6 - Виртуальное наследование
В С++ есть множественно наследование, которое иногда может приводить к проблемам, связанным с ромбовидным наследованием. На этом уроке обсудим, как виртуальное наследование позволяет решать эту проблему, а также то, как оно устроено внутри.
Урок 7 - Полиморфизм
Одна из важнейших концепций в ООП, которая позволяет объектам с одинаковым интерфейсом иметь разную реализацию. Здесь разберемся где и как использовать эту концепцию и, конечно же, узнаем как полиморфизм работает внутри.
Урок 8 - RAII
Ключевая концепция в С++, которая должна использоваться в абсолютно во всех программах, чтобы предотвратить возможной утечки ресурсов. В этом уроке разберем эту концепцию подробнее, а также напишем несколько примитивных умных указателей.
Урок 9 - RTTI
RTTI — это механизм в некоторых, который позволяет определить тип данных переменной или объекта во время выполнения программы. Конечно же, рассмотрим в этом уроке эту возможность очень подробно и узнаем как она устроена внутри.
Урок 10 - Исключения
Довольно часто бывает нужно как-то отреагировать на ошибки времени выполнения программы и другие возможные проблемы — исключения отличный выбор, который очень часто используется в С++. В этому уроке подробно познакомимся с исключениями, а также с популярными ошибками во время их использования.
Урок 11 - Гарантии безопасности исключений
Ошибки в обработке ошибок являются наиболее распространенным источником ошибок, поэтому в этом уроке мы будем изучать различные способы того, как и в каких случаях стоит обрабатывать исключения в программах.
Урок 12 - Дружественные функции и классы
В С++ есть такой механизм, который позволяет функции или классу иметь доступ к закрытым частям другого класса при помощи «дружественности». В этом уроке изучим эту концепцию, а также рассмотрим ряд проблем, к которым приводит злоупотребление этой концепцией.
Урок 13 - Перегрузка операторов
Перегрузка операторов позволяет определить действия, которые будет выполнять оператор для определенных вами типов данных. Данная концепция используется достаточно широко, поэтому ей был отведен отдельный урок.
Урок 14 - Шаблоны и метапрограммирование
С++ особенный язык, так как на нем можно писать программы, которые порождают другие программы как результат своей работы... Звучит как магия, но название этой магии — метапрограммирвоание с использованием шаблонов. В этом уроке постараемся разобраться с основами этой парадигмы.
Урок 15 - Основные паттерны проектирования
Паттерны проектирования описывают типичные способы решения часто встречающихся проблем при проектировании программ, поэтому знать наиболее часто используемые паттерны просто необходимо.
Урок 16 - SOLID
При создании программ использование принципов SOLID способствует созданию такой системы, которую будет легко поддерживать и расширять в течение долгого времени, поэтому в этом уроке подробно разберем эти самые принципы.
Урок 17 - move семантика
В С++ 11 версии появилась очень важная возможность под названием move семантика, при которой компилятор может убрать ненужные вызовы конструктора копирования и деструктора. В этом уроке уроке подробно познакомимся с этой возможностью, а также узнаем, что такое lambda функции.

Модуль 4 - STL
Урок 1 - pair и tuple
В стандартной библиотеке достаточно много различных инструментов и средств, которые упрощают повседневную жизнь разработчика. В этом уроке мы с вами разберём такие инструменты как pair и tuple.
Урок 2 - any, variant и optional
В стандартной библиотеке достаточно много различных инструментов и средств, которые упрощают повседневную жизнь разработчика. В этом уроке мы с вами разберём такие инструменты как any, variant и optional.
Урок 3 - Контейнеры: vector и list
Наверное, это самые часто используемые контейнеры в программировании, поэтому знать о них нужно практически все. В этом уроке разберём эти контейнеры очень подробно, а также порешаем ряд алгоритмических задач с использованием этих контейнеров.
Урок 4 - Контейнеры: stack и queue
Данные контейнеры являются четко специализированными и используются в особых случаях, поэтому необходимо знать о них. В этом уроке разберём эти контейнеры очень подробно, а также порешаем ряд алгоритмических задач с использованием этих контейнеров.
Урок 5 - Контейнеры: deque
Достаточно редко встречается в программах данный контейнер, но знать его нужно из-за того, что существует ряд проблем, которые можно очень просто решить, используя этот контейнер. В этом уроке разберём этот контейнер очень подробно, а также порешаем ряд алгоритмических задач с использованием этого контейнера.
Урок 6 - Контейнеры: map и set
Поиск в упорядоченном наборе данных следует делать, конечно же, с использованием этих контейнеров. Такой вид поиска встречается очень часто, поэтому знать о нем и об использовании этих контейнеров нужно достаточно много. В этом уроке разберём эти контейнеры очень подробно, а также порешаем ряд алгоритмических задач с использованием этих контейнеров.
Урок 7 - Контейнеры: unordered_map и unordered_set
Поиск в неупорядоченном наборе данных следует делать, конечно же, с использованием этих контейнеров. Такой вид поиска встречается очень часто, поэтому знать о нем и об использовании этих контейнеров нужно достаточно много. В этом уроке разберём эти контейнеры очень подробно, а также порешаем ряд алгоритмических задач с использованием этих контейнеров.
Урок 8 - Итераторы
Практически вся библиотека строится на концепции итераторов, они там используются практически везде, поэтому знать их и понимать, как их использовать обязан каждый С++ разработчик. На данном занятии познакомятся с итераторами, а также попробуем их реализовать самостоятельно.
Урок 9 - Основные алгоритмы
В программах очень часто приходится что-то искать или фильтровать или считать, так или иначе это наиболее популярные операции, которые были реализованы в стандартной библиотеке. Нам с вами теперь только осталось научиться ими пользоваться.
Урок 10 - Умные указатели
В стандартной библиотеке есть много реализаций идиомы RAII, в частности для управления памятью были реализованы различные виды умных указателей. В этом уроке мы разберём все виды умных указателей, а также перепишем их самостоятельно, чтобы подробно разобраться с тем, как они работают.
Дополнительно
+ 1 проект в портфолио (напишем файловый сервер)
 
Зарегистрируйтесь , чтобы посмотреть скрытый авторский контент.
Похожие складчины
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование

Войдите или зарегистрируйтесь, чтобы комментировать и скачивать складчины!

Учетная запись позволит вам участвовать в складчинах и оставлять комментарии

Регистрация

Создайте аккаунт на форуме. Это не сложно!

Вход

Вы уже зарегистрированы? Войдите.

Сверху