Python & R practice nes spr2023 — различия между версиями

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Новая страница: «= Общие сведения = * Семестр: 6 (третий курс) * Форма контроля: дифференцированный зачет (?) ==…»)
 
 
(не показано 5 промежуточных версий 3 участников)
Строка 1: Строка 1:
= Общие сведения =
 
* Семестр: 6 (третий курс)
 
* Форма контроля: дифференцированный зачет (?)
 
 
== Важные ссылки ==
 
* '''Регистрация на курс'''
 
* '''Материалы курсa'''
 
* '''Чат курса'''
 
* '''Таблица с оценками'''
 
 
 
== Требования ==
 
== Требования ==
 
* Аккаунт на GitHub
 
* Аккаунт на GitHub
Строка 21: Строка 11:
 
! Тема
 
! Тема
 
|-
 
|-
|1|| - || Введение. Знакомство с Python
+
|1|| 13.01 || Знакомство с Python. Основные инструменты разработки
 +
|-
 +
|2|| 16.01 / 19.01 || Базовые типы данных - практика. Базовый ввод / вывод. Условный оператор
 +
|-
 +
|3|| 20.01 || Контейнеры. Списки, кортежи, словари, множества
 +
|-
 +
|4|| 23.01 / 24.01 || Циклы `for` и `while`
 +
|-
 +
|5|| 27.01 || Строки. Работа с файлами
 +
|-
 +
|6|| 30.01 / 31.01 || Функции (часть 1). Базовый синтаксис, генераторы
 +
|-
 +
|7|| 06.02 / 09.02 || Функции (часть 2). Области видимости, замыкания, декораторы
 +
|-
 +
|8|| 10.02 || ООП. Основные принципы и определения и базовый синтаксис
 +
|-
 +
|9|| 13.02 / 14.02 || ООП. Magic-методы. Декораторы для классов 
 +
|-
 +
|10|| 17.02 || Дополнительные темы Python. *Юнит-тестирование*. Обработка ошибок. Модули и пакеты
 +
|-
 +
|11|| 20.02 / 21.02 || Регулярные выражения
 +
|-
 +
|12|| 27.02 / 28.02 || Numpy
 +
|-
 +
|13|| 03.03 || Оптимизация кода. Введение в Cython. Numba
 +
|-
 +
|14|| 06.03 / 07.03 || Введение в Pandas
 +
|-
 +
|15|| 10.03 || Продвинутый Pandas
 +
|-
 +
|16|| 13.03 / 14.03 || Визуализация данных. Matplotlib
 +
|-
 +
|17|| 17.03 || Web 101. REST API
 +
|-
 +
|18|| 20.03 / 21.03 || Парсинг страниц. BeautifulSoup. Scrapy
 +
|-
 +
|19|| 24.03 || Продвинутый парсинг. Selenium
 +
|-
 +
|20|| 03.04 / 04.04 || Web серверы для демо. Streamlit
 +
|-
 +
|21|| 07.04 || Работа с графовыми данными. NetworkX
 
|-
 
|-
|2|| - || Управление вычислениями. Контейнеры, итераторы. Словари, множества. Модуль collection
+
|22|| 10.04 / 11.04 || Введение в базы данных. SQLite
 
|-
 
|-
|3|| - || Функции (часть 1). Базовый синтаксис, генераторы.
+
|23|| 14.04 || Работа с геоданными. GeoPandas. Shapely. Folium
 
|-
 
|-
|4|| - || Функции (часть 2). Области видимости, замыкания, декораторы
+
|24|| 17.04 / 18.04 ||  
 
|-
 
|-
|5|| - || Строки и файлы
+
|25|| 21.04 ||  
 
|-
 
|-
|6|| - || ООП. Основные принципы и определения и базовый синтаксис. Magic-методы
+
|26|| 24.04 / 25.04 ||  
 
|-
 
|-
|7|| - || Лучшие практики программирования. Юнит-тестирование
+
|27|| 28.04 ||  
 
|-
 
|-
|8|| - || NumPy. Оптимизация кода
+
|28|| --- ||  
 
|-
 
|-
|9|| - || Работа с табличными данными. Pandas
+
|29|| --- ||  
 
|-
 
|-
|10|| - || Инструменты визуализации. Matplotlib
+
|30|| --- ||  
 
|}
 
|}
  
Строка 46: Строка 76:
 
# Тесты
 
# Тесты
 
# Контесты
 
# Контесты
# Практические проекты
+
# Финальный проект
# Лабораторная работа
 
  
 
=== Тесты ===
 
=== Тесты ===
* Небольшие тесты на 10 минут в начале каждого занятия
+
* Небольшие тесты на 10 минут в начале почти каждого занятия
 
