Приятная новость для всех, у кого нет возможности обучаться в Технопарке, Техносфере или Технотреке: теперь курсы этих проектов доступны в виде онлайн-курсов на платформе Stepic! На сегодняшний день доступна запись по пяти дисциплинам:


Со временем количество курсов будет увеличено.

Зачем мы это делаем? Вполне очевидно: далеко не каждый желающий может стать слушателем наших проектов, ведь участие могут принять лишь учащиеся из трех московских вузов. А благодаря онлайн-обучению столь полезные для начинающих IT-специалистов знания смогут получить и многие другие талантливые студенты. В рамках онлайн-курсов учащиеся смогут смотреть интересный им контент и выполнить практические задания на проверку усвоенного материала. Кроме того, у них будет возможность общаться друг с другом, обсуждать задачи и задавать вопросы онлайн. По итогам успешного прохождения курса будет выдаваться сертификат. А теперь подробнее о доступных дисциплинах.

Алгоритмы и структуры данных


Для прохождения обучения требуются базовые навыки программирования на одном из популярных языков, например, C или C++. Курс содержит описание основных алгоритмов и структур данных. Вначале даются базовые понятия и оценка сложности, которые разбираются на примере следующих алгоритмов: «Вычисление чисел Фибоначчи», «Проверка числа на простоту», «Быстрое возведение в степень». Затем обсуждаются основные алгоритмы на массиве, линейный и бинарный поиск в массиве, структура данных «Динамический массив».

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

Всего за курс можно набрать 100 баллов. Сертификат выдается за 85 баллов. Сертификат с отличием — за 95 баллов.

Подготовительная программа по программированию на С/C++


Курс посвящён изучению и реализации основных принципов объектно-ориентированного и обобщённого программирования на языке С++. Будут рассмотрены следующие темы:
  • основы работы с памятью в программах на языке С,
  • реализация структур данных на языке С,
  • объектная модель языка С++,
  • специальные вопросы инкапсуляции,
  • специальные вопросы наследования и полиморфизма,
  • класс как область видимости, перегрузка,
  • модульное программирование,
  • шаблоны классов и методов,
  • обработка исключительных ситуаций,
  • стандартная библиотека шаблонов STL.

Многопоточное программирование на С/С++


Для прохождения обучения требуется знание C/C++ и умение обращаться с Unix-like операционными системами.Перед курсом предлагается пройти диагностический экзамен, который не оценивается, но позволяет понять, насколько вы готовы идти дальше. Курс состоит из семи двухнедельных учебных модулей:

  1. Контейнеры. Умные указатели. Аллокаторы.
  2. Сокеты Беркли. Мультиплексирование.
  3. Асинхронная работа с сетью.
  4. Процессы. Каналы. Сигналы.
  5. Очереди сообщений. Семафоры. Общая память.
  6. Потоки. Средства синхронизации.
  7. Параллельное программирование.

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

Чтобы получить сертификат, надо набрать 900. Для сертификата с отличием нужно 1000.

Hadoop. Система для обработки больших объемов данных


Требования:
  • Знание языков программирования не является обязательным, но очень желательно.
  • В курсе есть примеры программ, и в практических задачах нужно уметь читать и писать код. При этом используются Java и Python. Глубокого знания этих языков не требуется, и проблем не будет, если вы знаете только С++.
  • Нужно быть знакомым с Linux и уметь работать в командной строке.
  • Желательно хотя бы немного знать английский язык, т.к. в курсе встречаются термины и надписи на английском.

BigData, MapReduce, облачные вычисления, NoSQL. Все эти понятия стали популярными в последние годы. И все они связаны с распределенной обработкой больших объемов данных. Hadoop — одна из самых популярных opensource-систем для обработки больших объемов данных. Необходимость в таких системах растет с каждым годом — все больше компаний сталкиваются с проблемой растущего объема данных.

