Войти

Данный курс предназначен для студентов естественно-научных направлений, которые хотят заниматься научными вычислениями и анализом данных. 

Курс состоит из 15 интерактивных лекций и 15 семинаров. 

На лекциях разбирается тема и вместе с учащимися решаются простые упражнения на понимание. 

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

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

Данные для большинства современных естественно-научных задач могут занимать терабайты дискового пространства, а для их обработки нужно большое количество оперативной памяти или GPU. Это требует навыков работы с серверами, большая часть которых функционируют на Linux. Поэтому в курсе отводится время на работу с командной строкой и работа с ней при помощи Bash. В результате этого прошедшие курс получают практические навыки работы на сервере и в операционной системе Linux. 

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

Список всех тем лекций

Лекция 1. Вводная лекция.
Вводное слово к курсу Что такое Python Работа в Jupyter и Google Colab Что есть в языке программирования? Объектная природа сущностей в Python Базовый ввод и вывод Числа с плавающей запятой Операторы присваивания Логический тип данных Строки Сравнение Вывод информации

Лекция 2. Форматирование строк. Ветвление. Циклы.
Форматирование строк Parse Условные операторы и циклы Циклы

Лекция 3. Коллекции. Модуль collections. Случайные числа в Python.
Коллекции Список Методы строк, связанные со списком Кортеж Словари Множества Модуль collections Случайные числа в Python

Лекция 4. Работа с текстовыми файлами. JSON. Бинарные файлы. Модуль Pathlib.
Работа с файлами Открытие файла Чтение из файла Запись в файл Бинарные файлы. Форматы файлов и библиотеки для работы с ними JSON

Лекция 5. Знакомство с Linux.
Почему именно Linux Особенности этого блокнота Подключение к серверу Команды и их аргументы Абсолютный путь cd  echo remove mk dir Права Загрузка данных из интернета Качаем данные с сервера и на сервер

Практическое занятие к лекции № 5. Знакомство с Linux.
(маски файлов) (команда ls) (команда ls —help) Задание 4 Задание 5 Задание 6 Задание 7 Задание 8

Лекция 6. Работа с архивами. Стандартные потоки и их перенаправление.
Работа с архивами Загружаем данные с сервера на сервер Стандартные потоки и их перенаправление Редактирование файлов на удалённом сервере Grep Пайплайны Еgrep Основы работы на кластере Ответы на вопросы

Лекция 7. Системы контроля версий на примере Git.
sed echo + CLI Как зайти на сервер, запустить программу, выйти с сервера, чтобы ничего не прервалось Система контроля версий (понятие и терминология) Сценарий работы Скриптинг на bash Файлы настроек

Лекция 8. Что такое Linux и как он работает.
Описание ОС Linux Файловая система LD_LIBRARY_PATH Запуск параллельных вычислений Порты

Лекция 9. Функции. Вычисления. Полезные модули.
Задача (на вход даётся два массива из чисел, найти разницу между максимумом первого и второго массива) DRY Функция Задачи (запись функции) Функция внутри функции Что может и не может менять функция Правила работы с функциями Ещё примеры кода Аргументы по умолчанию Рекурсия Исключения Несколько часто используемых модулей

Лекция 10. Введение в объектно-ориентированное программирование. Зачем оно и как облегчает работу с научными данными.
Классы Динамические атрибуты Наследование Getattr и setattr

Лекция 11. Функции и их аргументы. Итераторы. Генераторы.
Аргументы по умолчанию Списочные сокращения Итераторы Последовательности и итерируемые объекты Генераторы Функция генератора Полезные встроенные генераторы в Python Модуль itertools fqdm Использование элементов командной строки

Лекция 12. Matplotlib NumPy и почему это быстро. Базовый анализ данных.
Библиотека NumPy Алгебраические операции Агрегирующие операции Логические операции Индексация и срезы Библиотека MPL Как визуализировать данные

Лекция 13. Знакомство с Pandas. Группировки и построение простых графиков Seaborn. Plotly.