Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 336 сообщений
Cообщения с меткой

обучение онлайн - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

Этапы развития проекта обучения Java: как это было, взгляд изнутри

Пятница, 22 Сентября 2017 г. 08:59 (ссылка)




gkislin


сегодня в 08:59

Разное





Этапы развития проекта обучения Java: как это было, взгляд изнутри











    Здравствуйте! Меня зовут Григорий Кислин, автор и ведущий учебных проектов и стажировок Java. Хотел рассказать с технической точки зрения, как проект жил и развивался. На каждом этапе приходилось выбирть только самые необходимые для текущей работы решения, которые реализовывались по принципу KISS, или, по русски ДУП: Дешево, Удобно и Практично.



    Начало: преподавание в учебном центре



    Все началось с оффлайн преподавания в Санкт-Петербургском платном учебном центре в октября 2013 г. Там провел несколько очных выпусков разработанного мной курса «Практика Java. Разработка Web приложения». Преподавание шло на основе разработки одного большого веб проекта и приходилось решать достаточно тривиальные вещи, например, передача написаного мной кода всем участникам. Пробовались флешки:), скайп, передача файлов по сети. Искалось решение для обновления проекта участниками и отделения моего кода от кода домашних заданий. В конце пришли к очевидному решению — к системе контроля версий, обновлению проекта патчами и выполнению домашних заданий в ветках git. К обучению Java добавилось обучение Git и GitHub, без знания которых жизнь разработчика немыслима. Параллельно преподаванию я разрабатывал учебный проект Java Enterprise (Spring, JPA/Hibernate, REST, ..), основанный на вступительном задании в Toptal.



    Уход в совбодное плавание



    В преподавании хотелось некоторой автономии, например, приводить своих участников на курс с небольшой скидкой и получать за них комиссионные, что не было в планах владельцов центра. В результате переключился на онлайн формат и стал вести разработку проекта на вебинарах самостоятельно. Сделал простенький сайт на Bootstrap, выбрал недорогой хостинг host-food (там же можно недорого купить домен) и прикрутил к сайту php скрипт для рассылки писем: при регистрации на сайте он рассылал 2 письма — мне и участнику. Письма регистрации веб клиент Yandex сортировал в разные папки, откуда я их вставлял в Google Sheets. Письма рассылал несколькими группами (не более 25 адресатов в одном письме).



    Для вебинаров взял платформу Adobe Connect (25 человек в комнате и месяц Trial), общались в группе Skype. Adobe хорошо работает с 2-мя экранами (один для показа, второй рабочий, с заранее подготовленным кодом проекта по занятию) и хорошо записывает у себя в облаке видео вебинара, которое доступно участникам сразу после занятия (надо только не забывать включать запись!). Параллельно скрёб по всем сусекам для набора на первый выпуск Java Enterprise. Запустил его в августе 2014, набралось целых 6 человек!



    Рост вглубь



    Скоро управление учетом и рассылкой стало занимать значительное время и я понял, что нужен собственный сервис рассылки. Пользоваться сторонним сервисом не хотел (автоматическое добавление туда новых пользователей было не намного проще развертывания своего), да и с Spring Boot хотел потренироваться.



    Выбор пал на хостинг AWS с годом! бесплатного пользования. Будте аккуратнее их с бесплатным стеком, через пару недель мне начислили около доллара за то, что не был отключен ежедневный бэкап моего пустого PostgreSQL, и они превысили бесплатные 5 Gb на Amazon S3. А при нажатии кнопки примера деплоя в AWS Elastic Beanstalk он развернул сразу 3 инстанса, что обошлось мне в несколько центов:). В результате остановился на простой конфигурации: EC2 (Amazon Linux AMI), база H2 (понравилась возможность подключения к ней при работающем приложении через запуск TCP сервера) и запуск Spring Boot как JAR. Кстати, при моих нагрузках, бэкап H2 это обычное копирование файла без остановки сервера. Проекту делал push на GitHub, и забирал его через pull на сервере (недавно процесс еще более упростился — делаю push со своего компа прямо на EC2 по ssh, а логи смотрю в Terminal окне IDEA). Шаблоны писем сделал в Thymeleaf с очисткой кэша каждые 3 секунды (полагаю, что это решение лучше, чем его полностью отключить). В результате шаблон на сервере обновляется сразу, передеплой не требуется.



    Почту отправлял через SMTP Yandex (ограничение ~ 500 писем в день, для массовой рассылки необходим заголовок List-Unsubscribe для возможности отписки). Форма регистрации на сайте дергала мой сервис, который сохранял человека в базу, отправлял письмо и показывал результат отправки.



    Вместо админки сделал REST контроллер с базовой авторизацией и поставил Postman c набором заготовленных шаблонов для дерганья REST (рассылка, оплата, ручная регистрация).



    Дальше-больше: ограничения



    500 писем в день стало не хватать, и Yandex стал меня банить. Переключение на запасные email был не лучший вариант и, пошукав, я нашел отличное решение: Amazon Simple Email Service (SES). Единственно, что для нормальной работы с ним надо написать в техподдержку с просьбой снять ограничения, дать сылку на сайт и ответить 3 раза «Да» на вопросы про управление подпиской. В результате я целый год бесплатно рассылал письма и сейчас за них плачу центы (объемы небольшие, ~ 5-7 тыс. писем в месяц).



    Группа Skype, где более 50 человек, становится неудобной для обучения. Мы перешли на Slak, где для каждого урока и каждой темы (например help, отзывы по работе, вакансии) сделали свой канал. Со временем появились каналы подписок RSS, изменений в проекте и пр. Приглашение в Slack также сделал автоматическим через их недокументированное API.



    Следующим ограничением было максимальное количество людей для доступа к папке в Google Drive (отредактированные видео вебинаров храню там): 600 человек. Проблема решилось через предоставления доступа к Google группам и G-Suite Admin SDK для автоматического добавления участников в группу. Пришлось изрядно (дня 3-4) погуглить, чтобы с ним проинтегрироваться. Стоит удовольствие 4 € в месяц за участника (т.к. участник я один, а все остальные — гости, то выходит недорого:)



    Развитие вширь: новые функции (фичи)



    Сайт на host-food стал лишним, логично было его перенести вместе с приложением на AWS. При редизане сайта помогли простые рекомендации от Google, а при его настройке тестирование на скорость загрузки. Например, следуя рекомендации, простое включение Gzip в Ngix подняла оценку скорости загрузки с Good до Excelent.



    Для выдачи партнерами информации я прикрутил к базе универсальный интерфейс (тема отдельной статьи): запросы храню в периодически перезагружаемом проперти-файле, а названия колонок читаю из метаданных запроса. В результате выставление нового запроса с рапортом ничем не отличается от обновления шаблона и также занимает секунды. Причем оживляю его с помощью простого js, которое возвращается как (ужас!) результаты SQL запроса. Например, партнерам по трудоустройству универсальный интерфейс отдает список участников стажировок с возможностью посмотреть информацию по каждому участнику и выгрузку данных в CSV.



    Досточно долго я жил без авторизации вообще. Участник попадал в свой профиль на сайте по ссылке из письма с посоленным хэшем своего email. И только недавно c помощью выпускников (времени самому на все не хватает) добавил авторизацию по OAuth2 через Google и GitHub. Интерфейс задания пароля, его смены и напоминания не потребовался.



    Авторизация позволила сделать профиль «умным»: по каждому проекту (пока их 3, готовлю 4-й), если он уже закончен, предлагается бесплатный повтор, если нет — получение бесплатного вступительного занятия. Также сделал автоматический расчет цены для каждого участника с учетом рефферальной программы и бонусов за участие. Наконец, недавно сделал следующий шаг в автоматизации — прием платежей с сайта (по современному интернет эквайринг). Интергировался с Тиньковым, т.к. счет открывал у них (были условия бесплатного оформления документов, открытия счета и первых 6 месяцев обслуживания для новых ИП). Уже в процессе подключения они добавили ложку дегтя — снизили бесплатный лимит на снятия наличных. Да и сам процесс подключения был непрямолинейным из-за нечеткой документации и задумчивой работы службы эквайринга. Компенсировали это внимательной и профессиональной работой менеджеров по работе с клиентами, так что общее впечатление осталось неплохое.



    Приложение находится в постоянном изменении: пришлось изменить процесс выдачи бесплатных купонов на IDEA при переходе JetBrains на новую политику, настроил подписку с сайта на рассылки в группы VK (см. статью рассылки в ВК), интергируюсь с сервисом поиска разработчиков GetCoder. Кстати, если рассматриваете предложения о работе, заполните у себя в профиле GitHub локацию — это важная информация для HR. Около 2-х лет назад пришлось уйти с основной работы синьором и полностью отдать себя проекту.



    Заранее отвечу на Ваши вероятные вопросы:

    Текущий твой бизнес даёт доход хотя бы на уровне сениорной зарплаты? Не жалеешь о переходе?
    Нет, хотя сейчас получается примерно столько же. У синьора есть потолок: его возможности. А в бизнесе все от тебя зависит, только двигаться надо. Работать приходится много, но зато отдыхать тоже могу, когда хочу (вместе с компом правда:). И работа на себя приносит больше радости и удовлетворения. Особенно когда видишь ее результаты — трудоустроенных выпускников и хорошие отзывы.
    Это не в рубрику «Я пиарюсь»?
    Надеюсь, что нет. Ссылок на себя не давал, писал про историческое развитие проекта и технические решения, которые, надеюсь, кому-то будут полезны.



    Если статья была интересна или полезна, плюсаните. Если нет — напишите замечание. Спасибо за внимание.


    Original source: habrahabr.ru (comments, light).

    https://habrahabr.ru/post/338442/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    Марыся_Семицвет

    Пиджачок для куклы или мишки на подкладке с прорезными карманами

    Четверг, 14 Сентября 2017 г. 16:05 (ссылка)

    Сегодня в свободном доступе появилась запись вэбинара "Пиджачок для куклы или мишки на подкладке с прорезными карманами". Вы узанете, как снять мерки, как построить и промоделировать выкройку, как сделать воротник-шальку, как обработать карман-листочку, как соединить подкладку с верхом, как подшить низ
    Переходите по ссылке и изучайте.
    https://www.youtube.com/watch?v=tjxkuEYrPpQ
    Подпишитесь на мой канал, чтобы не пропустить следующие уроки, которые появятся в свободном доступе. Переходите по ссылке и нажимайте красную кнопку "Подписаться" справа вверху.
    https://www.youtube.com/channel/UCIJECI9ybSZuMrCEV2BH2XQ…
    И если вам не трудно, поделитесь этими ссылками в своих аккаунтах в соцсетях,
    а если трудно, не делитесь )))

    1.
    DSC_8409 (551x700, 511Kb)

    2.
    DSC_8410 (700x577, 566Kb)

    3.
    DSC_8412 (700x574, 595Kb)

    4.
    DSC_8413 (700x463, 554Kb)

    5.
    IMG_20160913_110639 (700x477, 456Kb)

    6.
    IMG_20160913_110641 (700x520, 486Kb)

    7.
    IMG_20160913_110711 (655x700, 646Kb)

    8.
    IMG_20160913_110750 (700x574, 502Kb)

    9.
    IMG_20160913_110759 (700x431, 354Kb)

    10.
    IMG_20160913_110905 (700x351, 265Kb)

    11.
    IMG_20160913_110946 (700x406, 290Kb)

    12.
    IMG_20160913_111020 (700x427, 443Kb)

    Комментарии (0)КомментироватьВ цитатник или сообщество
    Марыся_Семицвет

    Текстильные хитрости в свободном доступе

    Понедельник, 04 Сентября 2017 г. 15:17 (ссылка)

    Сегодня в свободном доступе появилась запись вэбинара "Текстильные хитрости". Вы узанете, как вручную сделать отверстие под шнурок, как сделать прорезную петлю вручную, как сделать воздушную петлю вручную,скорняжный шов вручную, как сделать сборку на ткани удобно и красиво.
    Переходите по ссылке и изучайте.
    https://www.youtube.com/watch?v=HDj93egRdEo

    Подпишитесь на мой канал, чтобы не пропустить следующие уроки, которые появятся в свободном доступе. Переходите по ссылке и нажимайте красную кнопку "Подписаться" справа вверху.

    https://www.youtube.com/channel/UCIJECI9ybSZuMrCEV2BH2XQ…
    И если вам не трудно, поделитесь этими ссылками на своих страницах в соцсетях, а если трудно, не делитесь)))

    1.
    1 (700x387, 222Kb)

    2.
    2 (700x393, 213Kb)

    3.
    3 (700x378, 235Kb)

    4.
    4 (700x393, 236Kb)

    5.
    5 (700x393, 251Kb)

    6.
    6 (700x380, 256Kb)

    7.
    7 (700x393, 252Kb)

    8.
    обложка (700x582, 478Kb)

    Комментарии (0)КомментироватьВ цитатник или сообщество
    Марыся_Семицвет

    Пышные рукава для кукольной (и не только) одежды

    Воскресенье, 03 Сентября 2017 г. 13:33 (ссылка)

    Сегодня в свободном доступе появилась запись вэбинара по моделированию рукава для кукольной (и не только) одежды. Переходите по ссылке и изучайте.
    https://www.youtube.com/watch?v=2mL0xlDnLlg
    Подпишитесь на мой канал, чтобы не пропустить следующие уроки, которые появятся в свободном доступе. Переходите по ссылке и нажимайте красную кнопку "Подписаться" справа вверху.
    https://www.youtube.com/channel/UCIJECI9ybSZuMrCEV2BH2XQ…
    И если вам не трудно, поделитесь этими ссылкамит на своих страничках в соцсетях, а если трудно, не делитесь )))

    1.
    DSC_8401 (700x595, 690Kb)

    2.
    DSC_8402 (700x555, 705Kb)

    3.
    DSC_8403 (700x570, 677Kb)

    4.
    DSC_8404 (600x623, 459Kb)

    5.
    DSC_8405 (700x559, 678Kb)

    6.
    DSC_8407 (600x558, 270Kb)

    Комментарии (0)КомментироватьВ цитатник или сообщество
    Марыся_Семицвет

    Подпишитесь, чтоб не пропустить!

    Четверг, 31 Августа 2017 г. 16:00 (ссылка)

    Пригалашаю всех, кому интересны мои мастер классы по текстильным шарнирным куклам и гардеробу для них, подписаться на мой ютуб-канал, где постепенно появятся абсолютно все мои видеоуроки в свободном доступе. Для этого переходите по ссылке https://www.youtube.com/channel/UCIJECI9ybSZuMrCEV2BH2XQ… и нажмите красную кнопку справа вверху.
    Буду очень благодарна тем, кто опубликует на своих страницах эту ссылочку и порекомендует мой канал своим друзьям и подписчикам. Со своей стороны гарантирую только качественную и полезную информацию!

    1.
    youtube (580x243, 86Kb)

    Комментарии (0)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    Академия Veeam — практические классы для начинающих C# разработчиков

    Среда, 23 Августа 2017 г. 13:29 (ссылка)



    Регистрация на курс открыта до 31 августа.



    Осенью 2017 года Veeam Software запускает свой первый образовательный проект: курс для разработчиков C#.



    Не будем скрывать, что, как и многие компании, которые проводят собственные обучающие программы, мы делаем это с целью привлечения в свою команду талантливых девелоперов, которые находятся еще в начале своей карьеры. Ориентируясь на динамику, с которой развивается карьера у разработчиков Veeam, мы выбираем специалистов с большим потенциалом к профессиональному росту.



    Мы предлагаем не просто возможность бесплатно пройти обучение — после окончания курса у успешных участников будет реальный шанс устроиться в компанию и стать частью команды Veeam Research & Development.



    А теперь ответим на главный вопрос: чем обучение в Академии Veeam может заинтересовать начинающих разработчиков?
    Читать дальше ->

    https://habrahabr.ru/post/336188/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    Eleti

    Открываем осенний семестр обучения в проекте «Ветер Перемен»!

    Четверг, 17 Августа 2017 г. 13:32 (ссылка)
    veter-peremen.org/event/onl...r-peremen/


    Пришло время начинать осенний семестр обучения онлайн в нашем проекте "Ветер Перемен". Какая полезная информация и какое обучение онлайн ждут участников?

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    30+ онлайн ресурсов для изучения программирования в 2017

    Пятница, 30 Июня 2017 г. 14:51 (ссылка)

    Изучение программирования становится все более доступным благодаря непрерывному росту количества онлайн ресурсов, которые помогают в этом всем желающим. Плюс таких ресурсов — в неограниченном количестве знаний, которые они могут дать и в высокой квалификации преподавателей. Минус — никто не заставляет вас учиться и качество полученных знаний зависит лишь от того, сколько усилий вы приложили.



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



    Codecademy





    Codecademy



    Интерактивная онлайн-платформа для обучения 12 языкам программирования: Python, PHP, JavaScript, Ruby, Java и др., а также работе с библиотекой jQuery и языкам разметки и оформления веб-страницы HTML и CSS.



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



    FreeCodeCamp





    FreeCodeCamp



    Сервис для изучения программирования, а именно Full-stack разработки на JavaScript. Обучение построено по принципу самообразования от простого к сложному. Сначала дается основа, а затем дают задание, которое выходит за рамки изученного и нужно решить его самостоятельно.



    Все начинается с HTML, CSS, Bootstrap и продолжается заданиями по базовым функциям JS, задачами на алгоритмы, front-end проектами. Планируется к запуску раздел про React. Для общения есть чат в Gitter.



    Exercism.io





    Exercism.io



    Этот сайт предоставляет упражнения по программированию, а в частности, на: C #, C ++, Haskell, JavaScript, Lua, Objective-C, Perl 5, Python, Ruby и Scala.



    Идея проста:


    • Вы загружаете упражнение на языке по вашему выбору (упомянутого выше) с клиентским приложением exercism.io

    • Добавляете решение на сайт.

    • Программисты со всего мира будут комментировать то, что вы сделали.

    • Вы улучшаете свой код.



    Благодаря этому методу обучения, когда вы, как новичок в программировании, получите обратную связь от экспертов, можно избежать застревания на тренировках, если вам не удалось найти правильное решение. Это также помогает застенчивым людям или тем, кто не решается задать вопросы, так как нет никакого способа двигаться дальше. Katrona Owen, создатель Exercism.io, заметил, что этот тип обучения поможет ученикам в Jumpstart Labs в Денвере, штате Колорадо, завершить упражнения.



    LiveEdu.tv





    www.liveedu.tv



    Обучающий стриминговый сервис LiveEdu.tv предлагает вам уникальные туториалы для изучения программирования. Что же такого особенного в LiveEdu.tv? Уроки интерактивны, в режиме реального времени вы видите написание проекта и можете коммуницировать с преподавателем в чате, также доступны записи стримов.



    Livedu.tv содержит огромную библиотеку записанных трансляций по всевозможным языкам программирования и фреймворкам. Большая часть контента доступна бесплатно, нужно только зарегистрироваться, есть платные проекты, они более структурированы и обучающие, месячная подписка обойдется в 500 руб.



    На сайте недавно запустили русскоязычный премиум раздел, где вы можете найти различные обучающие проекты, например: “Серверная реализация мессенджера”, “Как написать укорачиватель ссылок на Node.js”. Благодаря огромной базе обучающих видео и проектов, сайт подойдет как новичкам так и опытным специалистам. А стать преподавателем и создать свой собственный обучающий проект здесь может любой специалист, который соответствует требованиям.



    PluralSight





    Pluralsight



    Pluralsight — один из лидеров в разработке интерактивных учебных курсов для профессиональных разработчиков. Pluralsight предлагает подписки для частных лиц и компаний стоимостью от 29 долларов США в месяц. На сайте доступны следующие категории: IT Ops, Software Development, Data Professional, Architecture and Construction, Manufacturing and Design, Business Professional, Information and Cyber Security.



    Udacity





    Udacity



    Видео лекции на английском языке с субтитрами в сочетании со встроенными тестами и последующими домашними работами, основанные на модели «учиться на практике». Каждая лекция включает в себя встроенный тест, чтобы помочь студентам понять предлагаемые концепции и идеи.



    Также доступны программы Nanodegree Plus. Суть такова, что Udacity гарантирует трудоустройство в течении 6 месяцев после выпуска или возвращает вам деньги. Стоит обучение 299$/мес. Большое преимущество — code review, причем, весьма детальные. Также в программу входят: помощь в подготовке резюме, аккаунтов в гитхабе и линкедин, тестовые собеседования (с живыми людьми).



    Code School





    Code School



    Code School использует для обучения скринкасты и видеоуроки рассказывающие о HTML/CSS, JavaScript, Ruby, Python, .NET, iOS, Git и другим языкам, подавая материал через интересные истории. Большая часть контента рассчитана на продвинутых программистов, но новичкам доступны бесплатные курсы об основах программирования.



    Для доступа к бесплатным курсам необходимо зарегистрироваться, доступ к платным курсам Code School возможен только на основе подписки, цена которой начинается от 29 долларов в месяц.



    Udemy





    Udemy



    Udemy — это платформа для обучения, где вы можете быть как учеником так и преподавателем. Udemy предлагает большое количество курсов по таким прикладным направлениям как дизайн, программирование, веб-разработка. Среди преподавателей можно встретить Марка Цукерберга и других гигантов IT-индустрии. Цена курсов на Udemy от 10$ до 200$, есть также бесплатные.



    Treehouse



    Treehouse



    Treehouse насчитывает свыше 600 видео-уроков (по веб-дизайну, веб-разработке и разработке под IOS), которые можно просматривать за ежемесячную плату, которая стартует от 25$.



    Lynda.com





    Lynda



    Lynda.com – ветеран индустрии онлайн-образования. Lynda.com — это сервис платного онлайн-обучения преимущественно в направлении IT и дизайн. Сервис основан в 1995-м году и в 2015-м был куплен Linkedin.



    Lynda работает по подписке. Хотя часть курсов доступны бесплатно, основная доля доступна только после оформления подписки стоимостью от $19/месяц. После оплаты пользователь получает неограниченный доступ к любым курсам в базе данных Lynda. Для ознакомления с функционалом Lynda предлагается 10-ти дневная trial-версия, с полным доступом ко всей библиотеке.



    Codewars





    Codewars



    Это интерактивный сборник задач по программированию, решая которые вы набиваете свой скилл в том или ином языке.



    Разнообразные задачи, достижения, тесты, просмотр наиболее лучших решений, обсуждения, ранги — все это делает сервис очень удобным и ценным для тех кто хочет порешать задачки на том или ином языке. Сейчас сервис поддерживает следующие языки: Clojure, C++, C#, Elixir, F#, Go, Haskell, Java, JavaScript, PHP, Python, Ruby, Rust, Shell, SQL, Swift, TypeScript.



    Coursera





    Coursera



    Coursera — образовательная платформа, которая дает возможность пройти онлайн-обучение в ведущих образовательных учреждениях мира. Проект сотрудничает с университетами, которые публикуют и ведут в системе курсы по различным отраслям знаний.



    Слушатели проходят курсы, общаются с сокурсниками, сдают тесты и экзамены непосредственно на сайте Coursera. В проекте представлены курсы по физике, инженерным дисциплинам, гуманитарным наукам и искусству, медицине, биологии, математике, информатике, экономике и бизнесу.



    Продолжительность курсов примерно от шести до десяти недель с 1-2 часами видеолекций в неделю, курсы содержат задания, еженедельные упражнения и иногда заключительный проект или экзамен. За $40 вы можете получить сертификат от вуза, в котором прошли курс. На Coursera примерно 700 курсов в различных сферах деятельности.



    Code Avengers





    Code Avengers



    Code Avengers предоставляет возможность обучаться в интерактивной и игровой форме основам HTML5, CSS3, JavaScript прямо в браузере. В ходе обучения вы сможете обучиться основам программирования и вёрстки шаг за шагом, выполняя небольшие задания.



    На бесплатном аккаунте можно изучить 5 первых уроков каждого из курсов.Некоторые курсы доступны на русском языке (на текущий момент переведены HTML/CSS / JavaScript / Game Dev / Intro to Coding)



    Khan Academy





    Отличное место для людей, желающих научиться творить с помощью кода. Эта бесплатная платформа использует видеоуроки от экспертов, покрывающие много различных тем от математики и физики до истории и искусствоведения. Доступны приложения для Android и iOS, которые дадут вам возможность проходить курсы платформы где угодно.



    Bento





    Bento



    Сайт создан StackOverflow разработчиком. Ресурс представляет собой тур по лучшим руководствам в интернете, туда входят интерактивные занятия, видео и материалы для чтения. Bento бесплатен и подает материал в абсолютно логичной последовательности.



    Bloc.io





    Bloc



    Bloc помогает освоить профессии UI/UX-дизайнера и разработчика, с тем, чтобы создавать «современные адаптивные веб-сайты и мобильные приложения». У сервиса не совсем обычная система оплаты: за фиксированную сумму в 3 999 долларов можно выбрать один из трех вариантов нагрузки — 3 месяца по 40 часов в неделю, 4,5 месяца по 25–30 часов и 9 месяцев по 12–15 часов. Так обучение можно совместить с учебой в другом месте или даже работой.



    CheckIO





    CheckIO



    CheckIO — ресурс для изучения и практики языка программирования Python. Обучение представлено в виде игры, в которой каждому пользователю необходимо в той или иной мере использовать свои знания. Например, первый этап обучения «Learning» — это цепочка задач от легкой к сложной. Причем, в описании самой задачи есть все справочные данные для ее решения.



    Codingame





    Codingame



    Codingame.com — сервис для изучения различных языков программирования в игровой форме. В каждом случае от игрока требуется решить определенную проблему или исправить чужой код.



    Codebabes





    Codebabes



    Изюминка нашего списка Codebabes.com. Все видеоуроки на этом интернет-ресурсе ведут молодые девушки. Специфика таких уроков в том, что по мере того, что материал усложняется, девушки… раздеваются. В каждом разделе предусмотрено нескольких видеороликов для обучения. На видео девушка, которая ведет курс, на протяжении нескольких минут объясняет пользователю одну из тем какого-либо блока.



    MIT OpenCourseware





    MIT OpenCourseWare — это специальный ресурс Массачусетского технологического института, на котором собраны многие обучающие курсы, лекции и семинары. OpenCourseWare содержит материалы более чем 2 000 курсов. На сайте есть аудио и видеокурсы, поиск по каталогу, по номеру курса, по наименованию дисциплины, все предметы и степень сложности разделены в отдельные рубрики.



    The Code Player





    С помощью этого ресурса вы можете просматривать интерактивные презентации, которые объясняют как писать программы с нуля. Вы не только видите написание кода, но и можете понять какие изменения в конечный продукт вносит каждая строка кода.



    Mozilla Developer Network





    Проект представляет собой онлайн-коллекцию документов из различных источников, которые посвящены веб-разработке и подходят людям с любым уровнем подготовки: от экспертов до студентов и начинающих. MDN это вики, а значит, любой человек может вносить в нее правки и исправлять неточности.



    HTML5Rocks





    HTML5Rocks это подборка бесплатных уроков для помощи в решении различных проблем. К видео часто прилагают разные письменные инструкции, диаграммы, а в комментариях можно найти полезные разъяснения.



    CSS-Tricks





    Подробное изучение CSS при помощи большого альманаха по CSS. Сейчас блог охватывает много тем, помимо CSS – например, Sass, JavaScript, PHP и прочее. Вы можете ознакомиться с огромным количеством ресурсов и даже с фрагментами кода.



    Tuts+





    Полезный англоязычный образовательный портал с аудиторией около 5-ти миллионов пользователей. Большое количество бесплатных обучающих программ по различным отраслям программирования, а также платных курсов. Более 600 видеокурсов и электронных книг.



    Code4Startup





    Code4startup.com — обучение разным языкам программирования и фреймворкам на примерах успешных стартапов. Например, Code4Startup предлагает изучить AngularJS и FireBase создавая клон TaskRabbit, а HTML 5, CSS и jQuery копируя Airbnb (потом можно будет создать и гибридное мобильное приложение для сервиса).



    Русскоязычные сайты для изучения программирования:





    HTML Academy





    HTML Academy



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



    Hexlet





    Hexlet



    Hexlet — это открытая веб-платформа для обучения программированию, предлагающая короткие курсы длительностью в несколько часов для разработчиков программ, от новичков до профессионалов. Все учебные программы состоят из двух частей: теоретической и практической.



    Lendwings





    LendWings



    LendWings – эта платформа предлагает видеолекции лучших преподавателей со всего мира на русском языке, но не все курсы бесплатны. LendWings позволяет пользователям подключаться к обучающим курсам независимых преподавателей («инструкторов»), которые предоставляют обучение при помощи записанных видеолекций, текстовых документов, слайдов, презентаций и других материалов.



    Geekbrains





    geekbrains



    Это онлайновая школа обучения программированию, системному администрированию, дизайну и интернет-маркетингу. Каждый курс GeekBrains имеет подробную программу и отзывы. Занятия охватывают почти все отрасли разработки и готовят к конкретной работе в той или иной области IT. Для студентов, также доступны программы стажировок и сертификации.



    JavaRush





    javarush



    JavaRush обучает программированию на Java в форме онлайн-игры. Игра сделана по мотивам вселенной Футурамы. Цель игры — прокачать персонажа (робота Амиго) с 1 до 80-го уровня. В игре вы выполняете задания и зарабатываете черную материю, которую тратите на открытие новых уровней. Курс JavaRush содержит 1200 практических задач возрастающей сложности.



    Javascript.ru





    javascript.ru



    Целью сайта является предоставление максимально грамотной и, по возможности, актуальной информации о javascript и смежных технологиях. Присутствует учебник, инструментарий и большое количество правильных статей для общего развития. Доступен для скачивания оффлайн-вариант справочника. Есть несколько достаточно сложных тестов.



    ITVDN





    itvdn



    Ресурс для онлайн-обучения программированию, предлагающий не только видеоуроки для самостоятельного просмотра, но и бесплатные сервисы, позволяющие формировать практические навыки написания кода. Каждый пользователь имеет возможность формировать практические навыки с помощью Тренажера, общаться с другими студентами на форуме, читать интересные публикации в блоге, слушать бесплатные IT-вебинары. Сами видеокурсы входят в более крупные образовательные модули — «IT Специальности»



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




    Какой ресурс для изучения программирования был вам полезен?














































































































































































































































































































































































































    Проголосовало 23 человека. Воздержалось 19 человек.





    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.


    Original source: habrahabr.ru (comments, light).

    https://habrahabr.ru/post/331530/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    «Айсберг вместо Оскара!» или как я пробовал освоить азы DataScience на kaggle

    Четверг, 30 Июня 2017 г. 02:30 (ссылка)

    В моей прошлой статье посвящённой освоению науки о данных (или по заграничному — Data Science) с абсолютного нуля (даже ниже чем -273 градуса по Кельвину) я обещал, что подготовлю материал о том, как я осваивал kaggle (буду писать с маленькой буквы, как у них на логотипе).



    Для тех, кто так же, как и я только начинает знакомится с данным вопросом, поясню что как я понял kaggle это сайт, посвящённый соревнованиям и в некоторой степени обучению в области Data Science, где каждый может совершенно бесплатно и используя любые доступные инструменты, сделать прогноз по той или иной задаче.



    Слов на ветер бросать не люблю, раз уж пообещал, то хочешь не хочешь — пиши, поэтому если вам интересно что же в итоге у меня из всего это вышло прошу под кат.









    Часть 1. «Белеет мой парус такой одинокий…» — немного о навыках





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



    Итак, мои знания о том, что такое Data Science и с чем его едят базируются на курсах от Cognitive class (СС) и на самоучителе Наука о данных с нуля (Data Science from Scratch) (по ссылкам мое мнение об этих ресурсах).



    Чтобы вам было не обязательно тратить свое время, кратко резюмирую:




    1. Cognitive class – рассказал мне о том что такое Data Science и бегло продемонстрировал некоторый набор применяемых практик и инструментов, однако после прохождения курса ничего путного самостоятельно я делать не научился

    2. Самоучитель – провел для меня беглую экскурсию в мир науки о данных, показал основные приемы и дал отсылки к базовым знаниям, однако из-за того, что в книге все функции для анализа были написаны с нуля, то пользоваться реальными библиотеками, (например, pandas) я так и не научился, ну а краткого курса Python представленного в книге, хватило ровно настолько чтобы сильно не «пучеглазить» при виде учебного кода из туториалов kaggle (о чем позже).





    Поэтому не смотря на знание о некоторых концепциях в области Data Science открыв первую и похоже самую популярную задачку про Титаник, я оказался по сути «один в чистом поле», а вокруг были какие-то рейтинги, «блокноты» с решениями и люди, которые явно что-то знают…



    Часть 2. «…На фоне стальных кораблей» — немного о kaggle и соревновании про Титаник.





    Подозреваю, что моя статья про kaggle не первая и при желании можно найти разную информацию о том, что это и как начать с ним работать, но я все же хотел бы поделится своим опытом вхождения в этот удивительный мир.



    Итак, как я уже сказал в самом начале kaggle это портал, посвященный соревнованиям в области науки о данных. Регистрация на портале совершенно бесплатна, представленный инструментарий, вроде бы тоже (если там есть, что-то платное напишите пожалуйста в комментариях я обновлю статью).



    Соревнования на портале делятся на разные категории, за призовые места на некоторых дают деньги, некоторые задачи просто ради интереса, безусловно есть задачи ориентированы на новичков (как я понял, в них регулярно чистятся рейтинги), ну и есть какие-то полузакрытые соревнования, видимо как-то связанные с другими порталами.



    Насколько я понял портал предназначается для того, чтобы пользователи могли посоревноваться в прогнозировании и похвастаться перед коллегами и работодателями высокими местами в таблицах лидеров, ну а компании возможно могут решить какие-то свои задачи в области исследований или даже найти сотрудников (на сайте есть такой раздел).



    Портал представлен на английском языке так что, если вы им совсем не владеете возможно вам будет тяжело («спасибо КЭП!»).



    Помню, когда регистрировался очень хотел спать, поэтому ничего не понял и плюнул, но надо отдать должное команде проекта, утром мне пришло письмо с приветствием и предложением начать знакомство с курса Titanic: Machine Learning from Disaster и ведь убедили «чертяки», я не смог им отказать.



    Как мне показалось, задача с определением числа выживших на Титанике похоже — самая избитая и упоминается, наверное, в половине всех курсов по Data Science



    (вот кстати отличная задачка для аналитики, узнать, как часто в курсах и книгах по Data Science упоминается задачка про Титаник и как часто будет упоминаться в будущем, если кто-то владеет данными, пишите в комментариях, по горячим следам обновлю статью)



    На стартовой странице соревнования есть описательная часть и требования к загружаемым вами результатам анализа, если вы на kaggle первый раз, то более полезными окажутся страницы с FAQ и Tutorials. Надо отметить, что последние две вкладки на задачах для опытных пользователей вполне могут (и скорей всего будут) отсутствовать.



    FAQ: для данного соревнования поведает нам следующие ключевые вещи.




    1. Что есть публичная таблица рейтинга, которая получена на основании загруженной вами оценки тестовой выборки и является лишь верхушкой айсберга *ba-dum-tss*.






    2. Вторая часть оценок скрыта от пользователя и проявит себя только после подведения итогов. И как я понял именно скрытые 50% являются ключевыми для определения победителя и похоже аналогичный подход, но с разным процентным соотношением характерен для многих других соревнований.

    3. В данном учебном соревновании рейтинг чистится раз в два месяца, это значит, что все ваши загрузки старше двух месяцев потеряют свой статус (как я понял), так что задача про Титаник не «для резюме», а именно для наработки навыков.

    4. Kaggle нам сообщит, о том что при желании вам не придется ставить себе что-либо на рабочую машину инструменты для анализа есть у kaggle в облаке.





    Tutorials: Для новичка жизненно необходимая вкладка, если вы зашли «с улицы» и ничего не понимаете, то вам (и мне) как раз туда. Учебные материалы можно поделить на 3 типа:




    1. Хорошо задокументированные блокноты (других пользователей), в которых по шагам описаны варианты готового решения и изложена логика, которой руководствовался автор исследования.

    2. Ссылки на интерактивные туториалы от DataCamp

    3. Просто статьи.





    Блокноты и интерактивные туториалы представлены для языков R и Python

    А в текстовых статьях к ним даже добавляется инструкция, о том как обработать данные с помощью Excel.



    С чего начал я?



    В начале статьи я ссылался на курсы СС (которые были больше ориентированы на R) и самоучитель (ориентированный на Python), поскольку книжка мне понравилась больше, то я выбрал Python.



    Блокнотов на Python оказалось много, какие-то были по проще, какие-то наоборот содержали много развернуто изложенного материала, я понял, что вот так сразу не готов «с места в карьер» и начал с интерактивного туториала.



    Часть 3. «Хорошо тому, кто знает…» — Интерактивный туториал для решения задачи на Python





    Хорошо тому, кто знает, а мне — плохо, поэтому без туториала было никак. Итак ссылка привела меня к этому курсу: "Kaggle Python Tutorial on Machine Learning". Курс бесплатный (хотя есть назойливый нюанс).



    Что представляет из себя курс? Если кто-то сталкивался с codecademy, то вам все будет привычно. Слева описание и цели, справа код задачи и консоль Python. Сложностей почти не возникает, задания простые, отправлять код можно сколько угодно раз пока не получится, а если надоело, то можно взять подсказку или получить готовый ответ (если, конечно вы не жуткий фанат РПГ и вам не жалко баллов опыта)



    Курс состоит из трех глав:


    1. Самые базовые основы синтаксиса и принципов анализа;

    2. Получение грубой модели на основе дерева принятия решений (Decision Trees). В принципе после этой главы у вас будет готовое решение, которое можно скачать и залить на kaggle;

    3. В третьей главе вы с помощью Random Forest улучшите свои предсказания. Эту модель так же можно будет залить на kaggle;





    Туториал — несложный и проходится в течении часа, ну максимум двух.



    Заметил, что при прохождении курса после завершения каждой главы у меня всплывало окно с предложением получить платный аккаунт и только после этого продолжить курс (кнопку закрытия я не заметил, может она и есть), если вам оно будет мешать то его можно удалить с помощью инструмента «просмотр кода элемента» (есть почти в любом современном браузере), удалить надо Div с классом который будет содержать слово «modal», ну например «modal-container», после того как окно пропадет, можно будет спокойно отправить результаты и перейти к следующей главе.



    Не могу сказать, что курс очень информативный, но самые минимальные (прям крошечные) представления о библиотеках для анализа данных на Python дает, когда экспериментировал со своим блокнотом (о чем ниже), многие приёмы у них заимствовал.



    Часть 4. «…Как опасен в океане» — человек с «блокнотом» на Python.





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



    К слову сказать, платформа позволяет «форкнуть» понравившийся блокнот и в нем поэкспериментировать или же просто скачать себе код, чтобы поковырять его на своем компьютере.



    Как я уже говорил, блокнотов много, я решил выбрать тот что выглядел попроще в освоении (переводить, большую «портянку» текста на английском в два часа ночи не хотелось чуть меньше чем совсем). Итак, я решил позаимствовать код из "Machine Learning from Start to Finish with Scikit-Learn", автор не обещает высокой точности предсказания, но ведь главное не победа, а участие.



    Честно скажу воспользоваться хоть одним решением в его изначальном виде у меня рука не поднялась, и я попытался, хоть немного поковырять код и попробовать написать пару строчек своими руками, поэтому у меня получился жуткий монстр из кода интерактивного туториала и этого блокнота



    Итак, код я решил править у себя на компьютере (ну не просто же так я ставил в прошлой статье Anaconda). Выкладывать свой код целиком не буду, уж очень позорно вышло, если кто-то захочет это вбить в свой блокнот Jupyter, то каждая секция кода, вставляется у меня в отдельную ячейку (но лучше не надо, он то предупреждения выдаст, то еще что-нибудь, это плохой пример для подражания).



    Первым делом я в наглую спер фрагмент объявления данных



    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    from sklearn import tree
    %matplotlib inline
    data_train = pd.read_csv('data/train.csv')
    data_test = pd.read_csv('data/test.csv')
    data_train.sample(5)




    Затем позаимствовал код для построения пары диаграмм, которые у автора получились вполне наглядными. Одна показывала связь между выживаемостью мужчин и женщин из разных точек отправления,

    sns.barplot(x="Embarked", y="Survived", hue="Sex", data=data_train);




    второй график показывал туже связь, но уже относительно, к классам в которых жили пассажиры.



    sns.pointplot(x="Pclass", y="Survived", hue="Sex", data=data_train,
    palette={"male": "blue", "female": "red"},
    markers=["*", "o"], linestyles=["-", "--"]);




    Графики есть в исходном блокноте, поэтому выкладывать картинки не буду.



    Потом я решил, что я ничуть не хуже и тоже попробовал придумать свою диаграмму.



    Я решил проверить, влияет ли как-то статус сопровождающего и класс пребывания на вероятность выживания ребенка до 18 лет.

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



    data_train2=data_train.copy()
    data_train2=data_train2[data_train2["Age"] <= 18]
    data_train2.Parch = data_train2.Parch.fillna("nanny")
    data_train2["Parch"][data_train2["Parch"] != 0] = 'parrents'
    data_train2["Parch"][data_train2["Parch"] != 'parrents'] = 'nanny'








    В итоге получилось, что-то. Эта диаграмма либо говорит, нам о том, что дети во 2-м пассажирском классе у которых был родитель вместо няньки выживали намного чаще, либо не говорит ни о чем кроме того, что я ошибся потому что за пять дней не реально освоить анализ данных =)



    Перейдем к расчётной части. Забегая вперед скажу, что я залил свое решение на kaggle 2 раза, чтобы проверить изменения.

    Итак, я понял, что вариант кода из интерактивного туториала не очень удобный и чтобы не плодить кучу одинакового кода, я решил позаимствовать у автора блокнота, вариант с написанием функций:



    def simplify_Age (df):
    df.Age = data_train.Age.fillna(0)

    def simplify_Sex (df):
    df["Sex"][df["Sex"] == 'male'] = 0
    df["Sex"][df["Sex"] == 'female'] = 1

    def simplify_Embarked (df):
    df.Embarked = df.Embarked.fillna(0)
    df["Embarked"][df["Embarked"] == "S"] = 1
    df["Embarked"][df["Embarked"] == "C"] = 2
    df["Embarked"][df["Embarked"] == "Q"] = 3

    def simplify_Fares(df):
    df.Fare = df.Fare.fillna(0)




    Функции преобразуют данные в цифровой формат, чтобы потом их можно было «скормить дереву».



    Дальше эти функции я применил для обучаемой модели (data_train) и для тестовой (data_test)



    simplify_Age(data_train)
    simplify_Sex(data_train)
    simplify_Embarked(data_train)
    simplify_Fares(data_train)
    simplify_Age(data_test)
    simplify_Sex(data_test)
    simplify_Embarked(data_test)
    simplify_Fares(data_test)




    назначил для дерева цель



    target = data_train["Survived"].values




    дальше действия разделились



    # В2. ячейка для второй модели идет перед тем кодом, что будет после (в первой модели не применялась)
    data_train["Family"]=data_train["Parch"]+data_train["SibSp"]
    data_test["Family"]=data_test["Parch"]+data_test["SibSp"]


    Вариант для первой модели. Я не очень понимаю, что тут происходит, видимо можно понять, какое дерево он создал и какие параметры вносят больший вклад в прогноз.

    #строку с features мы после немного модернизируем.
    features = data_train[["Pclass", "Sex", "Age", "Fare"]].values
    d_tree = tree.DecisionTreeClassifier()
    d_tree = d_tree.fit(features, target)
    print(d_tree.feature_importances_)
    print(d_tree.score(features, target))




    Теперь создадим предсказание для тестового набора данных для первой модели и сохраним его в csv:



    # эту строку тоже
    test_features = data_test[["Pclass", "Sex", "Age", "Fare"]].values
    prediction = d_tree.predict(test_features)
    submission = pd.DataFrame({
    "PassengerId": data_test["PassengerId"],
    "Survived": prediction
    })
    print(submission)
    submission.to_csv(path_or_buf='data/prediction.csv', sep=',', index=False)




    Забираем из папки .csv, возвращаемся на kaggle жмем «Submit Predictions» и получаем 0.689 достоверности. Не могу сказать, что это хорошо, но зато это же ПЕРВОЕ ПРЕДСКАЗАНИЕ! После такого, можно пойти работать в популярные ТВ шоу про экстрасенсов.



    По причинам, о которых я расскажу в заключительной части, я не стал сильно беспокоится о качестве модели и не стал применять техники ее улучшения из интерактивного курса Data Camp (а они там есть).



    Тем не менее, чтобы статья была наглядней давайте разберем одно небольшое улучшение.



    Выше по тексту я предлагал код с комментарием: «# В2. ячейка для второй модели идет перед тем кодом, что будет после (в первой модели не применялась)» две строчки кода после комментария можно вставить и сразу (вреда не будет, но и пользы тоже).

    Для чего нудны нам эти строчки? Это я решил проверить, как наличие семьи (сестер, братьев, родителей и т.п.) повлияет на выживаемость (идея во многом взята из интерактивного туториала). Так объединив поля «спутники» и «родственники» (мой вольный перевод), я получил поле «семья»



    Заменим строки features = data_train[[«Pclass», «Sex», «Age», «Fare»]].values и test_features = data_test[[«Pclass», «Sex», «Age», «Fare»,«Family»]].values на:



    features = data_train[["Pclass", "Sex", "Age", "Fare","Family"]].values
    test_features = data_test[["Pclass", "Sex", "Age", "Fare","Family"]].values




    В них добавился наш параметр влияния семьи, а в остальном все останется без изменений.



    Как я понял команда print(d_tree.feature_importances_) показывает нам степень вклада каждого из параметров в итоговый результат модели.



    Получим следующее:

    [ 0.08882627 0.30933519 0.23498429 0.29841084 0.06844342].



    Позиции в массиве соответствуют «Pclass", «Sex», «Age», «Fare»,«Family». Итак мы видим, что наш пункт про семью особо погоды не делает, но для любопытства все же зальем обновленный результат на kaggle.



    И обнаружим, что наша модель, самую малость увеличила точность предсказания, теперь она составляет 0.72727. и этот результат уже в районе 6800 места в рейтинге =)



    Мы люди простые, нам больше и не надо, поэтому перейдем к заключительной части.



    Часть 5. «Айсберг встречным кораблям» — Заключение.





    Никогда бы не подумал, но искать зависимости в данных и пытаться делать прогнозы, оказывается – увлекательное и вполне себе азартное занятие! Несмотря на то, что с нуля начать тяжело, и как я понимаю практически полное отсутствие навыков в области мат. анализа, статистики и применения теории вероятности, еще не раз мне аукнется, в целом на начальном этапе процесс затягивает.



    Как видите на примере трех статей, я показал, что с абсолютного нуля, можно вполне заинтересоваться предметом, причем если вы фанат Python, то вариант с Cognitive Class можно вполне пропустить без особого ущерба для понимания общих концепций (хотя он бесплатный и в принципе можно день два на него потратить, посмотреть инструменты).



    Тем не менее в процессе подготовки материалов для этих трех статей, я понял, что для того чтобы не было мучительно больно, надо перейти к более качественной ступени обучения.

    Поэтому, я думаю, что есть смысл зарегистрироваться на курс «Специализация Машинное обучение и анализ данных размещенный на Coursera», по крайней мере он на русском, так что не придется ломать голову над переводом непонятных терминов.



    Вот так случайное любопытство грозит перерасти во что-то более серьезное, через пару месяцев, когда закончу курс поделюсь с уважаемыми читателями своим впечатлением о нем.



    Всем добра! Удачно вам напрячь извилины!
    Original source: habrahabr.ru (comments, light).

    https://habrahabr.ru/post/331992/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    МФТИ запустил первую в России онлайн-магистратуру по технологическому предпринимательству

    Вторник, 27 Июня 2017 г. 17:17 (ссылка)





    Московский физико-технический институт открыл набор в онлайн-магистратуру по технологическому предпринимательству. Это первая программа такого формата, позволяющая получить полный объем знаний по проектированию, разработке и выводу на рынок высокотехнологичных продуктов. О том, чему будут учить в онлайн-магистратуре Физтеха, рассказывает руководитель проекта, научный руководитель Межвузовской программы подготовки инженеров в сфере высоких технологий, заместитель заведующего кафедрой технологического предпринимательства МФТИ-РОСНАНО Вячеслав Чикин.



    На мой взгляд, онлайн-магистратура – принципиально новый образовательный продукт. Использование дистанционных форм обучения – это инструмент, мимо которого проходить нельзя, это сегодняшний день. При доступности современных технологий глупо тратить время, куда-то ехать, чтобы послушать преподавателя, читающего лекцию. Я лично уверен, что использование дистанционных форм позволяет за единицу времени получить гораздо больше знаний.



    Все дело в мотивации: я включаю лекции не для того, что мне нужно получить пять зачётных единиц, а для того, чтобы получить знание по определённой дисциплине. Меняется и сам способ подачи материала. Преподаватели меньше чувствуют себя на сцене и меньше стремятся к эффектам, а больше к тому, чтобы правильно подать информацию.



    Важно отметить, что онлайн-магистратура ориентирована больше на людей, уже попробовавших что-то сделать, взрослых. Представьте, человеку 28 лет, он 5 лет уже успешно проработал на предприятии. Он чувствует амбиции и нехватку новых знаний, но у него есть семья и ребёнок, возможности вырваться на два года в любой хороший вуз просто нет.

    Что тогда возможно? Он может выбрать два-три часа в неделю, чтобы послушать лекции и сделать тест тогда, когда ему удобно: на выходных, вечером – человек решает сам. По нашему опыту, жесткость расписания в вузах сильно мешает обучению.



    Студенту онлайн-магистратуры по технопредпринимательству надо приехать в Москву только два раза: для того, чтобы сдать госэкзамен по специальности, и второй раз – для защиты магистерской диссертации.



    Мы рассчитываем, что на эту программу придут не вчерашние бакалавры, а те, кто уже имеет от 5 до 10 лет опыта работы, кто уже достиг определённых успехов и понял, что хочет большего.



    Важной особенностью онлайн-магистратуры является работа над собственным проектом, что позволит отработать получаемые знания в практике. Вы сможете выбрать как проект компании или предприятия, на котором работаете в данный момент, так и свой собственный, и проработать его под руководством ментора программы. В случае отсутствия проекта, он будет предоставлен ментором. Что принципиально важно – на протяжении всего процесса обучения студента персонально сопровождает ментор.



    Ключевые качества технопредпринимателя? Какой человек имеет шанс достичь успеха в этой области?

    Первое – это жуткая упёртость, упрямство. И, как ни странно, второе – это способность к развороту. С одной стороны, человек должен не сдаваться раньше времени, а с другой — почувствовать момент, когда надо разворачиваться. Гибкость предпринимателя – это не гибкость тростника, который гнется при каждом дуновении ветра. Скорее, способность дуба расти немного наклоненным с учетом розы ветров. При этом достаточно быстро перестроиться, если роза ветров стала иной. Еще одна важная особенность: технологический предприниматель должен уметь находить сподвижников по продвижению своей технологии, без которых ему будет трудно пройти путь до готового продукта. Его задача встроиться в технологическую цепочку в правильном месте, где сохраняются его главные преимущества. Он говорит: «Я могу купить станок и сделать одну дополнительную технологическую операцию, которая позволит вам не оплетать вот эту штуку медью. Экранирующий слой будет прочнее и легче, и выполнять те же самые функции». Объединенными усилиями создается совместный продукт. При этом используются и сильные стороны партнера. В дальнейшем, можно дойти и до конечного потребителя, и развивать другие направления использования технологии.



    Этому мы как раз будем учить наших студентов – умению находить возможности.



    О магистратуре:

    Магистратура «Технологическое предпринимательство» МФТИ реализуется в партнерстве с компанией еНано (группа РОСНАНО). Программа основана на модели кафедры технологического предпринимательства МФТИ-РОСНАНО, успешно развивающейся с 2013 года как Межвузовская программа подготовки инженеров в сфере высоких технологий и объединяющей ведущие московские вузы МФТИ, МИСиС, МИФИ и РАНХиГС. В ходе обучения слушатели работают над собственным бизнес-проектом под руководством тьютора и ментора программы. По итогам обучения выдается магистерский диплом МФТИ государственного образца.



    Преподаватели магистратуры – практики и лидеры в своих областях:

    Григорий Ципес (главный консультант компании IBS), Владимир Антонец (международный эксперт в области коммерциализации результатов научных исследований и разработок), Анатолий Левенчук (президент Русского отделения международного совета по системной инженерии INCOSE), Алексей Николаев (руководитель программы развития инноваций Intell Россия) и многие другие.



    Обучение в онлайн-магистратуре обладает рядом преимуществ, недоступных для очных программ:


    • нет необходимости переезжать в другой город, чтобы получить диплом государственного образца ведущего технического вуза России. Слушатель приезжает в Москву всего 2 раза: для сдачи госэкзамена и защиты диплома;

    • совмещение текущей работы и обучения;

    • индивидуальный формат работы и персональное сопровождение слушателя со стороны тьютора;

    • получение новых профессиональных связей и ресурсов для развития проекта благодаря поддержке менторов, тьюторов, экспертов проекта и коллег по обучению.





    Слушатели магистратуры изучают следующие курсы:


    • Стратегии коммерциализации результатов НИР и НИОКР

    • Основы финансового моделирования

    • Системное мышление и инженерия требований

    • Экономика для технологических предпринимателей

    • Методические инструменты анализа и развития технических систем (ТРИЗ + Дизайн-мышление)

    • Agile методы управления проектами, процессами, задачами

    • Архитектура предприятия

    • Управление проектами и инновационными программами

    • Финансы & Инвестиции

    • Маркетинг инновационных продуктов

    • Управление разработками новых продуктов

    • Лидерство. Формирование и управление эффективной командой





    Стоимость обучения — 250 тысяч рублей в год, возможно получение образовательного кредита, оплата в рассрочку и поэтапно.

    Длительность обучения – два года, начало обучения – осень 2017.



    Подробная информация на сайте онлайн-магистратуры
    Original source: habrahabr.ru (comments, light).

    https://habrahabr.ru/post/331768/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
    rss_rss_hh_new

    UNIGINE С++ School: бесплатный онлайн-курс для продвинутых

    Среда, 21 Июня 2017 г. 14:42 (ссылка)

    В феврале мы запустили бесплатный онлайн-курс программирования на С++, рассчитанный на продвинутых разработчиков. Цели было в основном две — сделать так, чтобы в мире было больше хороших программистов, а заодно набрать себе пополнение в команду. Идея взлетела: участвовать в первом наборе захотело 185 человек из 57 городов и 8 стран. В курсанты попало 30 из них, но со словами «неинтересно» ушёл только 1. Остальные по итогам курса сообщили, что было в целом круто и они с пользой провели время.







    Обкатав всю затею и учебный процесс на начальном бета-наборе, мы решили повторить курс ещё раз. Набор уже во всю идёт, подать заявку можно до понедельника, 26 июня. Чему, как и кто учит — рассказываем внутри.



    Чему учат?



    UNIGINE С++ School — это курс для тех, кто уже умеет и практикует C++, любит выжимать производительность, но пока ещё не Степанов, не Александреску и не компания EA. И свой первый STL ещё не написал.



    Мы назвали «продвинутым», но на самом деле стоило назвать его «углубленным». В целом курс для тех, кому уже становится небезразлична скорость работы программ и детали внутреннего устройства важных чёрных ящиков. Если хотите посмотреть, как ускорять программы в разы, если вам интересен достаточно низкий уровень кода и его связь с железом, и если вы хоть иногда считаете миллисекунды — курс наверняка вам будет полезен.



    Программа занятий в деталях
    Занятие #1.

    Мировые константы.


    Про стоимости операций CPU/RAM/HDD, про устройство частей C++ рантайма, про вытекающие оптимизации.



    Занятие #2.

    Всем «известные» азы.


    Массивы, вектора, баги. И как правильно бенчмаркать.



    Занятие #3.

    Списки всех сортов.


    Когда и зачем они нужны на практике. Паззл для собеседования. Плюс сортировки и поиски, если успеем.



    Занятие #4.

    Хеши и все такое.


    Cами таблицы, функции, коллизии и по самые фильтры Блума. И ещё чуток KV-структур, если успеем.



    Занятие #5.

    Композитные структуры.

    Складываем любое нужное слово из только что изученных букв В, С, Х.



    Занятие #6.

    Деревья и кучи (heaps).


    И укладка «сложной» структуры в тупой массив.



    Занятие #7.

    Обзор эзотерических структур данных.


    От тупого circular buffer до адовых HyperLogLog.



    Занятие #8.

    Бонус: обзор устройства 3D графики.

    От векторов и матриц (с разбором) и до современных техник рендера (без подробного разбора).



    Как все происходит?



    Всего в первом курсе 8 лекций, 7 практических занятий и домашние работы. По первому опыту учёба предстоит очень интенсивная, но и эффект соответствующий.



    Кто ведёт?



    Придумал курс и ведёт занятия Андрей Аксёнов, он же Шодан, ведущий разработчик команды 3D-движка UNIGINE, а также автор поискового движка Sphinx, на котором работает Хабр, например.



    Отзывы участников первого набора



    Магия оптимизации, которую Шодан показал в первом задании, выглядела впечатляюще. Узнал, в каких местах можно обогнать std и что это делается малой кровью. В первый раз услышал об устройстве hash-таблиц. Узнал, как бенчмаркать свой код, чтобы компилятор всё не соптимизировал. Не смотреть информацию в книгах/статьях, а проверять самому, потому что время идёт, многое меняется и то, что раньше работало медленно, сейчас может быть реализовано достаточно быстро.



    Антон Тарасов, Новосибирск



    Очень много нового, причём, в тех областях, которые считал давно проясненными и закрытыми для экспериментов.

    — Об особенностях использования STL. Ещё раз покопался в его внутреннем устройстве, с более критическим подходом. С вопросом «А что в нём плохо?».

    — Много новых фишек про оптимизацию программ. Часть из них слышал — но «мимо», не применял. Как все эти бесконечные закладки в браузере из серии «будет время — разберусь».

    — Некоторые вещи были для меня совсем новые. Trie-tree, например. Даже не слышал о такой штуке. Не так, чтобы это перевернуло вселенную вверх ногами, но рассказано это было понятно, и наверняка пригодится.


    Сергей Коптев, Москва (ООО ПФ «Логос»)



    Что узнал нового? Что STL действительно можно уделать на порядок, и это проще чем кажется. Что для внятной оптимизации нужно знать намного больше чем мне известно сейчас.



    Ренат Дусаев, Томск



    Что узнал? На самом деле, много. Понял насколько крут и на самом деле «разноуровнев» C++. Тематические штуковины (например размытый ключ деревьев на примере). Ссылки, подобранные уже в скайпе. Например про битхаки в духе nonbranching code.


    Александр Баранов, Красноярск



    Никогда не пробовал замерять собственно скорость работы STL контейнеров, и думал что он и так норм. В процессе курса я был вынужден этим заняться и своими руками получил нужные мне результаты на собственном железе. Кое-какие взгляды на STL поменялись.



    Оценил inplacement new подход к инициализации объектов и malloc для аллокации памяти. Раньше всегда пользовался new, но, видимо, просто не вставало нужды что-то оптимизировать до такой степени.


    Игорь, Томск



    Узнал про Bloom filter, экзотические и композитные структуры данных. Маленькие трюки, типа компактной укладки сложных структур в линейный массив. Привёл в порядок голову и систематизировал знания. Была пара моментов, когда думал что знаешь как оно работает, а потом случалось озарение. Сборка собственного велосипеда оказалась не таким очевидным делом.


    Павел Наказненко, Красноярск



    Хочу учиться, как поступить?



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



    Решайтесь и записывайтесь!



    А на закуску, тизер нового сезона.






    Original source: habrahabr.ru (comments, light).

    https://habrahabr.ru/post/331330/

    Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

    Следующие 30  »

    <обучение онлайн - Самое интересное в блогах

    Страницы: [1] 2 3 ..
    .. 10

    LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
    О проекте: помощь|контакты|разместить рекламу|версия для pda