Facebook, Twitter, Yahoo!, Bing, Mail.Ru — это далеко не полный список компаний, которые используют Hadoop. Многие из них при этом активно участвуют в его развитии. И это неслучайно, т.к. именно большие интернет-компании первыми столкнулись с проблемой обработки больших объемов данных: как их надежно хранить, как обрабатывать, как получать быстрый доступ на их изменение. Сейчас Hadoop используется не только в интернет-компаниях, но и во многих других сферах, где возникает проблема с объемом данных (экономика, астрономия, биология, физика и т.д.)

Благодаря нашему курсу вы изучите современные методы хранения и обработки больших объемов данных на примере системы Hadoop.

Разработка веб-сервиса на Java (часть 1)


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

Курс построен на базе практического опыта разработки серверов для онлайновых игр и опыта прочтения лекций в Технопарке Mail.Ru в МГТУ им. Баумана. Автор курса постарался соблюсти баланс между академической последовательностью и практической полезностью материала. Курс состоит из двух частей, разделенных на 4 и 3 модуля соответственно. В каждом модуле разбирается одна большая тема:

1.1. Работа веб-сервера.
1.2. Авторизация пользователя.
1.3. Работа с базами.

2.1. Асинхронное взаимодействие с браузером.
2.2. Тестирование и нагрузка.
2.3. Работа с файлами.
2.4. Многопоточность.

Кроме того, студентам дается задание на практическую разработку кода приложения, использующего изученный материал. Успешное завершение курса даст вам: базовые основы разработки веб-приложения на Java, углубленное понимание затронутых в курсе тем ООП и проектирования; позволит вам сформировать пакет приложений, который вы сможете использовать в промышленной разработке.

Запись на обучение осуществляется через портал IT.Mail.Ru. Первые занятия начнутся совсем скоро!

Комментарии (15)


  1. becks
    01.12.2015 11:06
    +5

    Ай, молодца!
    Спасибо, очень нужные направления выбрали.


  1. var_bin
    01.12.2015 13:03

    Скажите, а для прохождения курса «Алгоритмы и структуры данных» подойдет JavaScript?


    1. Dmitry21
      01.12.2015 13:04

      Проверяющая система использует следующие компиляторы: Java 7.0 (u55), Java 8.0 (u5), Python 3.4, Microsoft Visual C# 2013 Express Edition, Microsoft Visual C/C++ 2013 Express Edition, GNU C/C++/C++11 MinGW 4.8.1, Perl 5.18.2, PHP 5.5.12.
      Версии могут быть обновлены.


      1. var_bin
        01.12.2015 16:19

        На сколько реально, чтобы добавили поддержку JS?


        1. Dmitry21
          01.12.2015 16:26

          В ближайшие полгода — практически нереально


      1. vyahhi
        01.12.2015 16:40

        Речь идёт о проверяющей системе Stepic.org? Там нет поддержки Perl и PHP, зато как раз есть JavaScript.


        1. Dmitry21
          01.12.2015 18:32
          -1

          Коля, спасибо. Я по привычке про эджадж пишу )


        1. var_bin
          01.12.2015 20:16
          +1

          оооо, круто круто. Спасибо за уточнение


  1. surly
    01.12.2015 14:39

    В курсе «Разработка веб-сервиса на Java» какие СУБД рекомендуются к применению?


    1. Dmitry21
      01.12.2015 15:56

      mysql или postgres


      1. surly
        01.12.2015 15:57

        Oracle никак?


        1. Dmitry21
          01.12.2015 15:59

          неа


  1. pk1
    01.12.2015 16:38
    +1

    Как записаться-то? Зарегистрирован и залогинен как на it.mail.ru, так и на Stepic. Нажимаю «поступить на курс» на it.mail.ru, он футболит на Stepic. Там снова нажимаю «поступить на курс» --> получаю «Для поступления на курсы Mail.Ru Group, пользователям необходимо иметь зарегистрированный профиль в рамках IT.Mail.Ru. „


    1. becks
      01.12.2015 18:19
      +1

      необходимо иметь зарегистрированный профиль в рамках IT.Mail.Ru.
      Кликните по IT.Mail.Ru. Сам долго возился.


  1. Dju
    04.12.2015 21:42

    А лабораторные в курсе по Hadoop будут?