• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2020/2021

Python для извлечения и обработки данных

Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус: Курс обязательный (Клеточная и молекулярная биотехнология)
Направление: 06.03.01. Биология
Когда читается: 1-й курс, 1, 2 модуль
Формат изучения: с онлайн-курсом
Преподаватели: Дейниченко Ксения Александровна, Широкова Лари Дмитриевна
Язык: русский
Кредиты: 5
Контактные часы: 20

Программа дисциплины

Аннотация

Курс «Python для извлечения и обработки данных» имеет целью обучить студентов не только работе в Python, но и основам программирования вообще, поскольку наиболее базовые принципы являются схожими почти во всех языках программирования. При решении ряда задач исследователи часто сталкиваются с необходимостью работать с большими массивами данных. Характер данных может быть очень разным: последовательности нуклеиновых кислот (ДНК, РНК), аминокислот (белки). Для того чтобы эффективно работать с разными типами данных, необходимо знать основы программирования, так как именно навыки программирования позволяют автоматически собирать необходимую информацию за достаточно быстрое время. В качестве языка программирования в данном курсе используется Python. Язык Python на данный момент является очень популярным, в том числе в исследованиях в рамках естественных наук. Дисциплина подразделяется на два блока. Первый блок посвящен основам программирования и включает необходимые для дальнейшей работы в Python темы: переменные и типы данных, списки и кортежи, словари, условные конструкции, циклы и функции. Второй блок посвящен решению прикладных задач в Python и включает темы, связанные со сбором и анализом данных: выгрузка данных с сайтов, парсинг веб-страниц, работа с таблицами, визуализация и разведывательный анализ данных. Студентам будет предложен проект, при выполнении которого они смогут применить полученные знания для анализа генома. Базовые навыки программирования позволят работать с биологическими данными различного уровня и размеров эффективнее и уже сегодня являются достаточно востребованными навыками у специалистов естественнонаучного профиля.
Цель освоения дисциплины

Цель освоения дисциплины

  • Овладение навыками программирования на языке Python, овладение методами сбора и обработки данных для решения задач анализа биологических последовательностей и биологической статистики
Планируемые результаты обучения

Планируемые результаты обучения

  • Умеет работать в среде Jupyter Notebook, умеет создавать переменные разных типов
  • Умеет решать прикладные задачи с применением условных конструкций и циклов
  • Умеет писать функции на Python и тестировать их
  • Умеет загружать файлы с данными разных форматов (cvs, txt и основанных на них биологических FASTA, genbank)
  • Умеет выполнять операции с массивами NumPy
  • Умеет выгружать информацию из веб- страниц на примере NCBI
  • Умеет выгружать информацию с помощью API
  • Умеет выполнять базовые операции с табличными данными средствами Python
  • Знает этапы предварительной обработки текста и умеет реализовывать их на практике
  • Знает особенности типов и структур данных: словарь, список, вложенные структуры, float, int, строка
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Начало работы в Python.
    Установка Python 3 (дистрибутив Anaconda). Знакомство с интерфейсом Jupyter Notebook. Элементы языка разметки Markdown. Установка и импортирование библиотек. Элементарные вычисления в Python. Переменные в Python. Типы данных в Python: числовой, целочисленный, логический, строковый. Преобразование типов.
  • Управляющие конструкции в Python.
    Понятие управляющих конструкций. Построение блок-схемы для понимания структуры кода. Условные конструкции и операторы if-else. Особенности использования оператора elif
  • Циклы в Python
    Циклы for и while. Применение циклов к строкам, спискам, кортежам и словарям. Альтернатива коду с циклами: списковые включения.
  • Структуры данных в Python
    Списки, кортежи, множества, словари. Изменяемые и неизменяемые типы данных.
  • Функции в Python
    Устройство функций в Python. Написание простейших функций. Lambda-функции. Исключения. Поиск ошибок в коде и отладка.
  • Работа с файлами
    Работа с файлами в Python: открытие, изменение, сохранение. Разные форматы хранения данных: csv-файлы, json-файлы, txt-файлы.
  • Работа с текстами
    Регулярные выражения
  • Массивы NumPy
    Массивы vs списки в Python. Работа с массивами NumPy. Применение массивов в анализе данных.
  • Работа с таблицами
    Обзор возможностей библиотеки pandas. Преобразование датафреймов pandas: добавление строк и столбцов в таблицу, фильтрация строк по условиям. Группировка и агрегирование данных. Объединение таблиц.
  • Работа с html-файлами
    Введение в HTML и элементы веб-дизайна. Извлечение данных из веб-страниц. Парсинг html-файлов в Python с помощью библиотек requests и BeautifulSoup.
  • Работа с API
    Знакомство с API. API как источник данных.
Элементы контроля

Элементы контроля

  • неблокирующий Контрольная работа
    Контрольная работа проводится в письменной форме с использованием синхронного прокторинга. Контрольная работа проводится на платформе Онлайн-образование в НИУ ВШЭ (https://online.hse.ru/), прокторинг на платформе Экзамус (https://hse.student.examus.net). На платформе Экзамус доступно тестирование системы (https://lms.demo.examus.net/syscheck_st). Компьютер студента должен удовлетворять требованиям: https://elearning.hse.ru/data/2020/05/07/1544135594/Технические%20требования%20к%20ПК%20студента.pdf.
  • неблокирующий Тесты
  • неблокирующий Онлайн-курс
    Онлайн-курс "Python для извлечения и обработки данных" [URL: https://openedu.ru/course/hse/PYTHON/].
  • неблокирующий Проект
  • неблокирующий Защита проекта
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.15 * Защита проекта + 0.2 * Контрольная работа + 0.2 * Онлайн-курс + 0.25 * Проект + 0.2 * Тесты
Список литературы

Список литературы

Рекомендуемая основная литература

  • Nelli, F. (2018). Python Data Analytics : With Pandas, NumPy, and Matplotlib (Vol. Second edition). New York, NY: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1905344
  • Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505

Рекомендуемая дополнительная литература

  • G. Nair, V. (2014). Getting Started with Beautiful Soup. Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=691839