company_banner

Новости онлайн-курсов Mail.Ru Group: «Программирование на Python»


    Вчера мы запустили на Coursera новый онлайн-курс «Программирование на Python» совместно с МФТИ, чтобы научить всех желающих программировать на этом языке. Курс читают разработчики, применяющие Python в проектах, которыми ежедневно пользуются миллионы людей. Курс покрывает все необходимые для ежедневной работы программиста темы, а также рассказывает про многие особенности языка, которые часто опускают при его изучении.


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


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


    Курс состоит из следующих частей:


    1. Введение в Python
    2. Структуры данных и функции
    3. Объектно ориентированное программирование
    4. Углубленный Python
    5. Многопоточное и асинхронное программирование
    6. Итоговый проект

    Лекционные материалы и задания без оценки доступны бесплатно, для оцениваемых заданий и получения сертификата необходимо приобрести курс.



    Авторы курса


    Александр Емелин


    Разработчик Python, Go. Сторонник open-source. Автор достаточно крупного open-source проекта https://github.com/centrifugal/centrifugo.


    Мне давно нравилась идея дистанционного способа обучения. Спасибо Mail.Ru Group за возможность поучаствовать в создании подобного проекта.


    Александр Жебрак


    Программист, преподает курс по Python в Технопарке МГТУ и Mail.Ru Group. Занимается машинным обучением, 4,5 года работал в Mail.Ru в отделе внутренней разработки, руководил разработкой интранета. Сейчас занимается проектами в области анализа биомедицинских данных в InsilicoMedicine.


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


    Дмитрий Швеенков


    Окончил Пензенский государственный университет. Работает в Mail.Ru Group, руководит командой разработки. В последние несколько лет занимается разработкой высоконагруженных сервисов на Python.


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


    Содержание курса


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


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


    1. Введение в Python


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


    Темы недели


    • Знакомство с курсом
    • Первые шаги
    • Базовые типы и конструкции
    • Организация кода и окружение

    Задания по программированию


    • Сумма цифр в строке
    • Рисуем лестницу
    • Корни квадратного уравнения

    2. Структуры данных и функции


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


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


    Темы недели


    • Коллекции (списки, кортежи, словари, множества)
    • Функции (декораторы, генераторы)

    Задания по программированию


    • Key-value хранилище
    • Декоратор to_json

    3. Объектно ориентированное программирование


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


    В теоретической части студенты узнают, что такое классы, экземпляры и методы, научатся простому и множественному наследованию, name mangling.


    Темы недели


    • Классы и объекты
    • Наследование

    Задания по программированию


    • Реализация простого класса для чтения из файла
    • Классы и наследование

    4. Углубленный Python


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


    Темы недели


    • Особые методы классов
    • Механизм работы классов
    • Отладка и тестирование

    Задания по программированию


    • Файл с магическими методами
    • Дескриптор с комиссией

    5. Многопоточное и асинхронное программирование


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


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


    Темы недели


    • Процессы и потоки
    • Работа с сетью, сокеты
    • Асинхронное программирование

    Задания по программированию


    • Клиент для отправки метрик

    6. Итоговый проект


    На этой неделе вы сможете воспользоваться всеми накопленными знаниями для решения практической задачи.


    Задания по программированию


    • Сервер для приема метрик

    Постановка задачи


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


    Сервер должен соответствовать протоколу, который был описан в задании к предыдущей неделе. Он должен уметь принимать от клиентов команды put и get, разбирать их и формировать ответ согласно протоколу.


    Результат курса


    Участники создадут свой собственный проект — полноценное серверное приложение для получения метрик от множества клиентов, применив технологии курса. Подытожим, повторив сказанное в начале: выпускники курса овладеют необходимыми знаниями для разработки на языке Python. Кроме того, лучших выпускников мы рассмотрим на подходящую вакансию в Mail.Ru Group.


    Регистрация на курс


    Регистрируйтесь по ссылке!


    Уже знаете Python? Изучите другие курсы от Mail.Ru Group!


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

    Mail.Ru Group

    727,66

    Строим Интернет

    Поделиться публикацией

    Похожие публикации

    Комментарии 38
      +3
      Пожалуйста укажите стоимость курса. По ссылке «Pricing» указано только отличие в возможностях при оплате и без.
        0
        Текущую цену можно увидеть при нажатии кнопки «Зарегистрироваться» на курс. Более простого способа Coursera не предоставляет. Сама цена может меняться в пределах 2-5 тысяч рублей по решению платформы.
          0
          Там вроде можно прослушать сам курс «нахаляву» без получения сертификата.
            0
            Стоимость одного курса 3534 руб. или подписка 2935 руб. в месяц ко всем курсам на cursera.
            Если только получить материал без сертификата, то как выше указали — бесплатно.
              0
              Стоимость зависит от курса валюты.
              Курсера фиксирует цены в баксах, а нам показывает, например, в рублях (не по курсу ЦБ, а по своему).
                0
                Извините, правильно я понимаю: если я куплю подписку, мне все равно дадут сертификат?
                Даже если я пройду этот курс за месяц и не буду оплачивать следующий?
                  0
                  Чтобы получить сертификат, надо сдать задания. Чтобы получить к ним доступ, нужна подписка. Покупка подписки не дает вам сертификат, она дает доступ к заданиям и все.
                  По поводу месяца не подскажу, так как это зависит видимо от создателей курса, вы не попадает уже в дедлайн так как сроки уже прошли, с другой стороны указано что можно сдать задания до окончания курса (у меня например просрочки, так как для меня материал тяжеловат или даже скорее просто нехватка времени из-за реала)

                  Могу только добавить по покупке курса — сдать на сертификат можно в течение 180 дней с покупки курса, а не всегда, во всяком случае так указано при его покупке.
                    0
                    Можно пройти хоть за неделю.
                    • Есть кейс прохождения специализации по машинному обучению от МФТИ и Яндекса за 2 недели.
                    • Есть кейс прохождения специализации по дип лёрнингу от Andrew Ng, если не ошибаюсь, за 3 дня.

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

                    Так что иногда выгодно записаться бесплатно как слушателю, посмотреть видео, а потом оплатить подписку для «зачётной сессии».
                      0
                      Что вы подразумеваете под кейсами? А то мне не совсем понятно, как что-либо поможет мне самостоятельно быстрей понять практические задания, которые на данном курсе очень важны и наверное составляют 80% знаний курса (для меня, кому то может и нет). Готовый код и ответы на вопросы в тестировании?
                        0
                        Простите за невольный англицизм (увы, я тоже страдаю этой современной болезнью не к месту вставлять «умные» слова).
                        Я привёл примеры когда человек прошёл большую и сложную специализацию за 2 недели и за 3 дня. Т.е. проходить по подписке быстрее 1 месяца реально.
                        Просто хотел лишь это проиллюстрировать.

                        Никто вас не заставляет тянуться в «понедельном» темпе, если ваше личное восприятие материала позволяет учиться быстрее.
                          0
                          Понял, но думаю имелось ввиду другое, могут быть технические ограничения когда это сделать не возможно. Например сертификат может даваться только за выполненные в режиме дедлайна задания, при этом если за дедлайн не успели — то все… Делать только со следующим запуском. Курс больше месяца, поэтому хочешь не хочешь, либо 2 месяца, либо покупка курса целиком. У меня на курсере нет курсов, которые мне интересны в плане практики (оплаты) поэтому я просто целиком купил этот курс по python, и спокойной выполняю его, уже не боясь что сертификат не получу, он мне и не нужен) мне задания интересно выполнить самостоятельно.
                          Но тут нет строгого дедлайна, по сути можно даже в пробные 7 дней выполнить все, к концу этого курса. Это если кто то уверен в своих знаниях и хочет их проверить и закрепить сертификатом например, больше я не знаю причин так делать.
                            0
                            Не совсем так.
                            Задания можно выполнять в течение свой сессии, т.к. с момента старта (даже за 7 дней ДО начала) и до дедлайна всего курса.
                            Текущие дедлайны не влияют на зачёт.

                            У большинства популярных курсов (и МФТИ придерживается этого правила) на курсере сессии перезапускаются каждые 2 недели.
                            Т.е. обычно максимум что может выпасть — 7 дней.

                            Если курс длится больше месяца, это никак не связано с перезапусками.
                            Пример — то же машинное обучение. 2 курс длится 5 недель, но перезапускается через каждые 2.

                            Исключение курсы, где учится мало людей и нужны проверки других студентов — их иногда делают запускающимися раз в месяц-два. Например, дипломный проект на машинном обучении.
                            Но и тут есть тонкость.
                            Недавно саппорт курсеры сказал, что если вы оплатили подписку, прошли все курсы, то у вас есть 180 дней с момента оплаты для прохождения дипломного проекта, даже если вы больше не будете продлевать подписку. Сам не проверял.
                              0
                              На счет подписки не знаю, но вот после покупки курса можно увидеть вот такую информацию про 180 дней. И я думаю у меня это получится проверить, потому что я не успею сделать задания в срок.
                              Оплата курса
                              image

                                0
                                Да, если курс оплачивается по модели полного сертификата, а не месячной подписки, то 180 дней.
                                Раньше все курсы так были.
                                Потом правила изменились и большинство специализаций перешли на подписки…
                0
                Мне написал 3534 за курс. Если сертификат не нужен то бесплатно.
                image
                  0
                  Нажимаешь на «Зарегистрироваться» и там цена 3534 р.
                    0
                    Мне показывает 3534 рубля. Без оплаты доступны только видео, а правильно вы их поняли или нет и осталось ли что-то в голове — вы никогда не узнаете
                    0
                    По каким критериям будут определяться
                    лучшие выпускники
                    ?
                      0
                      Текстовка есть не ко всем видео.
                      Не стрОку, а строкУ.
                        0
                        «На втором примере мы берём срез с девятого по пятнадцатый символ.» — во-первых, обязательно надо сказать, что нумерация символов с начала строки начинается с нуля, во-вторых, в такой нумерации пятнадцатый символ — это пробел, а даже в видео видно, что перед вторым апострофом, обрамляющим справа результат среза, нет пробела. Правильное изложение: когда пишем 15, то получаем срез до 15-го, по 14-й символ включительно.

                        Вообще, при просмотре моментами возникает ощущение непродуманности изложения. Например, когда заявляется, что для определения строки надо заключить текст в двойные кавычки, а уже позже выясняется, что можно и в одинарные (апострофы). Или это намёк, что тру-стиль — в использовании именно двойных, а одинарные — на крайняк?
                          +1
                          Там много чего нет, и много чего необходимо искать самостоятельно. Как только начинаются первые задания это становится ясно. Но имхо полезней отправлять ученика читать документацию по языку, а не как считается линейные уравнения и т.п. Во всяком случае я вижу что у меня будут сложности и надо будет много изучать самостоятельно, но мне это интересно и я буду это делать. А вот на альтернативном курсе, все 9 недель сугубо математические задачи, которым лично мне не возможно вообще никогда не понадобятся с учетом моих целей изучения языка. Поэтому и стимула ковырятся в этих заданиях никакого.
                            +1
                            «Альтернативный курс» — это вы про ВШЭ видимо.
                            Я проходил. Курс действительно слабый в плане теоретической подготовки, а вот задания проблем не вызывают.
                            Почти все задачи (кроме бомбоубежищ и задачи про угадывание числа пожалуй) — уровня 9 класса и ниже в плане математики. Курс проходится легко и непринуждённо (за исключением, нескольких задач). Проблемы обычно не из-за непонятного алгоритма (ну что непонятного при сравнении измерений кирпича и дырки, через которую кирпич проталкивают, например?), а из-за Runtime Error, которые периодически выбрасывает грейдер (а делает он это «в любой непонятной ситуации», например, при синтаксической ошибке).

                            Как я выше писал — 6.00.1 в помощь! Курс легко переводится гугл транслейтом, если совсем не знаете английского. А если знаете хоть немножко, то обычно и без переводчика понятен.

                            P.S. Курс от МФТИ не отвергаю. Сам записан. Тема про виртуальные окружения на 1 неделе очень понравилась, например.
                              0
                              Пожалуй да, меня рантайм раздражали по не понятной мне причине. Если бы при тестах давали вводные данные при которых возникла ошибка, было бы гораздо проще, а так на порядок больше времени уходит на поиск ошибки, а не на ее устранение. Ну и с учетом того, что само задание вроде как решил, получается занимаешься не понятно чем, а не изучением основ языка.
                                0
                                Думаю, вы согласитесь, что все входные данные теста в онлайн курсе давать нельзя.
                                Станут просто подгонять.
                                Другое дело, мне кажется, что должны давать хотя бы все ВИДЫ входных данных.
                                Ну и тесты желательно чтобы были «атомарные». Т.е. 1 тест — 1 фича. А то в задаче про класс, если память не изменяет каждый тест делает целую гору проверок, и в случае Runtime Error действительно уповать особо не на что.

                                Вообще, мне курс от вышки понравился именно как задачник. Чтобы «набить руку» пойдёт.
                                  +1
                                  Как задачник да, но я его потом пройду, пока отказался, так как курс называется — основы, а не задачник.
                                  Основы это когда в лекции рассказывают что встроенная функция например range работает быстрей конструкции while, и поэтому время выполнения вашего алгоритма может быть значительно быстрей, на столько что в первом случае вы пройдет тесты, а во втором случае, где то на 60-ом тесте вам скажут «не хватило времени». После этого отпадает всякое желание продолжать такой курс если честно. Я два дня искал в чем проблема, а проблема оказалось в том, что Лектору было сложно сказать на одно предложение больше в лекции.
                        –4
                        Курс по программированию. К разработке ПО отношения не имеет.

                        Управление зависимостями не затронуто. Написание setup.py, возня с sdist/bdist, pip, virtualenv — ничего этого нет.

                        Структура проекта? Тестирование? Энтрипоинты? Дистрибьюция результатов?

                        Всё перечисленное — software engineering, и ничего этого в курсе нет. Человек, закончивший этот курс, сможет написать «файл на питоне», но сделать его программой не сможет.
                          +2
                          Организация кода и окружение
                          Модули и пакеты 18 min
                          Виртуальное окружение (Virtualenv). Установка и запуск Jupyter Notebook 9 min

                          эмм?
                            0
                            Сюдя по первой неделе:
                            Управление зависимостями затронуто (про pip, virtualenv рассказывают)
                            Структура проекта объясняется (импорт, модули, пакеты)
                            Тестирование — в 4 неделе есть по нему материал.

                            Возможно поверхностно, но многие темы затрагиваются.
                              +2
                              Да, курс именно про язык, у нас не было цели покрыть абсолютно все темы, связанные с процессом разработки. Однако даже из перечисленного, чего по вашим словам в курсе нет — зависимости, pip, virtualenv, структура проекта и тестирование разбираются. Написать свой базовый setup.py и отправить его на pypi у человека, который прошел курс, проблем составить не должно.
                                +4
                                По своему маленькому опыту могу сказать так:
                                Я прослушал всего, где то 40 минут лекций, — этот курс уже лучше единственного русскоязычного курса по python на cursera (там я прохожу пока четвертую неделю), да и на stepik.org курс похуже. Во всяком случае для тех кто пришел изучать с нуля.
                                  0
                                  Но всё же MIT6.00.1x я бы рекомендовал в первую очередь. Несмотря на английский язык он очень простой и ёмкий. Для начинающих гораздо лучше, ИМХО.
                                    0
                                    Если бы я знал английский, я бы даже не заглядывал на русскоязычные ресурсы. Данные курсы для другой аудитории — для еще не знающих или не достаточно знающих английский, и я очень рад что они появляются. Лично у меня тяжко улучшением навыков английского выше новичка, сколько не пытался его учить — наверное проблема в том, что я не вижу зачем он мне нужен, а значит я не хочу на него тратить время, его и так нет.
                                      0
                                      Если бы я знал английский, я бы даже не заглядывал на русскоязычные ресурсы.

                                      неочевидным образом сочетается с


                                      … я не вижу зачем он мне нужен...
                                        0
                                        Сочетается, но на данный момент это малый стимул. Частично английский я знаю по играм, и с помощью гугла могу почитать то что не понял в плане документации. А только для того чтобы на слух воспринимать лекции, в ближайшей перспективе выглядит не очень… Во всяком случае для меня.
                                0
                                Ваша реклама просто повсеместно в интернете. Уже наизусть её текст знаю. Есть ли на рынке такая острая нехватка «python-программистов»?
                                  +1
                                  На рынке нехватка любых дешевых грамотных программистов.
                                  +2
                                  Спасибо!
                                    0
                                    Что ж посмотрим- очень интересно! Зарегался) Python лишним не бывает XD

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

                                    Самое читаемое