Как стать автором
Обновить

Комментарии 42

Видимо имею характер отличный от многих, никогда не понимал и не понимаю как можно научиться программированию на видео курсах. С интересом попробую.
Не совсем понятно, почему на первом же курсе имеются вопросы, вместо видео.
Вот вы и ответили последним своим предложением на первое.
Не очень понятно, что подразумевается под «углубленным» изучением, какие вопросы будут подниматься? Есть ли более детальное описание разделов?
Описание разделов есть на странице курса на (под кнопкой «поступить»).
По паре абзацев по каждому разделу написано еще здесь.
Ну вот «Организация и использование оперативной памяти», что под этим подразумевается? Что является углубленным изучением то в курсе?
В названии фигурирует С/С++, однако похоже, что речь идёт скорее о С++
Если не сложно, добавьте абзац о Си-составляющей.
Судя по всему С идет первым разделом. части — организация работы с оперативной памятью (2 части) и основы многопоточного программирования. Затем идет С++. ООП, шаблоны классов, функциональное программирование, boost, проектирование ООП, идиоматика, рефакторинг, заключение. До тестов пока не дошел, вместо тестов вопросики.
Присоединяюсь. И еще интересует глубина вопроса.
Бесплатно.
Неужели все проекты просмотрят? Какова там статистика людей доходящих до конца курса?

Я только не понял причем тут Stepic, т.к. ссылка идет на Mail.ru.

Stepic (теперь уже Stepik) — это платформа для онлайн курсов. Сам курс создан it.mail.ru.
Сам курс размещен на Stepik
На Stepic его тоже можно найти, но чтобы поступить нужен профиль на it.mail.ru
4 модуля, 12 уроков:
1. Углубленное программирование на языке C
2. Объектная модель языка C++. Обобщенное программирование
3. Библиотеки промышленной разработки
4. Шаблоны проектирования. Основы промышленной разработки
Проходил «Многопоточное программирование на С/С++» от того же mail.ru. Мне понравилось, вспомнил забытый UNIX API, прояснил некоторые моменты, получил море удовольствия с отлаживанием решений. Этот курс для меня тоже интересен, но вряд ли найду время. Да и применять полученные знания на практике мне вряд ли придется :(

Правда тот курс стоило бы назвать "Асинхронное программирование на ...". И подача материала, ИМХО, какая-то слабая: видео приходилось ускорять, рвалось на полуслове, зачем-то написание кода в прямом эфире из головы с поиском ошибок, при этом была ситуация с корраптом, который так и не был решён :) Ещё была пачка замечаний, часть из них в отзывах и комментариях оставлено точно было, но конкретика уже выветрилась. Хотя, быть может от того, что это область моих интересов и, частично, профессиональной деятельности, плюс проходился курс спортивного интереса ради, то и придирок родилось много :)

Поддержу, тот курс не соответствует названию. Из C++ там только первая неделя и немного boost где-то в конце. "Многопоточное" в последние несколько недель, до этого курс по UNIX. Лекции адски нудные: переписывание манов, компиляция ручным вызыванием gcc, исправление ошибок, отсутствие пояснений к некоторым кускам кода. Схожий по материалу курс от Computer Science Center в разы интереснее (и называется правильно).


Полистал "углублённое программирование" — на вид поинтереснее, хотя что именно углублено непонятно.

Выдаётся ли какой-либо сертификат по окончании курсов?
Да, электронный сертификат от Stepik.org и Mail.ru
Да, сертификат Mail & Stepik

Кстати, а как вы планируете их использовать? Понятно, что устраиваясь в mail.ru они, быть может, какой-то вес и будет иметь, но, к.м.к, больше нигде оно особо и не котируются.

При трудоустройстве полезны любые сертификаты. HR их очень любят.

Главное не запутаться и не принести сертификат от Mail.ru в Яндекс и наоборот :-) А по сути, это наверное играет роль, когда карьерный путь только начинается. В моём случае к началу карьеры было уже немного Open Source, для трамплина этого оказалось достаточно. А потом уже можно обращаться к предыдущему опыту и участию в проектах.

1. В Яндекс меня не возьмут при всём желании, и я туда даже не стану соваться.
2. У меня не начало карьеры.
3. У меня есть опыт работы с open-source проектом, наличие сертификатов этому никак не мешает.
НЛО прилетело и опубликовало эту надпись здесь
Снижаются баллы, получаемые за задания.
НЛО прилетело и опубликовало эту надпись здесь

А вы сначала пробегитесь по задачам. Скорее всего вы сможете часть решить без предварительного просмотра лекций. Тем паче, что некоторые вопросы всё равно требуют обращения к сторонней литературе и в лекциях не освещены. Первую задачу на программирование вообще можно решать без оглядки на теорию в видео.


Собственно лекции потом по мере возможностей посмотрите.

Проходил у них курс про Web-разработку python, Django — очень понравился, набрал 96 балов, временами бывали сбои, но ребята хорошую идею реализуют и развивают, стараются как можно больше делать курс интерактивным, задействуют git и виртуальные системы. Уже зарегистрировался, интересно, что будет в новом курсе.

P.S. из пожеланий разработчикам, хотелось бы что бы видео можно было сразу скачать на весь урок, а лучше часть, что бы смотреть целиком и понимать картину в целом, без перерывов на паузы.

Stepik нынче через «k» правильно писать — у них тоже ребрендинг прошел:D Продвинутых курсов по программированию на степике не хватает. Спасибо.

Я очень надеюсь, что это был сарказм и намек на неточную формулировку текста на слайде...

Не только на слайде, но и в тексте который диктор читает.
Не услышал где там лектор говорит про размер типа, речь идет о выравнивании, вы лекцию вообще смотрели? В чем ваша претензия?
что будет, если выравнять 4байтную переменную на границу 64байт? Сколько она по вашему занимать места станет? В 64 байтах нужно 16ть таких хранить.

Её адрес выравняется по позиции, кратной 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 байт, при этом дырки эффективно используются, что бы разместить остальные элементы. Размер же самого типа никак не изменился.


Проверить можно на Ideone: http://ideone.com/8um9v1


Ещё интересно как она будет располагаться на стеке: тут многое зависит от возможностей оптимизатора и от наличия/отсутствия зависимости по данным у этой переменной, если зависимости по данным нет, что вполне можно будет дырку заполнить другими данными.

Спасибо за объяснение.
Её адрес выравняется по позиции, кратной 128.

тут я должен был написать 64, спутал с примером в видео.

Будут ли доступны лекции курса отдельно или снято ограничение на разблокировку модулей (новый модуль нельзя начать не набрав определенное количество баллов в предыдущем)? Лекции бы посмотрел с удовольствием, но, к сожалению, совсем нет времени решать практические задания.
Да, снято ограничение на разблокировку модулей.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий