Pull to refresh

Comments 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 проектом, наличие сертификатов этому никак не мешает.
UFO just landed and posted this here
Снижаются баллы, получаемые за задания.
UFO just landed and posted this here

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


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

Проходил у них курс про 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, спутал с примером в видео.

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