0
JeyLie

otus Разработчик Python (2019)

Рекомендуемые сообщения

5.png

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

Курс ставит своей целью погрузить вас в современную “промышленную” разработку в широком смысле, как в теории, так и на практике. При этом сам язык Python является лишь инструментом, с помощью которого мы будем препарировать различные области программерских знаний. Во главу угла же поставлено освоение основных software engineering компетенций через призму конкретного языка, а также формирование прагматичного подхода к решению задач.

Особенности курса: практикоориентированность и охват. На курсе много домашних заданий, некоторые из которых будут представлять настоящий challenge, а опциональные задания позволят самым смелым капнуть еще глубже и “потрогать” еще более продвинутые вещи. При этом области, в которых вы будете испытывать свои способности, имеют весьма широкий спектр: курс охватывает и web, и анализ данных и вопросы создания высоконагруженных систем. В конце курса вы реализуете проект на свободную тему.

Курс универсальный, рассматриваются и 2 и 3 версии Python. Домашние работы и проект можно выполнять на любой версии, примеры на занятиях чаще работают под обе версии, но большинство писались на 2ой версии, запущен процесс их переделывания на Python 3. Все необходимые отступления и обсуждения разницы в версиях делаются.

По окончании курса вы получите понимание структуры современной разработки ПО и место Python и прочих инструментов в ней, ответите на вопросы: “как писать простой и идиоматичный код, за который не будет мучительно стыдно?“, “как тестировать и поддерживать код на Python?“, “как написать приложение, которое не умрёт под нагрузкой?“

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

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

Программа курса:

Первый месяц

  • Advanced basics. Unicode. Floating point numbers.
    Itertools, functional programming, recursion, lambda, closures. Decorators.
  • HW1: Advanced Python Exercises.
  • Internals. CPython, source structure, basic types implementation. Memory model, allocation, reference counting, garbage collection. GIL.
    Algorithms, Python time complexity, classic algorithms, graph algorithms.
  • HW2: Adding new statement to Python language.
  • OOP. Object model. Descriptors. Magic methods. ABC. Metaprogramming.
  • HW3: Design Patterns.
  • Automatization. Databases, networking, daemons.
    Deployment. Setup tools, distribution. packaging, containers.
  • HW4: Asynchronous HTTP server.

Второй месяц

  • WSGI. Fast CGI, uWSGI, Gunicorn.
    Django. MVC\MTV, environment setup.
  • HW5: uWSGI microservice daemon.
  • ORM. CRUD, Query sets, Object managers, Transactions, Migrations.
    SQLAlchemy. Schema, Types, CRUD, Exceptions, Transactions.
  • HW6: Django App I
  • Views, Function/Class based views. Forms, validation. Pagination.
    Templates. Filters, tags, Jinja2.
  • HW7: Django App II
  • Middleware. Django Admin.
    Testing. Unit tests, CI.
  • HW8: Django App III

Третий месяц

  • REST API. Architecture, frameworks, rate limiting, documentation.
    Queues, Celery.
    Twisted. Tornado. Flask.
  • HW9: Django App IV
  • IPython.
    SciPy, NumPy. Basics, arrays, linear algebra, advanced usage.
  • HW10: Logistic Regression.
  • Pandas. Basics, data loading and storage, data wrangling, aggregation, time series.
  • HW11: Open data analysis.
  • Visualization. matplotlib, seaborn, pandas, d3.js, Apache Zeppelin.
    Python and Hadoop. Hadoop basics, streaming, ETL.
  • HW12: MapReduce task with visualization.

Четвертый месяц

  • Profiling. Linux tools, CPU, Memory, Tracing.
    Concurrency, Parallelism. Multithreading, multiprocessing, gevent.
  • HW13: Concurrent file processing.
  • C extensions, C API, ctypes, cffi.
    Cython, Pypy.
  • HW14: Protobuf (un)packer extension.
  • Clustering. Parallel Python, IPython Parallel, Queues.
    Memory optimization. RAM usage, probabilistic data structures.
    Golang.
  • HW15: Concurrent file processing in Go.
  • Python 3. Overview, migration, features.
  • HW16: Python 3 Exercises.

Пятый месяц

  • Monitoring system
  • Flask REST API
  • Django Web App
  • Data pipeline
  • Custom project
Спойлер

https://cloud.mail.ru/public/4YYv/2dxoeWQMV

 

Поделиться сообщением


Ссылка на сообщение

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

Вы сможете оставить комментарий после входа в



