Школа Программирования | C++ Базовый курс (2011) [PCRec]
Издатель: Школа Программирования
Автор: Алексей Захаренков
Название: C++ Базовый курс
Год выпуска: 2011
Жанр: Программирование
Язык: русский
Продолжительность: 14:55:35 (основной курс) + 03:01:20 (мини-курс)
Качество видео: PCRec
Видеокодек: MPEG4 (H.264)
Битрейт видео: ~50~100 Kbps VBR
Размер кадра: 800x600 15fps
Аудиокодек: AAC
Битрейт аудио: 53 Kbps СBR 44100 Hz
Описание:Курс предназначен как для новичков в программировании, так и для тех, кто уже владеет другими языками программирования или языком С++, но на недостаточном уровне, а также для тех, кому не хватает ясных представлений об организации хранения и обработки данных в компилируемых компьютерных программах.
С++ является языком общего назначения и, сочетая в себе свойства как высокоуровневых, так и низкоуровневых языков, позволяет решать самый обширный круг задач, возникающих в программировании.
Целью курса является заложить основы алгоритмического мышления, научить пользоваться основными концепциями структурного и объектно-ориентированного программирования для решения типичных задач, встающих перед программистом. Курс в достаточно полном объёме знакомит слушателя с возможностями языка С++, заложенными в нём для реализации указанных целей.
Раздача включает примеры кода и презентации к видео. В раздачу также добавлен мини-курс по основам С++ того же автора.
Программа курса:
Переменные и типы данных
- встроенные типы данных
- объявление переменных
- объявления typedef
- инициализация переменных
- константные переменные
- операция sizeof
- явное и неявное преобразование типов
- массивы
Операции
- арифметические операции
- арифметические выражения
- операция присваивания
- приоритет операций
Стандартный ввод/вывод
- объекты cin и cout
- операции ввода из потока и вывода в поток
- полезные функции для потокового ввода и вывода
- форматирование вывода
- управление потоком выполнения программы
- конструкции ветвления (if-else, switch)
- конструкции повторения (for, while, do-while)
- понятие о функциях
Сложные типы данных
- структуры
- объявление структур
- инициализация структур
- обращение к полям структур
- перечисления
- объединения
Побитовые операции
- двоичное представление целых чисел
- побитовые операции сложения, умножения, инверсии, исключающего "или"
- битовые маски
- упакованные данные
Указатели и массивы. Динамически выделяемая память
- статические массивы: объявление, указание размера, инициализация
- обращение к несуществующим элементам массива
- указатель
- операции взятия адреса и разыменования
- адресная арифметика
- связь массивов и указателей
- динамическое выделение памяти: операции new/new[] и delete/delete[]
- утечки памяти
- Си-строки как особый вид массивов
- многомерные статические и динамические массивы
- динамические структуры данных
Функции
- передача параметров в функцию: по значению и через указатель
- передача в функцию массивов
- константные параметры
- ссылки
- передача параметров по ссылке
- возвращаемое значение: void, указатель, ссылка
- рекурсия
- указатель на функцию
- массивы функций
- функция в качестве аргумента другой функции
- перегрузка функций
Работа с файлами
- чтение/запись в текстовом режиме
- ввод: посимвольный, по словам, построчный
- чтение/запись в бинарном режиме
- перенаправление стандартного ввода и вывода
Классы
- поля и методы
- конструкторы и деструкторы
- модификаторы доступа
- инкапсуляция
- статические члены и методы класса
- константные методы
- инициализация объектов класса
- списки инициализации
- класс std::string стандартной библиотеки C++
Наследование, полиморфизм
- наследование, типы наследования
- последовательность вызова конструкторов и деструкторов
- абстрактные классы
- переопределение методов базового класса
- обращение к методам базового класса
- виртуальные методы
- виртуальный деструктор
- полиморфизм
- специфичное для С++ приведение типов
Перегрузка
- перегрузка операций +, +=, [], >>, <<, ==, * и др. для своих типов данных
Обобщённое программирование
- шаблонные функции
- шаблонные классы
О преподавателе
Алексей Захаренков - выпускник Московского физико-технического института с 9-летним преподавательским стажем. Последние 6 лет преподаёт в МФТИ дисциплины по Computer Science: языки С/С++, объектно-ориентированное программирование, архитектуру ПК и язык ассемблера, базы данных, алгоритмы и структуры данных. Сертифицированный специалист по Oracle (Oracle Certified Professional). Среди прочего участвовал в переводе документации по СУБД Oracle на русский язык. Текущая область интересов: разработка сложных программно-вычислительных научно-ориентированных комплексов для моделирования физических процессов, а также веб-интерфейсов к ним; разработка CRM-систем и веб-интерфейсов к ним.
MediaInfo:
GeneralFormat : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
Overall bit rate : 111 Kbps
VideoID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile :
High@L4.0Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Bit rate mode : Variable
Bit rate : 44.5 Kbps
Width : 800 pixels
Height : 600 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 15.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.006
AudioID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Bit rate mode : Constant
Bit rate : 53.6 Kbps
Channel count : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Скриншоты:
Время раздачи: 24/7 до первых 3 скачавших, далее по возможности