Разработка программного обеспечения и анализ данных
Онлайн-программа переподготовки на платформе Stepik
Три месяца с сентября по ноябрь 2020
В программе пять индивидуальных треков. В каждом треке два курса.

Посмотреть программу
Выбор из 5 треков
50 мест*
Любое время
*бесплатно в рамках гранта федерального проекта «Кадры для цифровой экономики»

Полная стоимость:
100 000 ₽
Записи лекций дают возможность учиться в удобное время в комфортном темпе
Онлайн
Обучение проходит онлайн на Stepik, в любом удобном вам месте
Мы, преподаватели разных университетов, хотим вместе с вами улучшать существующие или создавать новые курсы по математике и программированию.

На этой программе вы не только получите новые знания, но и материалы курсов для использования в своем университете.
Учитесь у мастеров
Александр Авдюшенко
доцент МКН СПбГУ, к.ф.-м.н., академический руководитель программы
Александр Куликов
профессор МКН СПбГУ, д.ф.-м.н., автор курсов на Coursera и Stepik с общей аудиторией более полумиллиона слушателей
Александр Смаль
сотрудник лаборатории математической логики ПОМИ РАН, преподаватель Computer Science центра и ИТМО, автор курсов на Stepik
Александр Храбров
доцент МКН СПбГУ и ВШЭ, к.ф.-м.н., автор курсов на Stepik
Анна Гладкая
доцент матмеха СПбГУ и ВШЭ, к.ф.-м.н., преподаватель курсов на Stepik
Василий Жечев
аналитик в Яндексе, к.ф.-м.н, преподаватель курсов по дискретной математике и машинному обучению в ШАД
Виталий Брагилевский
сотрудник JetBrains, автор книги Haskell in Depth (издательство Manning Publications, США), преподаватель курсов по языкам программирования на факультете МКН СПбГУ
Денис Москвин
доцент ВШЭ, к.ф.-м.н., автор курсов на Stepik
Кирилл Кринкин
доцент, заведующий кафедрой математического обеспечения и применения ЭВМ Санкт-Петербургского электротехнического университета «ЛЭТИ», к.т.н., автор курсов на на Stepik
Марк Заславский
исследователь в JetBrains Research, к.т.н., автор курсов на Stepik
Татьяна Берленко
исследователь в JetBrains Research, автор курсов на Stepik
Эдгар Жаворонков
разработчик в BarD Software, преподаватель МКН СПбГУ
Кому подойдет эта программа
Действующим преподавателям программирования
Курсы читаются опытными разработчиками и учёными. Наши преподаватели не раз читали свои курсы в Санкт-Петербурге и поделятся методиками, как доносить знания и помогать слушателям их усваивать
Новичкам из IT и близких областей