Войти
0

  • Похожий контент

    • От JeyLie
      Темы первого модуля:

      Введение в алгоритмы, RAM-модель
      Студенты смогут оценивать сложность алгоритмов, ознакомятся с эмулятором RAM-машины.

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

      Простейшие структуры данных: массив, динамический массив, стек, очередь, списки, кучи
      Студенты ознакомятся с использованием и реализацией простейших структур данных.

      Алгебраические алгоритмы: алгоритм Евклида, быстрое возведение в степень, решето Эратосфена, быстрое вычисление чисел Фибоначчи
      Студенты ознакомятся с использованием и реализацией некоторых популярных алгебраических алгоритмов.

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

      Сортировка слиянием, timsort
      Студенты освоят и смогут реализовать алгоритмы сортировки слиянием и timsort.

      Пирамидальная сортировка (heap sort), tree sort, очередь с приоритетами
      Студенты смогут реализовывать и применять пирамидальную сортировку, tree sort, очередь с приоритетами.

      Быстрая сортировка
      Студенты освоят алгоритм быстрой сортировки.

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

      Медианы и порядковые статистики
      Студенты научатся реализовывать алгоритмы для нахождения медианы и порядковых статистик.
       
    • От JeyLie
      Программа курса:
      Первый модуль
      Для разработки в области анализа данных необходимо понимать, как устроены основные алгоритмы, какая у них сложность и скорость работы, сколько требуется ресурсов для их успешной работы, область применимости.В первом модуле программы разбираются все базовые алгоритмы машинного обучения. Изучение проходит на сгенерированных данных, не требующих времени на преобразование и доработку. Разъясняется значение и влияние параметров алгоритмов на результат. Каждый этап обучения сопровождается наглядной визуализацией.Будут рассмотрены алгоритмы: линейная регрессия, логистическая регрессия, деревья решений, knn, SVM, k-means, EM, иерархическая кластеризация, DBScanВ результате слушатели уверенно освоят базовые алгоритмы анализа данных и инструменты для базового анализа данных на Python

      Занятие 1: Базовые инструменты анализа данных в Python. 
      Подготовка к курсу. Git, окружение Python. Обзор курса.
      Введение в Python, Numpy, Pandas, Sklearn. API Sklearn.
      Что такое DS, ML, классы решаемых задач.
      ДЗ
      Реализация библиотеки. Реализация библиотеки для подсчета статистик и преобразования датасетов в формате csv. Отработка инструментов для преобразования данных в pandas и sklearn.

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

      Занятие 3: Визуализация 
      Визуализация на matplotlib, seaborn, plotly
      ДЗ
      Построение визуализаций по данным

      Занятие 4: Линейная регрессия 
      Математика линейной регрессии. Проблема многомерных пространств и переобучения на примере регрессии. Проблема разреженных данных. Регуляризация.
      Простая линейная регрессия на Python. Оценка качества регресcии. Проверка точности модели: обучающая и тестовая выборки. Обучающая и тестовая выборка, кросс-валидация.

      Занятие 5: Логистическая регрессия 
      Математика логистической регрессии. Мультиклассовая регрессия. Оценка качества логистической регрессии.
      Теория вероятностей: условные вероятности, теорема Байеса.
      Обучение регрессии, градиентный спуск. Регуляризация: L1, L2.
      ДЗ
      Реализация алгоритма логистической регрессии. Реализация алгоритма логистической регрессии на простых данных. Оценка качества, подбор параметров модели.

      Занятие 6: KNN, наивный байес 
      Метрики и расстояния между объектами: евклидова и другие.
      Обучение модели kNN. Ограничения.
      Метрики качества: accuracy, precision, recall, др.
      Алгоритм наивного байеса. Байесовский классификатор, Принцип Maximum A-Posteriori

      Занятие 7: kMeans, EM 
      Обучение без учителя. Алгоритмы кластеризации, области применения. k-means. Оценка качества обучения, ограничения и подбор алгоритма для задачи.
      Байесов подход к вероятности. Алгоритмы с lower-bound. Em алгоритм.
      ДЗ
      Реализация EM-алгоритма. Реализация EM-алгоритма на простых данных. Оценка качества кластеризации.

      Занятие 8: Иерархическая кластеризация, DB-Scan 
      Иерархическая кластеризация, DB-Scan. Optics. Спектральная кластеризация.

      Занятие 9: Feature engineering 
      Feature engineering. Статистический анализ данных, выбор фич на основе корреляции.
      ДЗ
      Преобразование набора данных и подбор фич.

      Занятие 10: Поиск выбросов в данных 
       
       
    • От JeyLie
      Вы узнаете:

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