Уроки C++ для начинающих: бесплатные видео для самостоятельного обучения
Бьерн Страуструп, работающий в фирме Bell Labs, адаптируя язык C под личные нужды, провел ряд усовершенствований, ставших первыми шагами на пути к созданию нового ЯП - C++ (или просто «плюсы»). Несмотря на критику, популярность си-плюс-плюс высокая, а изучение открывает широкие перспективы. Его используют в создании операционных систем, игр, драйверов устройств и других направлениях.
В статье собраны 10 бесплатных видео уроков, которые помогут разнообразить учебный процесс, познакомиться с новыми преподавателями, детальнее разобраться в тонкостях языка программирования C++.
Введение
На занятии Илья Мещерин коснется типов данных, переменных, функций, литералов, выражений, операторов, идентификаторов, ключевых слов. Материал вводный, рассчитан на студентов, начинающих обучение. Слушатели узнают о неявных конверсиях типов, различиях объявления функции и определения. Илья учился в школе с математическим уклоном, дважды побеждал на областной олимпиаде по информатике, закончил бакалавриат и магистратуру факультета инноваций и высоких технологий Московского физико-технического института (кафедра дискретной математики).
Основы с Ильей Мещериным
Вводная лекция Ильи Мещерина – разработчика в Яндекс.Такси, куратора математического отделения Олимпиадных школ МФТИ, ведущего турниров «Что? Где? Когда?» (Кубок Физтех), преподавателя на 1-м курсе ФИВТ МФТИ. В видео речь пойдет об операторах (базовых, тернарном, присваивания, сравнения), инкрементировании, увеличивающем переменную и обратной операции, называемой декремент. Во второй части занятия студенты познакомятся с управляющими конструкциями, разновидностями ошибок (compile-time error, runtime error), undefined behaviour.
Модификаторы типов
Ознакомившись с вводной частью, можно приступать к более глубокому погружению в язык. В этом видезанятии учитель предлагает рассмотреть функции, указатели на них, перезагрузку, аргументы по умолчанию. Во второй части записи речь пойдет об операторах new и delete, ссылках, константах. Благодаря живой интересной подаче, материал хорошо усваивается, а ключевые моменты прописываются на доске – удобно конспектировать вместе с аудиторией.
Сравнение
Тимофей Хирьянов занимает должность преподавателя на кафедре информатики МФТИ и в онлайн-школе «Фоксфор», является экспертом московской предметной комиссии ГИА-11 (информатика, ИКТ), ассоциативным членом Фонда свободного программного обеспечения. В этом онлайн-уроке Тимофей расскажет историю возникновения «плюсов», проведет сравнение с чистым С, рассмотрит их слабые и сильные стороны, сначала в теории, затем перейдет к демонстрации особенностей и синтаксических возможностей Си++ на практике.
Статическая и динамическая память
Лекция Евгения Линского, где он разберет тему статической и динамической памяти. Слушатели узнают, что называют глобальной переменной, какие проблемы возникают при ее использовании, в каком случае следует прибегнуть к заголовочному файлу, чем отличаются ссылки от указателей, как происходит работа со стеком, что такое push, pop, memory leak, сколько есть способов выделить место под двухмерные массивы. Рассматриваемые примеры лектор пишет на доске, что облегчает восприятие и упрощает конспектирование.
Rvalue references
Дмитрий Прокопцев поговорит о важной составляющей Си++ — R-ссылках (rvalue references). В видео рассматриваются основные правила работы со ссылками и новых концепциях языка, имеющими с ними связь (перемещение классов, перенаправление вызовов). Дмитрий – разработчик и опытный преподаватель. Он получил высшее образование в Московском государственном техническом университете имени Н.Э. Баумана, имеет опыт работы в Google и «Яндекс», вел семинары Московском физико-техническом институте, занимался программированием в ИТМиВТ им. С.А. Лебедева РАН и МГТУ им. Н.Э. Баумана.
Стандартная библиотека
Запись живой лекции, где Евгений Линский разберет тему стандартной библиотеки, делая упор на ввод/вывод. Он приведет параметры и особенности printf, scanf, fprintf, fopen, fgets, sscanf, поговорит о текстовых и двоичных файлах и возможных ошибках. Вся информация прописывается на доске, что позволяет вместе со студентами делать записи в конспект. Евгений является кандидатом технических наук, доцентом кафедры Комплексной защиты информации СПб ГУАП. К сфере его деятельности относится использование прикладной математики для решения практических задач.
Работа с памятью. Выполнение программ
Занятие Валерия Лесина, технического директора «СимЛабс», руководителя НИРов в CS центре и Академическом Университете. В приведенном видеоуроке он разберет устройство памяти процесса, коснется разыменования, массивов, арифметики указателей, констант. Наглядная демонстрация материалов на экране облегчает восприятие и запоминание, дает возможность записать важную информацию в тетрадь или сделать скриншот. Ученики поймут, что собой представляет сегмент кода, данных и стека, обычная переменная, в чем отличия Гарвардской архитектуры и архитектуры фон Неймана.
Семантика перемещения
Автор рассмотрит вопрос излишнего копирования, перемещающего конструктора и оператора присваивания, расскажет о перемещающих методах с использованием swap, перегрузке с lvalue/rvalue, приведет пример unique_ptr. А. Смаль является координатором Академии современного программирования, младшим научным сотрудником лаборатории математической логики ПОМИ РАН, читает лекции в рамках нескольких курсов, которые можно найти в сети Интернет, преподает в магистратуре JetBrains в ИТМО. К области его научных интересов относят теорию сложности, алгоритмы, криптографию.
Функциональное программирование
Доклад А. Гранина – спикера, исследователя, писателя – на конференции C++ Siberia, где поднимался вопрос развития языка в будущем. Выступление Александра на тему функционального программирования окажется полезным для практиков, интересующихся переосмыслением написания высокоуровневого кода. Первую часть своей речи спикер отвел на философские рассуждения, во второй рассмотрел некоторые элементы на примере задач, в третьей рассказал о более сложных концепциях, а в заключение объяснил сложности применения. Александр является автором «Functional Design and Architecture», регулярно участвует в конференциях, исследует новые подходы, разрабатывает showcase-проекты.
Составляя план обучения, следует начинать с основных принципов и заканчивать более сложными примерами. Выстроить расписание самостоятельно сложно, особенно на первом этапе, поэтому целесообразно прибегнуть к уже готовым курсам. Платные и бесплатные версии легко найти в Интернете. Стоит обратить внимание на специальную литературу, помогающую дополнять получаемые на уроках знания. Чаще всего учителя советуют почитать следующих авторов: Бьярне Стауструп, Брюс Эккель, Стивен Прата, Герберт Шилдт, Роберт Лафоре, Скот Мейерс.
Смотрите также:
29 ноября 2022