Code Monkey home page Code Monkey logo

masters-course-2023-data-software-tools's Introduction

Название дисциплины

Инструменты разработки data-driven решений

Авторский состав

Алексей Комиссаров, Данил Зилов, Полина Кучур

Описание курса

Этот курс представляет собой введение в инструменты и методы, которые необходимы для эффективного анализа данных и программирования. Студенты изучат различные темы, включая работу с интерактивными ноутбуками, управление программным обеспечением и пакетами, использование систем контроля версий, создание и использование API, планирование задач, использование GPU для вычислений и создание Docker контейнеров.

Начиная с основ анализа данных в Google Colab и Hugging Face, курс вводит студентов в мир Linux и управления программным обеспечением. Студенты также научатся использовать Git для контроля версий и Jupyter Notebooks для разработки исследовательских проектов. Продвинутые темы включают создание и использование API, планирование задач с использованием Slurm и других инструментов, а также использование GPU для ускорения вычислений.

В заключение курса студенты изучат основы работы с Docker и Docker Compose, чтобы создавать и управлять контейнерами для развертывания приложений.

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

Пререквизиты

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

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

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

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

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

Темы

  1. Анализ данных в ноутбуках на примере Google Colab и Hugging Face: Обучение основам работы с интерактивными ноутбуками для анализа данных с использованием Google Colab и примеров из Hugging Face.

  2. Базовый Linux для анализа данных: Основы работы с Linux и его инструментами для работы с данными.

  3. Установка и настройка программ. Conda. Базовый git: Обучение установке и настройке программного обеспечения, управлению пакетами с помощью Conda и основам системы контроля версий Git.

  4. Jupyter Notebooks, продвинутый git. Github и Gitlab: Погружение в работу с Jupyter Notebooks, продвинутые возможности Git и использование платформ для хранения кода Github и Gitlab.

  5. Практический подход к созданию своего и использованию стороннего API: Развитие навыков разработки собственного API и использования API сторонних сервисов.

  6. Планировщики задач. Slurm. Базовый bash для slurm. Инструменты для создания пайплайнов. Snakemake, luigi и другие: Изучение планировщиков задач, особенностей работы со Slurm, основ bash для работы со Slurm и инструментов для создания пайплайнов, таких как Snakemake и Luigi.

  7. Использование GPU для вычислений. Использование GPU на кластере: Изучение особенностей использования GPU для вычислений, в том числе на кластерах.

  8. Введение в docker и docker compose: Основы работы с Docker и Docker Compose, инструментами для создания и управления контейнерами для развертывания приложений.

Разделы

  1. Анализ данных в ноутбуках на примере Google Colab и Hugging Face:

    • Введение в интерактивные ноутбуки.
    • Работа с Google Colab: создание, сохранение и загрузка ноутбуков.
    • Использование Hugging Face для изучения различных наборов данных.
    • Примеры анализа данных в ноутбуках.
  2. Базовый Linux для анализа данных:

    • Введение в операционную систему Linux.
    • Базовые команды Linux.
    • Работа с файловой системой Linux.
    • Использование Linux для анализа данных.
  3. Установка и настройка программ. Conda. Базовый git:

    • Введение в установку программного обеспечения.
    • Работа с Conda для управления пакетами.
    • Введение в систему контроля версий Git.
    • Основы работы с Git: клонирование репозитория, добавление файлов, коммиты.
  4. Jupyter Notebooks, продвинутый git. Github и Gitlab:

    • Работа с Jupyter Notebooks: создание, сохранение, загрузка ноутбуков.
    • Продвинутые возможности Git: ветвление, слияние, решение конфликтов.
    • Использование Github и Gitlab для хранения и совместной работы над кодом.
  5. Практический подход к созданию своего и использованию стороннего API:

    • Введение в API и их использование.
    • Создание собственного API.
    • Использование API сторонних сервисов.
    • Примеры использования API в реальных проектах.
  6. Планировщики задач. Slurm. Базовый bash для slurm. Инструменты для создания пайплайнов. Snakemake, luigi и другие:

    • Введение в планировщики задач.
    • Работа со Slurm.
    • Основы bash для работы со Slurm.
    • Инструменты для создания пайплайнов: Snakemake, Luigi и другие.
  7. Использование GPU для вычислений. Использование GPU на кластере:

    • Введение в использование GPU для вычислений.
    • Использование GPU на локальной машине.
    • Использование GPU на кластере.
    • Оптимизация кода для работы с GPU.
  8. Введение в Docker и Docker Compose:

    • Введение в Docker и контейнеризацию.
    • Создание и управление Docker контейнерами.
    • Введение в Docker Compose для управления множеством контейнеров.
    • Создание и управление проектами с использованием Docker Compose.

Источники

В качестве основных источников информации и материалов для курса можно использовать следующие ресурсы:

  1. Google Colab и Jupyter Notebooks

  2. Hugging Face

  3. Linux и Bash

  4. Установка программ и Conda

  5. Git, Github и Gitlab

  6. APIs

  7. Планировщики задач и инструменты для создания пайплайнов

  8. GPU Programming

  9. Docker и Docker Compose

Также может быть полезно использовать онлайн-курсы, такие как Coursera, Udemy, Khan Academy и Edx, для дополнительных материалов по темам, связанным с курсом.

Оценочные средства

В рамках курса предполагается индивидуальное выполнение 8 домашних работ. Максимальный бал за каждую работу 10 баллов. За просрочку здачи задания начисляется штраф 3 балла от полученных баллов за каждую неделю просрочки.

Каждая домашняя работа в виде теста или минипроекта должна быть сдана в следующую неделю за прослушиванием соответствующей лекции (за исключением последней недели). Во второй части курса сдача, peer-review и проверка работы осуществляется через бота в телеграме.

  1. Задание 1. TBA
  2. Задание 2. TBA
  3. Задание 3. TBA
  4. Задание 4. TBA
  5. Задание 5. TBA
  6. Задание 6. TBA
  7. Задание 7. TBA
  8. Задание 8. TBA

Описание технологии проведения итогового экзамена / задания / зачета

Экзамен или финальный зачет в виде теста. Оценка состоит из двух часте 80% из практических заданий, 8 заданий по 10 баллов, 20% экзамен в виде теста с максимальными 20 баллами. Зачёт/не зачёт – зачёт от 60 баллов. Оценка (A-F система) A – 90-100 (отлично) B – 84-89 (хорошо) C – 75-83 (хорошо) D – 67-74 (удовлетворительно) E – 60-66 (удовлетворительно)

Результаты обучения

После успешного прохождения курса студенты смогут:

  1. Использовать интерактивные ноутбуки, такие как Google Colab, для анализа данных и изучения наборов данных Hugging Face.
  2. Использовать базовые команды Linux для анализа данных и управления файловой системой.
  3. Устанавливать и настраивать программное обеспечение, управлять пакетами с использованием Conda и эффективно использовать систему контроля версий Git.
  4. Работать с Jupyter Notebooks, использовать продвинутые возможности Git и управлять своими репозиториями кода на Github и Gitlab.
  5. Создавать собственные API и эффективно использовать API сторонних сервисов.
  6. Использовать планировщики задач, такие как Slurm, писать скрипты на bash для Slurm и использовать инструменты для создания пайплайнов, такие как Snakemake и Luigi.
  7. Эффективно использовать GPU для вычислений, в том числе на кластерах, для ускорения обработки данных.
  8. Создавать и управлять Docker контейнерами с помощью Docker и Docker Compose.

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

masters-course-2023-data-software-tools's People

Contributors

ad3002 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.