* Вопросы по материалам прошлого занятия
 
* Вопросы по материалам прошлого занятия
 
* За каждый тест - 10 баллов.
 
* За каждый тест - 10 баллов.
Строка 56: Строка 85:
 
=== Контесты ===
 
=== Контесты ===
 
* Набор задач с автоматической проверкой тестирующей системой Я.Контест
 
* Набор задач с автоматической проверкой тестирующей системой Я.Контест
* Всего 6 тестов - после каждой темы базового блока
+
* Всего 6 контестов - после каждой темы базового блока
 
* Срок решения - 2 недели
 
* Срок решения - 2 недели
 
* За каждый контест - 10 баллов
 
* За каждый контест - 10 баллов
 
* '''Списывание детектируется и наказуемо!'''
 
* '''Списывание детектируется и наказуемо!'''
  
=== Практический проект ===
+
== Блок по R ==
* Проект - desktop-приложение (после ООП)
+
 
* Работа над кодом в несколько итераций на GitHub ('''нужен аккаунт''')
+
=== Превью блока ===
* Срок работы - 2 недели + 1 неделя на каждую следующую итерацию
+
 
* Список тем проектов будет позднее
+
На данном курсе мы с Вами обсудим язык R и его применение в задачах статистического анализа данных.
* Оценка за проект: зачет / незачет + до 2 доп. баллов (wow-эффект)
+
Кроме того, посмотрим, какие средства этого языка помогают красиво демонстрировать извлеченную информацию.
 +
 
 +
=== Объявление ===
 +
 
 +
Перед первой лекцией стоит попробовать установить R/RStudio самостоятельно ЗАРАНЕЕ. Это делается нативно
 +
 
 +
