Анонс онлайн-курсов Технопарка, Техносферы и Технотрека на Stepic
Приятная новость для всех, у кого нет возможности обучаться в Технопарке, Техносфере или Технотреке: теперь курсы этих проектов доступны в виде онлайн-курсов на платформе Stepic! На сегодняшний день доступна запись по пяти дисциплинам:
Со временем количество курсов будет увеличено.
Зачем мы это делаем? Вполне очевидно: далеко не каждый желающий может стать слушателем наших проектов, ведь участие могут принять лишь учащиеся из трех московских вузов. А благодаря онлайн-обучению столь полезные для начинающих IT-специалистов знания смогут получить и многие другие талантливые студенты. В рамках онлайн-курсов учащиеся смогут смотреть интересный им контент и выполнить практические задания на проверку усвоенного материала. Кроме того, у них будет возможность общаться друг с другом, обсуждать задачи и задавать вопросы онлайн. По итогам успешного прохождения курса будет выдаваться сертификат. А теперь подробнее о доступных дисциплинах.
Для прохождения обучения требуются базовые навыки программирования на одном из популярных языков, например, C или C++. Курс содержит описание основных алгоритмов и структур данных. Вначале даются базовые понятия и оценка сложности, которые разбираются на примере следующих алгоритмов: «Вычисление чисел Фибоначчи», «Проверка числа на простоту», «Быстрое возведение в степень». Затем обсуждаются основные алгоритмы на массиве, линейный и бинарный поиск в массиве, структура данных «Динамический массив».
В следующем модуле разбираются структуры данных «Однонаправленные и двунаправленные списки», «Очередь», «Стек», «Дек», «Двоичная куча», «Очередь с приоритетом», операции с ними, способы реализации. Много внимания уделяется сортировкам, им посвящено два модуля. Рассматриваются основные типы сортировок, их реализации, обсуждается, в каких случаях рекомендуется применять те или иные сортировки. Тема порядковых статистик также обсуждается в этом модуле, как идеологически близкая. После сортировок ставится задача построения эффективного контейнера. В качестве решения разбираются различные виды хеш-таблиц и двоичных деревьев поиска.
Всего за курс можно набрать 100 баллов. Сертификат выдается за 85 баллов. Сертификат с отличием — за 95 баллов.
Курс посвящён изучению и реализации основных принципов объектно-ориентированного и обобщённого программирования на языке С++. Будут рассмотрены следующие темы:
- основы работы с памятью в программах на языке С,
- реализация структур данных на языке С,
- объектная модель языка С++,
- специальные вопросы инкапсуляции,
- специальные вопросы наследования и полиморфизма,
- класс как область видимости, перегрузка,
- модульное программирование,
- шаблоны классов и методов,
- обработка исключительных ситуаций,
- стандартная библиотека шаблонов STL.
Для прохождения обучения требуется знание C/C++ и умение обращаться с Unix-like операционными системами.Перед курсом предлагается пройти диагностический экзамен, который не оценивается, но позволяет понять, насколько вы готовы идти дальше. Курс состоит из семи двухнедельных учебных модулей:
- Контейнеры. Умные указатели. Аллокаторы.
- Сокеты Беркли. Мультиплексирование.
- Асинхронная работа с сетью.
- Процессы. Каналы. Сигналы.
- Очереди сообщений. Семафоры. Общая память.
- Потоки. Средства синхронизации.
- Параллельное программирование.
Каждый модуль оценивается в 100 баллов. Кроме того, есть финальный «экзамен», — собственный проект, — он оценивается в 300 баллов.
Чтобы получить сертификат, надо набрать 900. Для сертификата с отличием нужно 1000.
Требования:
- Знание языков программирования не является обязательным, но очень желательно.
- В курсе есть примеры программ, и в практических задачах нужно уметь читать и писать код. При этом используются Java и Python. Глубокого знания этих языков не требуется, и проблем не будет, если вы знаете только С++.
- Нужно быть знакомым с Linux и уметь работать в командной строке.
- Желательно хотя бы немного знать английский язык, т.к. в курсе встречаются термины и надписи на английском.
BigData, MapReduce, облачные вычисления, NoSQL. Все эти понятия стали популярными в последние годы. И все они связаны с распределенной обработкой больших объемов данных. Hadoop — одна из самых популярных opensource-систем для обработки больших объемов данных. Необходимость в таких системах растет с каждым годом — все больше компаний сталкиваются с проблемой растущего объема данных.
Facebook, Twitter, Yahoo!, Bing, Mail.Ru — это далеко не полный список компаний, которые используют Hadoop. Многие из них при этом активно участвуют в его развитии. И это неслучайно, т.к. именно большие интернет-компании первыми столкнулись с проблемой обработки больших объемов данных: как их надежно хранить, как обрабатывать, как получать быстрый доступ на их изменение. Сейчас Hadoop используется не только в интернет-компаниях, но и во многих других сферах, где возникает проблема с объемом данных (экономика, астрономия, биология, физика и т.д.)
Благодаря нашему курсу вы изучите современные методы хранения и обработки больших объемов данных на примере системы Hadoop.
Для прохождения обучения требуется понимание принципов объектно-ориентированного программирования и опыт их использования. Опыт написания приложений на объектно-ориентированных языках. Желательно участие в промышленных, научных или академических разработках.
Курс построен на базе практического опыта разработки серверов для онлайновых игр и опыта прочтения лекций в Технопарке Mail.Ru в МГТУ им. Баумана. Автор курса постарался соблюсти баланс между академической последовательностью и практической полезностью материала. Курс состоит из двух частей, разделенных на 4 и 3 модуля соответственно. В каждом модуле разбирается одна большая тема:
1.1. Работа веб-сервера.
1.2. Авторизация пользователя.
1.3. Работа с базами.
2.1. Асинхронное взаимодействие с браузером.
2.2. Тестирование и нагрузка.
2.3. Работа с файлами.
2.4. Многопоточность.
Кроме того, студентам дается задание на практическую разработку кода приложения, использующего изученный материал. Успешное завершение курса даст вам: базовые основы разработки веб-приложения на Java, углубленное понимание затронутых в курсе тем ООП и проектирования; позволит вам сформировать пакет приложений, который вы сможете использовать в промышленной разработке.
Запись на обучение осуществляется через портал IT.Mail.Ru. Первые занятия начнутся совсем скоро!