Открыто

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

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 2 июн 2022.

Цена: 98900р.-93%
Взнос: 6745р.

Основной список: 16 участников

Резервный список: 1 участников

  1. 2 июн 2022
    #1
    Toxich
    Toxich ЧКЧлен клуба
    Курс Разработчик C++ [2022]
    codefactory.school
    Владимир Балун


    Вы освоите инструменты программирования: 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 проект в портфолио (напишем файловый сервер)

    Примечание: тариф Профессионал

    Продажник
     
    1 человеку нравится это.
  2. Последние события

    1. pomeranec77
      pomeranec77 не участвует.
      3 мар 2024
    2. wgann
      wgann участвует.
      29 фев 2024
    3. diklonius
      diklonius участвует.
      26 фев 2024
    4. rastorguevamarina
      rastorguevamarina участвует.
      12 янв 2024

Поделиться этой страницей