на [[Windows][https://cran.r-project.org/bin/windows/base/]]: найдите большую кнопку Download R (номер версии) for Windows.
 +
на [Mac[https://cran.r-project.org/bin/macosx/]]: если маку меньше, чем 5 лет, то смело ставьте *.pkg файл с последней версией. Если старше, то поищите на той же странице версию для вашей системы.
 +
на [Linux[https://cran.rstudio.com/bin/linux/]]: также можно добавить зеркало и установить из командной строки: sudo apt-get install r-cran-base
 +
 
 +
Не факт, что на первой лекции на помощь с установкой будет время (на первом семинаре будет), но, если все сделать аккуратно и заранее, то чаще всего всё легко устанавливается:)
 +
На лекции будет полезно брать с собой ноутбук для экспериментов и выполнения представленного кода.
 +
 
 +
=== План блока ===
 +
 
 +
{|  class="wikitable"
 +
|-
 +
! №
 +
! Дата
 +
! Тема
 +
|-
 +
|1|| 21.04 || Вводная лекция. Основы языка R и базовые типы.
 +
|-
 +
|2|| 24.04/25.04 || Настройка RStudio/R. Продолжаем говорить о типах данных. Векторизация.
 +
|-
 +
|3|| 28.04 || Теория вероятностей и статистика.
 +
|-
 +
|4|| 1.05/2.05 || data.table vs tidyverse. Статистические критерии.
 +
|-
 +
|5|| 5.05 || A/B-тестирование с примерчиком. "Философия" ggplot2, почему он крут и небольшая практика.
 +
|-
 +
|6|| 8.05/9.05 ||  Продолжение ggplot2. Разведывательный анализ данных. RMarkdown.
 +
|-
 +
|7|| 12.05 || Корреляционный, регрессионный и дисперсионный анализ. API, примеры и пример полноценного дашборда.
 +
|-
 +
|8|| 15.05/16.05 || Практика лекционного материала, создание дашборда.
 +
|}
 +
 
 +
=== Оценивание в блоке ===
 +
 
 +
Оценка по курсу состоит из нескольких частей:
 +
# Тест на лекции (на 10 минут, 10 баллов)
 +
# 2 домашки (20 баллов, срок выполнения каждой в районе 2х недель) + 1 балл по личным ощущениям проверяющего
 +
# 4 лекции, 4 семинара (по 1 баллу за активность)
  
=== Лабораторная работа ===
+
Итого: максимум 50 баллов + 10 доп баллов
* Анализ данных с помощью Pandas и Matplotlib
 
* Выдается после “Инструменты визуализации”
 
* Срок работы - 2 недели
 
* Оценка - 10 баллов
 
* Является блокирующей! Для получения зачета за курс необходимо набрать хотя бы 1 балл
 
  
== Команда курса ==
 
* Преподаватели:
 
  
* Ассистенты:
+
=== Финальный проект ===
 +
* Скоро

Текущая версия на 02:24, 25 апреля 2023

Требования

  • Аккаунт на GitHub
  • Ноутбук на семинарах

План курса

Дата Тема
1 13.01 Знакомство с Python. Основные инструменты разработки
2 16.01 / 19.01 Базовые типы данных - практика. Базовый ввод / вывод. Условный оператор
3 20.01 Контейнеры. Списки, кортежи, словари, множества
4 23.01 / 24.01 Циклы `for` и `while`
5 27.01 Строки. Работа с файлами
6 30.01 / 31.01 Функции (часть 1). Базовый синтаксис, генераторы
7 06.02 / 09.02 Функции (часть 2). Области видимости, замыкания, декораторы
8 10.02 ООП. Основные принципы и определения и базовый синтаксис
9 13.02 / 14.02 ООП. Magic-методы. Декораторы для классов
10 17.02 Дополнительные темы Python. *Юнит-тестирование*. Обработка ошибок. Модули и пакеты
11 20.02 / 21.02 Регулярные выражения
12 27.02 / 28.02 Numpy
13 03.03 Оптимизация кода. Введение в Cython. Numba
14 06.03 / 07.03 Введение в Pandas
15 10.03 Продвинутый Pandas
16 13.03 / 14.03 Визуализация данных. Matplotlib
17 17.03 Web 101. REST API
18 20.03 / 21.03 Парсинг страниц. BeautifulSoup. Scrapy
19 24.03 Продвинутый парсинг. Selenium
20 03.04 / 04.04 Web серверы для демо. Streamlit
21 07.04 Работа с графовыми данными. NetworkX
22 10.04 / 11.04 Введение в базы данных. SQLite
23 14.04 Работа с геоданными. GeoPandas. Shapely. Folium
24 17.04 / 18.04
25 21.04
26 24.04 / 25.04
27 28.04
28 ---
29 ---
30 ---

Оценивание

Оценка по курсу состоит из нескольких частей:

  1. Тесты
  2. Контесты
  3. Финальный проект

Тесты

  • Небольшие тесты на 10 минут в начале почти каждого занятия
  • Вопросы по материалам прошлого занятия
  • За каждый тест - 10 баллов.

Контесты

  • Набор задач с автоматической проверкой тестирующей системой Я.Контест
  • Всего 6 контестов - после каждой темы базового блока
  • Срок решения - 2 недели
  • За каждый контест - 10 баллов
  • Списывание детектируется и наказуемо!

Блок по R

Превью блока

На данном курсе мы с Вами обсудим язык R и его применение в задачах статистического анализа данных. Кроме того, посмотрим, какие средства этого языка помогают красиво демонстрировать извлеченную информацию.

Объявление

Перед первой лекцией стоит попробовать установить R/RStudio самостоятельно ЗАРАНЕЕ. Это делается нативно

на [[Windows][1]]: найдите большую кнопку Download R (номер версии) for Windows. на [Mac[2]]: если маку меньше, чем 5 лет, то смело ставьте *.pkg файл с последней версией. Если старше, то поищите на той же странице версию для вашей системы. на [Linux[3]]: также можно добавить зеркало и установить из командной строки: sudo apt-get install r-cran-base

Не факт, что на первой лекции на помощь с установкой будет время (на первом семинаре будет), но, если все сделать аккуратно и заранее, то чаще всего всё легко устанавливается:) На лекции будет полезно брать с собой ноутбук для экспериментов и выполнения представленного кода.

План блока

Дата Тема
1 21.04 Вводная лекция. Основы языка R и базовые типы.
2 24.04/25.04 Настройка RStudio/R. Продолжаем говорить о типах данных. Векторизация.
3 28.04 Теория вероятностей и статистика.
4 1.05/2.05 data.table vs tidyverse. Статистические критерии.
5 5.05 A/B-тестирование с примерчиком. "Философия" ggplot2, почему он крут и небольшая практика.
6 8.05/9.05 Продолжение ggplot2. Разведывательный анализ данных. RMarkdown.
7 12.05 Корреляционный, регрессионный и дисперсионный анализ. API, примеры и пример полноценного дашборда.
8 15.05/16.05 Практика лекционного материала, создание дашборда.

Оценивание в блоке

Оценка по курсу состоит из нескольких частей:

  1. Тест на лекции (на 10 минут, 10 баллов)
  2. 2 домашки (20 баллов, срок выполнения каждой в районе 2х недель) + 1 балл по личным ощущениям проверяющего
  3. 4 лекции, 4 семинара (по 1 баллу за активность)

Итого: максимум 50 баллов + 10 доп баллов


Финальный проект

  • Скоро