Мы продолжаем запускать курсы на платформе Stepic. И сегодня делимся с вами очередной новостью: 23 августа был запущен курс по углубленному программированию на языках C/C++. Продолжительность курса чуть больше двух месяцев. Это прекрасная возможность расширить знания и получить новый опыт в условиях, когда на очные занятия просто нет времени.
В основу как лекционной, так и практической части курса положены программы Технопарка и Техносферы — наших образовательных проектов, организованных совместно с МГТУ им. Н.Э. Баумана и МГУ им. М.В. Ломоносова. Обе программы успешно реализуются в очном формате уже несколько лет, а их выпускниками стали более 300 студентов. Все эти годы основной акцент в обучении делается на программной архитектуре, а также вопросах надежности, безопасности и переносимости исходного кода.
Впрочем, онлайн-курс ориентирован не только на студентов, но и на зрелых специалистов, которые владеют синтаксисом языка, имеют за плечами как минимум один проект и хотят углубить или систематизировать свои знания. Для быстрой оценки текущего уровня подготовки участникам курса в первом же модуле будут предложены две несложные задачи, решение которых займет от 50 до 100 строк в каждой.
Однако основной «фишкой» курса, конечно, являются не задачи. Каждому участнику курса предстоит самостоятельно разработать простой — до 3000–5000 строк кода — проект на языке C++. Предметная область разработки, как и стек применяемых технологий специально не оговариваются: все творческие решения в рамках курса принимаются теми, кто его изучает. В ходе реализации поставленных задач участники могут использовать любые фреймворки или библиотеки, а результатом работы могут становиться не только традиционные мобильные или настольные приложения, но и решения для носимой электроники или серверные части web-сайтов.
Онлайн-курс содержит четыре модуля, каждый из который открывается последовательно: для того чтобы вам стал доступен следующий модуль, необходимо набрать минимальное количество баллов за каждый из предыдущих. По мнению команды курса, это дисциплинирует участников и приближает происходящее к формату очных занятий. В курсе имеются мягкие и жесткие дедлайны: при медленном прохождении курса баллы будут снижаться.
Модули курса сгруппированы в 10 уроков, не считая приветствия и заключения. В ходе каждого из уроков участникам предстоит отвечать на вопросы текущего контроля знаний. Для этого в каждый урок введены 5 вопросов с выбором одного или нескольких вариантов ответа. Средний объем видеоматериалов каждого урока составляет около 100 минут.
Преподаватель курса — Алексей Петров, эксперт-практик в области информационного и программного обеспечения автоматизированных систем и языков программирования высокого уровня.
Регистрация на курс доступна по ссылке.
Комментарии (40)
segment
24.08.2016 17:59+2Не очень понятно, что подразумевается под «углубленным» изучением, какие вопросы будут подниматься? Есть ли более детальное описание разделов?
Mountwalker
25.08.2016 16:43Описание разделов есть на странице курса на (под кнопкой «поступить»).
По паре абзацев по каждому разделу написано еще здесь.segment
25.08.2016 17:23Ну вот «Организация и использование оперативной памяти», что под этим подразумевается? Что является углубленным изучением то в курсе?
claygod
24.08.2016 18:03+2В названии фигурирует С/С++, однако похоже, что речь идёт скорее о С++
Если не сложно, добавьте абзац о Си-составляющей.azsx
24.08.2016 18:12Судя по всему С идет первым разделом. части — организация работы с оперативной памятью (2 части) и основы многопоточного программирования. Затем идет С++. ООП, шаблоны классов, функциональное программирование, boost, проектирование ООП, идиоматика, рефакторинг, заключение. До тестов пока не дошел, вместо тестов вопросики.
myxo
24.08.2016 19:51Неужели все проекты просмотрят? Какова там статистика людей доходящих до конца курса?
x_sourer
24.08.2016 21:56+1На Stepic его тоже можно найти, но чтобы поступить нужен профиль на it.mail.ru
4 модуля, 12 уроков:
1. Углубленное программирование на языке C
2. Объектная модель языка C++. Обобщенное программирование
3. Библиотеки промышленной разработки
4. Шаблоны проектирования. Основы промышленной разработки
gorodnev
24.08.2016 22:51+1Проходил «Многопоточное программирование на С/С++» от того же mail.ru. Мне понравилось, вспомнил забытый UNIX API, прояснил некоторые моменты, получил море удовольствия с отлаживанием решений. Этот курс для меня тоже интересен, но вряд ли найду время. Да и применять полученные знания на практике мне вряд ли придется :(
monah_tuk
26.08.2016 13:12+1Правда тот курс стоило бы назвать "Асинхронное программирование на ...". И подача материала, ИМХО, какая-то слабая: видео приходилось ускорять, рвалось на полуслове, зачем-то написание кода в прямом эфире из головы с поиском ошибок, при этом была ситуация с корраптом, который так и не был решён :) Ещё была пачка замечаний, часть из них в отзывах и комментариях оставлено точно было, но конкретика уже выветрилась. Хотя, быть может от того, что это область моих интересов и, частично, профессиональной деятельности, плюс проходился курс спортивного интереса ради, то и придирок родилось много :)
JIghtuse
29.08.2016 07:36Поддержу, тот курс не соответствует названию. Из C++ там только первая неделя и немного boost где-то в конце. "Многопоточное" в последние несколько недель, до этого курс по UNIX. Лекции адски нудные: переписывание манов, компиляция ручным вызыванием gcc, исправление ошибок, отсутствие пояснений к некоторым кускам кода. Схожий по материалу курс от Computer Science Center в разы интереснее (и называется правильно).
Полистал "углублённое программирование" — на вид поинтереснее, хотя что именно углублено непонятно.
32bit_me
25.08.2016 05:07Выдаётся ли какой-либо сертификат по окончании курсов?
monah_tuk
26.08.2016 13:14Кстати, а как вы планируете их использовать? Понятно, что устраиваясь в mail.ru они, быть может, какой-то вес и будет иметь, но, к.м.к, больше нигде оно особо и не котируются.
32bit_me
26.08.2016 13:46При трудоустройстве полезны любые сертификаты. HR их очень любят.
monah_tuk
26.08.2016 14:02Главное не запутаться и не принести сертификат от Mail.ru в Яндекс и наоборот :-) А по сути, это наверное играет роль, когда карьерный путь только начинается. В моём случае к началу карьеры было уже немного Open Source, для трамплина этого оказалось достаточно. А потом уже можно обращаться к предыдущему опыту и участию в проектах.
32bit_me
26.08.2016 14:091. В Яндекс меня не возьмут при всём желании, и я туда даже не стану соваться.
2. У меня не начало карьеры.
3. У меня есть опыт работы с open-source проектом, наличие сертификатов этому никак не мешает.
ivanych
25.08.2016 14:10Там указаны некие дедлайны по каждому модулю. А что будет, если не уложиться в дедлайн?
Mountwalker
25.08.2016 17:11Снижаются баллы, получаемые за задания.
ivanych
25.08.2016 17:25Но дедлайны указаны конкретными датами. Если начать за три дня до дедлайна, это сразу гарантия низких баллов и непрохождения?
monah_tuk
26.08.2016 13:17А вы сначала пробегитесь по задачам. Скорее всего вы сможете часть решить без предварительного просмотра лекций. Тем паче, что некоторые вопросы всё равно требуют обращения к сторонней литературе и в лекциях не освещены. Первую задачу на программирование вообще можно решать без оглядки на теорию в видео.
Собственно лекции потом по мере возможностей посмотрите.
pastuh9090
25.08.2016 16:42+1Проходил у них курс про Web-разработку python, Django — очень понравился, набрал 96 балов, временами бывали сбои, но ребята хорошую идею реализуют и развивают, стараются как можно больше делать курс интерактивным, задействуют git и виртуальные системы. Уже зарегистрировался, интересно, что будет в новом курсе.
P.S. из пожеланий разработчикам, хотелось бы что бы видео можно было сразу скачать на весь урок, а лучше часть, что бы смотреть целиком и понимать картину в целом, без перерывов на паузы.
Alexey_VL
25.08.2016 16:43Stepik нынче через «k» правильно писать — у них тоже ребрендинг прошел:D Продвинутых курсов по программированию на степике не хватает. Спасибо.
Agonee
25.08.2016 16:45Узнал много нового, например, что инт в памяти занимает 128байт. На 6:50 минуте
HolyBlackCat
27.08.2016 20:37Я очень надеюсь, что это был сарказм и намек на неточную формулировку текста на слайде...
Agonee
28.08.2016 07:08Не только на слайде, но и в тексте который диктор читает.
myxo
28.08.2016 09:30Не услышал где там лектор говорит про размер типа, речь идет о выравнивании, вы лекцию вообще смотрели? В чем ваша претензия?
Agonee
29.08.2016 06:11что будет, если выравнять 4байтную переменную на границу 64байт? Сколько она по вашему занимать места станет? В 64 байтах нужно 16ть таких хранить.
monah_tuk
29.08.2016 09:47Её адрес выравняется по позиции, кратной 128. Дырку при этом никто не запрещает компилятору использовать как угодно, особенно если есть слова без жёсткого требования к выравниванию. В памяти же она как занимала 4 байта — так и будет. Более интересно применение в структурах, но с учётом того, что это расширение компилятор о каком-то стандартном поведении говорить не приходится, а вот так это может выглядеть:
ниже код#include <iostream> #include <cstdint> #include <cstddef> using namespace std; using al64_uint32_t = uint32_t __attribute__((aligned(64))); struct Foo { uint32_t a; uint32_t b; uint32_t c; uint32_t d; }; struct Bar { uint32_t a; uint32_t b; al64_uint32_t c; uint32_t d; }; int main() { cout << sizeof(al64_uint32_t) << endl; cout << sizeof(Foo) << endl; cout << sizeof(Bar) << endl; cout << "a: " << offsetof(Bar, a) << endl; cout << "b: " << offsetof(Bar, b) << endl; cout << "c: " << offsetof(Bar, c) << endl; cout << "d: " << offsetof(Bar, d) << endl; return 0; }
А результат вполне может оказаться таким:
4 16 128 a: 0 b: 4 c: 64 d: 68
обратите внимание, что тут компилятор решил, что сама структура должно быть выравнена по 64 байтам и расположение полей такое, что памяти потребуется 128 байт, при этом дырки эффективно используются, что бы разместить остальные элементы. Размер же самого типа никак не изменился.
azsx
Видимо имею характер отличный от многих, никогда не понимал и не понимаю как можно научиться программированию на видео курсах. С интересом попробую.
Не совсем понятно, почему на первом же курсе имеются вопросы, вместо видео.
vyahhi
Вот вы и ответили последним своим предложением на первое.