Материалы:
Инструкция по работе с Яндекс.Контестом: https://github.com/MSUcourses/...
Инструкции по установке Python и IDE: https://github.com/MSUcourses/...
Конспект к лекции 1: https://colab.research.google....
Домашнее задание 1: https://contest.yandex.ru/cont...
Конспект к лекции 2: https://colab.research.google....
Конспект к лекции 3: https://colab.research.google....
Конспект к лекции 4: https://colab.research.google....
Конспект к лекции 5: https://colab.research.google....
Конспект к лекции 6: https://colab.research.google....
Конспект к лекции 7: https://colab.research.google....
Конспект к лекции 8: https://colab.research.google....
Конспект к лекции 9: https://colab.research.google....
Конспект к лекции 10: https://colab.research.google....
Конспект к лекции 11: https://colab.research.google....
Конспект к лекции 12: https://colab.research.google....
Курс посвящен основам программирования на языке Python. Слушатели курса познакомятся с основными конструкциями языка Python и парадигмами программирования, а также с инструментами для анализа и визуализации данных.
Основная цель курса - это изучение основ работы с данными с помощью языка Python.
Продолжительность: 1 семестр (12 лекций).
Темы курса:
- синтаксис языка Python
- коллекции «золотого фонда» Python
- визуализация данных
- библиотеки NumPy и Pandas
- извлечение и получение данных
- парадигмы программирования
Список всех тем лекций
Лекция 1. Введение.
Приветствие и знакомство с преподавателем
Целевая аудитория курса
Вопрос к слушателям курса о том, с какого они факультета
Структура курса и информация о смежных курсах
Универсальность языка Python
Область использования языка Python
Популярность в мире
Запуск простых операций в Python
Изменение популярности языков программирования в мире, посчитанное с помощью Python
Python в российском образовании
Статистика студентов по факультетам
Ответы на вопросы от студентов
Статистика студентов по факультетам
Алгоритм программирования
Применение Python
Ответы на вопросы от студентов
Применение Python
Автоматизация программирования: циклы и вложенные циклы
Ответы на вопросы от студентов
Автоматизация программирования: циклы и вложенные циклы
Автоматизация программирования: разветвление с помощью оператора if
Фракталы
Заключение
Лекция 2. Текстовые данные.
Вступление к лекции
Написание кода на Python
Версии языка Python
Ввод и вывод текстовых данных
Операции + и * со строками
Ошибки и как к ним правильно относиться
Вопросы от студентов
Интроспекция в Python
Память программы
Вопросы от студентов
Модель данных языка Python
Объект строка и его методы
Строка как итерируемый объект
Срезы строки
Срезы с двумя параметрами
Вопрос от студентов
Срезы с двумя параметрами
Срезы с тремя параметрами
Как и зачем закрывать
Заключение
Ответы на вопросы студентов
Заключение
Лекция 3. Итерируемые объекты.
Вступление к лекции
Модель данных Python
Присваивание
Вопросы от студентов
Присваивание
Конструирование списка
Вопросы от студентов
Конструирование списка
Срезы списка
Потоковая обработка списков
Генераторы и списковые включения ("генераторы список")
Функция map
Функция как объект 1-го класса
Функция zip
Библиотека itertools
Срез последовательности islice
Запись в файл
Заключение
Лекция 4. Числовые данные.
Вступление к лекции
Представление числовых данных в памяти компьютера
Двоичная система счисления
Типы числовых данных в памяти ПК
Дробные числа
"Переменные" в Python
Вопросы от студентов
"Переменные" в Python
Подсчет ситуаций
Суммирование чисел
Цикл while и арифметические расчеты
Арифметическая прогрессия
Геометрическая прогрессия
Ветвление хода исполнения программы
Вложенные условные конструкции
Каскадная конструкция if, elif, else
Практическая задача на расчёт кредита
Создание вручную файла CSV
Заключение
Лекция 5. Сортировка данных.
Вступление к лекции
Ссылочная модель данных Python
Действия со списками list в Python
Ответы на вопросы студентов
Действия со списками list в Python
Срезы списков и строк
Присваивание в срез списка
Операции, изменяющие длину списка
Ответы на вопросы студентов
Удаление одного элемента
Ответы на вопросы студентов
Удаление одного элемента
Добавление последовательности элементов
Сортировка списка
Функция sorted
Копирование объектов list
Двумерные массивы (списки списков)
Заключение
Лекция 6. Частотный анализ и группировка данных.
Вступление к лекции
Частотный анализ в Python
Вопрос эффективности
Вопрос от студентов
Вопрос эффективности
Множества и работа с ними
Словарь и операции с ним
Частотный анализ со словарем
"Покупаем велосипед" collections.Counter
Заключение
Лекция 7. Построение графиков в Matplotlib.
Вступление к лекции
Построение графиков и основы библиотеки Matplotlib
Числа с плавающей точкой и ошибки вычислений
Недопустимость сравнения для чисел float
Виды округлений
Математическая сущность функций
Синтаксис создания пользовательской функции, возвращающей значение
Стандартные математические функции
Практика создания пользовательских функций
Поиск корня уравнения методом деления отрезка пополам
Основы NumPy
Заключение
Лекция 8. Библиотека NumPy.
Вступление к лекции
Основы NumPy
Массивы np.array
Векторные операции с массивом
Срезы массивов NumPy
Присваивание в срез
Статистические характеристики данных
Генерация случайных чисел
Изображения как массивы NumPy
Ответ на вопрос студента
Многомерные массивы NumPy
Скорость работы программы
Комментарий к домашнему заданию
Лекция 9. Логика. Библиотеки Pandas и NumPy.
Вступление к лекции
Логика высказываний
Логические операции И, ИЛИ, НЕ
г
Ленивые операции И и ИЛИ
Функции all и any
NumPy и логические выражения
Векторные логические операции
Логические операции с логическими массивами NumPy
Редукция массивов NumPy методами any и all
Основы работы с данными в Pandas
Знакомство с данными
Серия данных в конкретном столбце
Фильтрация Pandas DataFrame по логическому условию
Фильтрация при помощи метода query
Гистограмма распределения
Статистические характеристики выборки данных
Анализ данных абитуриентов Мехмата МГУ
Заключение
Лекция 10. Библиотека Pandas.
Вступление к лекции
План лекции
Работа с данными из системы Яндекс.Контест
Визуализация
Объединение данных из нескольких таблиц
Ответы на вопросы студентов
Объединение данных из нескольких таблиц
Объединение данных из контеста
Groupby
Индексация
Сохранение данных, работа с excel
Заключение
Лекция 11. Сбор данных.
Вступление к лекции
Задачи машинного обучения
Поиск/сбор данных
Самостоятельная подготовка датасета
Регулярные выражения
Пример задачи машинного обучения
Заключение
Лекция 12. Парадигмы программирования.
Вступление к лекции
Парадигмы программирования
Парадигма
Отсутствие парадигмы
Структурная парадигма
Делегирование ответственности
Итеративная разработка
Объектно-ориентированное программирование в Python
Заключение
