Що нового?

Придбаний Модульная программа: С++ Базовый курс и C++ Управление памятью (повтор)

Інформація про покупку
Тип покупки: Складчина
Ціна: 11334 ГРН
Учасників: 0 з 2
Організатор: Відсутній
Статус: Набір учасників
Внесок: 5893.7 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Модульная программа: С++ Базовый курс и C++ Управление памятью (повтор)

С++ от человека из Яндекса
Преподаватель:

Давыдов Семен Викторович
Репетитор программирования и информатики.

Образование: МГТУ им. Баумана, факультет информатики и систем управления, магистр техники и технологии по направлению «Автоматизация и управление» (2009 г.).
Опыт преподавания – 1 год (Школа программирования, курс C++, управление памятью).

Презентация С++ Управление памятью



Для кого этот курс
Курс не для новичков. Предполагается довольно уверенное владение основными конструкциями языка С++, способность самостоятельно запрограммировать хотя бы пузырьковую сортировку или двоичный поиск. Целевая аудитория – junior developer с опытом работы от полугода, который хочет получить серьезный технический скачок, необходимый для дальнейшего развития. Цель курса – этот скачок предоставить.

С++ – язык, который не прячет от программиста машину. Управление памятью – его прямая обязанность, но только так можно построить поисковый движок, написать компьютерную игру, создать веб-сервер, реализовать видеокодек, разработать систему распознавания речи/изображения, которые имеют шанс на выживание. В этом курсе мы учимся водить машину.
Чему вы научитесь
Указатели. Рекурсия. Списки. Деревья. Стандартные контейнеры. Размещение объектов.
Аллокаторы. Обработка исключений. Умные указатели. RAII. Эффекты кэш-памяти. Tips & Tricks.
Три часа хорошего С++ каждую субботу. Много практики. Большие домашние задания, которые надо делать.

Этот курс – не всестороннее освещение С++, а вполне конкретный взгляд на память со стороны языка.
Поэтому не будет: паттернов проектирования, мета-программирования на шаблонах, ООП, разработки графического интерфейса,
сетевого программирования, в общем, всего того, что не имеет отношения к памяти непосредственно.
Программа курса
Урок 1. Зачем нужно управлять памятью.
  • POD-типы
  • Указатели, статические массивы, строки, функции
  • Различные типы передачи параметров
  • sizeof()
  • Арифметика указателей
  • Структуры, объединения, выравнивание, упаковка
  • Динамическое выделение и освобождение памяти
  • Многомерные массивы. std::vector и std::deque.
  • Тест на определение уровня владением С++.
Урок 2. Простота обманчива
  • Циклы
  • Условные переходы
  • Арифметические операции
  • Рекурсия
  • Виды рекурсий
Урок 3. Как обойти список и не заблудиться
  • Списки, деревья
  • std::list, std::set, std::map, hash_set, hash_map
  • Хеширование
  • Хеширование без коллизий
Урок 4. Как распределяется память и когда нас это не устраивает
  • Приоритетная куча
  • Менеджер памяти
  • Аллокаторы
  • Как распределять память самому
Урок 5. Классы и объекты
  • Выделение памяти под объекты
  • Размещение объектов в заранее выделенной памяти
  • Конструктор, списки инициализации, offsetof(), копирующий конструктор, оператор присваивания
  • Ленивое и глубокое копирование
  • Квалификаторы доступа (private, public)
  • Преодоление квалификаторов доступа
  • Виртуальные функции
  • Наследование
  • Срезки
  • Указатель на функцию, указатель на член класса, указатель на статический член класса.
Урок 6. Некоторые алгоритмы.
  • Временная сложность и сложность по памяти
  • Почему std::vector – самый важный контейнер
  • Сортировка и поиск в векторе, в списке, в дереве и в хеше
  • Итераторы
  • Ленивые итераторы
Урок 7. Как бороться с утечками ресурсов без сборщика мусора
  • RAII
  • Умные указатели
Урок 8. Черная магия
  • О физическом устройстве памяти
  • Статическая и динамическая память
  • Формула динамической памяти
  • Регенерация
  • Ассоциативность кэша, кэш-линия, кэш-промах
  • Размещение в регистрах
  • Временная и пространственная локальность
Что вы получаете помимо обучения?

  • Видеозаписи всех уроков курса

  • Методические указания и домашние задания по каждому уроку

  • Доступ на закрытый форум для учеников ШП

  • Сертификат об успешном окончании курса
С++ Базовый курс
Преподаватель

Выпускник МГТУ им. Н.Э. Баумана, главный системный инженер компании,
занимающейся поставками терминалов самообслуживания на рынок России и СНГ.
Александр занимается разработкой нового и доработкой уже существующего
программного обеспечения терминалов, а также его последующей интеграцией
в окружение банковской системы. Работает преимущественно с новым оборудованием
и его программным интерфейсом, который чаще всего реализован на C или C++.
Для кого

