Skip to content

hse-econ-data-science/dap_2023

Repository files navigation

Основы программирования на Python, весенняя коллекция 2023

Этой весной вас ждёт курс по python. Следующей весной будет курс про анализ данных. После каждого из этих курсов будет независимый экзамен от ФКН. Будет, страшно, сложно и весело.

Важные ссылки:

Идеология курса

Основная цель курса - научить вас скриптованию. По его итогам вы должны смело уметь открывать python и писать гору кода для решения всех своих проблем. Этот код может быть не очень оптимальным, но рабочим.

Курс представляет из себя сочетания онлайн и офлайн частей. В офлайн-части, мы на семинарах вместе что-то делаем. В основном решаем задачи. В онлайн-части, вы изучаете дополнительные материалы, которые мы выкладываем и пытаетесь решать задачи. Если что-то не выходит, тербуете консультаций и разбора этих задач у аcсистентов. Они ровно для этого и набраны.

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

Домашние задания и контрольные

Полный список необязательных контестов:

  1. Типы, строки, числа
  2. Условия
  3. Цикл for
  4. Строки и действительные числа
  5. Цикл while
  6. Списки
  7. Функции
  8. Множества
  9. Словари
  10. Сортировка и линейный поиск
  11. Функциональное программирование
  12. Классы

Большой план маленьких побед (будет немного меняться)

Установите перед первым семинаром Anaconda. Инструкция для windows и инструкция для мака.

Anaconda - это дистрибутив для новичка. Обычно рано или поздно от него отказываются. Если вы жёсткий и вам знакомо слово терминал, можно поставить python и всё необходимое через него. Желательно сразу же делать это через pyenv. Более подробная инструкция будет в канале.

  • sem01 Тратим полтора часа на то, чтобы запустить анаконду. Вводимся в python, git и делаем import this.
  • sem02 Говорим про циклы, условия, списки, что такое range (концепция генераторов на пальцах).
  • sem03 Говорим про изменяемые и незименяемые типы данных: списки, кортежи, строки и методы работы с ними. Обсуждаем как питон работает с памятью и где можно из-за этого накосячить.
  • sem04 Говорим о функциях и рекурсии. Решаем задачи на циклы и оформляем их в виде функций.
  • sem05 Говорим про словарики и множества
  • sem06 Решаем задачи на словари и множества. Немного говорим про collections.
  • sem07 Полезный функционал: list comprehension, map, lambda-функции, all, any, max, sorted, lambda внутри них как key и т.п. Мб про operator, collections и itertools
  • sem08 Чтение и запись в файлы. Типы файлов: txt, json, csv, tsv, pickle. Введение в pandas: подгрузили табличку и сделали минимальное её шатание. Сразу забыли про пандас до следующего года. На экзамене им пользоваться нельзя.
  • sem09 Учимся собирать данные, пишем парсеры.
  • sem10 Работа с API

Сдача домашек и контрольных

Сдача части домашних заданий и контрольных будет происходить через Яндекс.Контест. Для того, чтобы зайти в него вам нужен яндексовый логин. Зарегистрируйте почту на Яндексе и логиньтесь через неё, если у вас ещё нет такой почты.

Другая часть будет сдаваться через github. А может быть и через Anytask. Мы ещё не решили. До этой части домашек ещё дожить надо.

Самый важный раздел

Вы поулчаете две оценки. Одну за курс, вторую за независимый экзамен. Оценка за курс ставится по формуле:

Min(10, 0.1*МСР + 0.4*БСР + 0.5*ДЗ),

где ДЗ — средняя оценка за все домашние задания (4 штуки), МСР — средняя оценка за все мини-самостоятельные работы на семинарах (около 6 штук), БСР — средняя оценка за все большие самостоятельные работы (3 штуки). Округление арифметическое.

Независимый экзамен вы пишите в конце курса и получаете по его итогам отдельную оценку. Будет пробный вариант.

Лицензия

Весь контент, созданный для этого курса распространяются на правах лицензии MIT License либо на правах лицензии WTFPL на ваш выбор. Материалы публикуются как общественное достояние.

Releases

No releases published

Packages

No packages published