Программа поможет получить отличную базу по тем разделам, в которых вы сомневаетесь
Всем, кто интересуется преподаванием
Вы поднимете качество своего преподавания на новый уровень, научитесь использовать и сочетать самые современные практики преподавания
Что вы получите?
Актуальные знания по IT и математике
Диплом переподготовки от СПбГУ
Персональная поддержка от профессионалов
Видеозаписи и материалы занятий
Методические материалы и задачи для запуска аналогичных курсов
Общение и контакты ведущих преподавателей Санкт-Петербурга
Индивидуальные траектории обучения
Сопровождение после обучения
Набор курсов
Каждый трек состоит из двух курсов. Чтобы закрепить изученный материал, нужно будет решать задачи или писать код. Для успешного прохождения программы вам понадобится 5-10 часов в неделю. На связи с вами будет преподаватель для проверки заданий и ответов на возникающие вопросы, будет доступен общий чат
1 трек. Алгоритмы: теория и практика
Алгоритмы — важнейший раздел computer science и программирования. Благодаря развитию информационных технологий и алгоритмам мы сегодня имеем возможность быстро находить информацию в интернете (в частности, искать по картинкам), находить кратчайшие пути, анализировать геномы и так далее. Алгоритмы используются практически во всех областях computer science — в анализе изображений, в интернет-поиске, в машинном обучении, в биоинформатике, в криптографии, в кодировании, в сетях, в распределённых системах, в компиляторах.
2 трек. Математический анализ и теория вероятностей
Трек представляет собой краткое введение в математический анализ и в базовые понятия и теоремы теории вероятностей. За первые 4 недели слушатели познакомятся с последовательностями, пределами, непрерывностью, производными и интегралами. Изложение будет вестись на достаточно элементарном уровне без возможных обобщений, не меняющих основных идей доказательств, но заметно усложняющих восприятие. По возможности с помощью физических и геометрических иллюстраций будет разъясняться суть используемых понятий и доказанных теорем.
По теории вероятностей в первой части (первые две недели) излагается классическая версия теории вероятностей, в которой в большинстве своем используются довольно элементарные методы и доказательства. Помимо непосредственных приложений эта часть нужна для выработки у слушателей правильных интуитивных представлений о понятиях, рассматриваемых в теории вероятностей, которые в большинстве своем являются формализацией понятий взятых из реальной жизни. Третья неделя посвящена аксиоматическому подходу к теории вероятностей и строгому изложению общей теории. В четвертой неделе построенная общая теория обсуждается в более понятных и осязаемых частных случаях. Занятия сопровождаются большим количеством задач для самостоятельной работы слушателей.
3 трек. Программирование на языке С++
Программа курса основана на программах курсов языка C++, читаемых в разное время в Академии Современного Программирования, Академическом университете и Computer Science Center.
Мы постарались подобрать тесты и задачи на программирование, которые помогут проверить понимание изложенного материала. Мы обсудим наиболее популярные ошибки: как фактические, приводящие к неработоспособности программы, так и стилистические — ошибки, которые ухудшают читабельность кода и усложняют его поддержку.
4 трек. Операционные системы на примере Linux
Операционная система Linux является одной из наиболее распространенных и популярных. Она работает и в серверах и на настольных компьютерах, в различных устройствах (телевизорах, точках доступа, электронных книгах, системах хранения данных...), а также в мобильных телефонах, планшетах и умных часах, обеспечивая системную основу для Android, Tizen, Sailfish. Кроме того, Linux обладает открытым исходным кодом, что делает ее незаменимой для целей обучения, ведь любой может посмотреть на детали реализации системных механизмов и интерфейсов и повысить свой уровень, разбирая конкретные технические решения профессиональных разработчиков. Немаловажной является POSIX-совместимость Linux, что позволяет автоматически распространять умения программировать на другие ОС, например, Mac OS X.
В курсе будут рассмотрены базовые инструменты написания программ для Linux, а также затронуты основные прикладные интерфейсы, касающиеся управления процессами, работы с файловой системой, организации межпроцессного и сетевого взаимодействия. Также будет уделено внимание многим аспектам разработки программ, таким как: использование динамических библиотек, организация многопоточных вычислений и разделяемой памяти, получение расширенной информации о системе. Стоит отметить, что в этом курсе сознательно не затрагиваются вопросы программирования графического интерфейса пользователя, которые являются предметом рассмотрения отдельных курсов.

После окончания курса вы сможете уверенно разрабатывать несложные прикладные и серверные приложения, организовывать обработку данных на компьютерах с ОС Linux.
5 трек. Программирование на языке Python и функциональное на Haskell
Этот трек включает в себя два дополняющих друг друга курса. В первом вы познакомитесь с популярнейшим языком Python, его базовым синтаксисом и некоторыми особенностями. Вам будет предложено несколько задач, в которых вы сможете потренировать своё умение программировать. Ваши решения будут проверяться автоматической системой, поэтому вы будете получать быструю обратную связь. Кроме того, преподаватели будут давать индивидуальные советы по вашему коду.

Во втором курсе мы рассмотрим ленивую и энергичную семантики, алгебраические типы данных и их использование для сопоставления с образцом. Знакомясь с богатой системой типов Haskell, мы обсудим параметрический и специальный полиморфизм и, в частности, механизм классов типов. Мы изучим основные классы типов из стандартной библиотеки Haskell, в том числе функторы и монады. Мы научимся программировать, используя стандартные монады, в частности обсудим проблему ввода-вывода в чистых языках и его реализацию в Haskell с помощью монады IO, а также работу с изменяемым состоянием с помощью монады State.
Бонусный трек. Создание своего курса на Stepik
Этот курс для тех, кто захочет больше узнать о Stepik, а также попробовать себя в качестве автора курса. Курс познакомит вас с командой и историей Stepik, с интерфейсом платформы для учащихся и преподавателей, даст рекомендации по созданию, запуску и улучшению курса.
Вы сможете задать ваши вопросы по работе с платформой напрямую команде и поделиться прототипами своих курсов с преподавателями.
Этапы обучения
1
Старт 2 сентября. Вы знакомитесь с куратором и сокурсниками.
2
Сентябрь. Первый из двух курсов трека. Вы присутствуете на онлайн занятиях и изучаете материал самостоятельно.
3
Октябрь. Вы проходите и сдаете второй курс трека, начинаете небольшую дипломную работу.
4
Ноябрь. Вы защищаете дипломную работу и получаете диплом профессиональной переподготовки.
Набор завершен
Если вы хотите пройти наши образовательные программы при их повторных запусках, заполните, пожалуйста, небольшую анкету и мы свяжемся с вами!

Вступайте в наше сообщество ВКонтакте
https://vk.com/ismc.spbu


Следите за объявлениями и приходите к нам в следующем году!