Курс предназначен как для новичков в программировании, так и для тех, кто уже владеет другими языками программирования или языком С++, но на недостаточном уровне, а также для тех, кому не хватает ясных представлений об организации хранения и обработки данных в компилируемых компьютерных программах.
С++ является языком общего назначения и, сочетая в себе свойства как высокоуровневых, так и низкоуровневых языков, позволяет решать самый обширный круг задач, возникающих в программировании.
Целью курса является заложить основы алгоритмического мышления, научить пользоваться основными концепциями структурного и объектно-ориентированного программирования для решения типичных задач, встающих перед программистом. Курс в достаточно полном объёме знакомит слушателя с возможностями языка С++, заложенными в нём для реализации указанных целей.
Чему вы научитесь
  • проектировать алгоритм для решаемой задачи, в том числе определять необходимый набор классов, функций и переменных;
  • писать многомодульные программы;
  • обрабатывать потоковый ввод, преобразовывать и проверять на корректность текстовые данные, осуществлять вывод данных в требуемом формате;
  • обрабатывать данные на уровне бит, в том числе осуществлять упаковку и простое кодирование данных;
  • разрабатывать структуру классов для решаемой задачи, реализуя принципы модульности, минимальной связанности, разделения интерфейса и реализации.
Примеры программ, которые может писать слушатель после прохождения курса:
  • проверка соответствия открывающих и закрывающих скобок в программе на С++; удаление комментариев из программы на С++; другое простое форматирование и проверка текста;
  • простые игры типа "Крестики-нолики", "Пятнашки" в консольном режиме;
  • извлечение и изменение метаинформации ID3v1-тега mp3-файла;
  • печать дерева подкаталогов и файлов заданного каталога;
  • псевдографическая реализация игры в шахматы для двух игроков.
Программа курса
Переменные и типы данных
    • встроенные типы данных
    • объявление переменных
    • объявления typedef
    • инициализация переменных
    • константные переменные
    • операция sizeof
    • явное и неявное преобразование типов
    • массивы
Операции



    • арифметические операции
    • арифметические выражения
    • операция присваивания
    • приоритет операций
Стандартный ввод/вывод



    • объекты cin и cout
    • операции ввода из потока и вывода в поток
    • полезные функции для потокового ввода и вывода
    • форматирование вывода
    • Управление потоком выполнения программы
    • конструкции ветвления (if-else, switch)
    • конструкции повторения (for, while, do-while)
    • понятие о функциях
Сложные типы данных



    • структуры
    • объявление структур
    • инициализация структур
    • обращение к полям структур
    • перечисления
    • объединения
Побитовые операции



    • двоичное представление целых чисел
    • побитовые операции сложения, умножения, инверсии, исключающего "или"
    • битовые маски
    • упакованные данные
Указатели и массивы. Динамически выделяемая память



    • статические массивы: объявление, указание размера, инициализация
    • обращение к несуществующим элементам массива
    • указатель
    • операции взятия адреса и разыменования
    • адресная арифметика
    • связь массивов и указателей
    • динамическое выделение памяти: операции new/new[] и delete/delete[]
    • утечки памяти
    • Си-строки как особый вид массивов
    • многомерные статические и динамические массивы
    • динамические структуры данных
Функции



    • передача параметров в функцию: по значению и через указатель
    • передача в функцию массивов
    • константные параметры
    • ссылки
    • передача параметров по ссылке
    • возвращаемое значение: void, указатель, ссылка
    • рекурсия
    • указатель на функцию
    • массивы функций
    • функция в качестве аргумента другой функции
    • перегрузка функций
Работа с файлами



    • чтение/запись в текстовом режиме
    • ввод: посимвольный, по словам, построчный
    • чтение/запись в бинарном режиме
    • перенаправление стандартного ввода и вывода
Классы



    • поля и методы
    • конструкторы и деструкторы
    • модификаторы доступа
    • инкапсуляция
    • статические члены и методы класса
    • константные методы
    • инициализация объектов класса
    • списки инициализации
    • класс std::string стандартной библиотеки C++
Наследование, полиморфизм



    • наследование, типы наследования
    • последовательность вызова конструкторов и деструкторов
    • абстрактные классы
    • переопределение методов базового класса
    • обращение к методам базового класса
    • виртуальные методы
    • виртуальный деструктор
    • полиморфизм
    • специфичное для С++ приведение типов
Перегрузка



    • перегрузка операций +, +=, [], >>, **, ==, * и др. для своих типов данных
Обобщённое программирование



    • шаблонные функции
    • шаблонные классы
Предлагаю приобрести модульную программу: С++ Базовый курс и С++ Управление памятью.
Стоимость 17000 руб. Экономия 1940 руб.
Продажник
Скрытое содержимое.
С++ Управление памятью
С++ Базовый курс http://proglive.ru/courses/cpp1
 
Угорі