Практикум Python. Продвинутый поток 2025: различия между версиями

Материал из Public ATP Wiki
Перейти к навигации Перейти к поиску
Новая страница: «= Общие сведения = ==План занятий== * осенний семестр: 01 сентября – 14 декабря * зачетная не…»
 
Нет описания правки
Строка 1: Строка 1:
= Общие сведения =
= Общие сведения =
Основная цель курса - научиться работе с Python и изучить практические применения в различных сферах.
'''Полезные ссылки'''
TBA - Форма регистрации на курс




Строка 9: Строка 14:


== Руководитель курса==
== Руководитель курса==
Спицын Николай
Спицын Николай (tg: @Jetminded)


== Преподаватели курса==
== Преподаватели курса==
* Спицын Николай
* Подзорова Полина
* Лотфуллин Камиль
* Реброва Алина
* Кротов Андрей




== Чат курса==
== Чат курса==
[https://XXXXXXX чат в Telegram]
[https://XXXXXXX чат в Telegram] - TBA
 
== Оценки ==
Оценка за семестр (предварительно, финальную уточнять у руководителя курса):
 
К + Л + У + Пр + Сем,
 
где
 
* К - сумма баллов за контесты, до 15% от итоговой оценки
* У - устный опрос/коллоквиум в середине курса, до 15% от итоговой оценки
* Л - сумма баллов за лабораторные работы, до 40% от итоговой оценки
* Пр - балл за итоговый проект, до 30% от итоговой оценки
* Сем - балл от семинариста, до 10% от итоговой оценки
 
Блоки У, Л, Пр - блокирующие, т.е. за каждый из них надо получить хотя бы 3/10 для получения положительной итоговой оценки.
 
== План курса ==
Блок 1. Окружение
- Интерпретатор Python. Отличие от компилятора.
- Основы работы с Google Colab
- Основы работы с VS Code
 
Блок 2. Синтаксис Python
- Циклы, условия
- Генераторы, list comprehension
- Контейнеры
- Функции, лямбда-функции; классы. Основы ООП
 
Блок 3. Python для работы с данными
- Numpy
- Pandas
- Matplotlib, seaborn
- Работа с выборками в Python
- Основы HTML. Веб-скрапинг. BeautifulSoup.
- Работа с API
 
Блок 4. Применение Python в проектной деятельности.
- Telegram-боты
- PyGame
- Flask
 
 
== Программа устного опроса (коллоквиума) ==
Внутреннее устройство и работа с памятью.
 
1.1 Интерпретатор vs. Компилятор
 
1.2 Интерпретатор Python (CPython, GIL, bytecode)
 
1.3 Работа с памятью (garbage collector, подсчёт ссылок)
 
1.4 Mutability vs. Immutability. __hash__
 
1.5 Deep vs. Shallow copy (copy module)
 
1.6 Скоупы в Python. Замыкания
 
1.7 Виртуальное окружение (venv), pip
 
1.8 __globals__, function.__dict__, function.__defaults__
 
 
ООП в Python
 
2.1 Классы. Концепция ООП. Принципы, их реализация в Python
 
2.2 Множественное наследование, Method Resolution Order (MRO)
 
2.3 Magic methods (__dunder__). __init__, __new__, __del__
 
2.4 __name__, __doc__, __repr__, __str__, __format__
 
2.5 Descriptors (__get__, __set__, __delete__)
 
2.6 Property decorator (@property, @setter)
 
2.7 @classmethod, @staticmethod. Custom inits
 
 
Контейнеры в Python
 
3.1 list, tuple, dict, set. Кто это, создание, добавление/удаление элементов, обращение к элементам
 
3.2 Sequence vs mapping. collections.abc.Sequence. collections.abc.Mapping
 
3.3 __len__, __getitem__, __setitem__, __delitem__
 
3.4 Итератор. Написание итератора. __iter__, __next__
 
 
Декораторы и генераторы
 
4.1 Декораторы: объявление, использование
 
4.2 functools (cache, lru_cache, wraps)
 
4.3 Лямбда функции, модуль operator
 
4.4 Генераторы: объявление, использование. yield
 
 
Исключения в Python
 
5.1 Иерархия built-in исключений. Примеры исключений
 
5.2 Написание своих исключений
 
5.3 Конструкция try - except - else - finally
 
5.4 from … raise. __cause__, __context__
 
5.5 assert. Assert vs. raise
 
 
Прочее
 
6.1 Операторы * и **. Правила передачи аргументов в функцию. *args, **kwargs
 
6.2 map, zip, filter, reduce
 
6.3 Контекстные менеджеры (with, contextlib). __enter__, __exit__
 
6.4 @contextmanager
 
6.5 Docstrings, type hints (typing module)


== Программа курса и сдача домашек==
6.6 Format, f-строки. Оператор %.
В рамках программы изучаются следующие темы:


== План домашних заданий с уточнением сроков сдачи==
6.7 @singleton


== Критерии оценивания и формы контроля успеваемости (ДЗ, система бонусов, проект, зачет, экзамен)==


== Материалы занятий ==
== Материалы занятий ==
[https://.. Лекции]
TBA

Версия от 04:31, 20 августа 2025

Общие сведения

Основная цель курса - научиться работе с Python и изучить практические применения в различных сферах.

Полезные ссылки TBA - Форма регистрации на курс


План занятий

  • осенний семестр: 01 сентября – 14 декабря
  • зачетная неделя: 15 – 21 декабря
  • доп. выходные: 04 ноября 2025 г.

Руководитель курса

Спицын Николай (tg: @Jetminded)

Преподаватели курса

  • Спицын Николай
  • Подзорова Полина
  • Лотфуллин Камиль
  • Реброва Алина
  • Кротов Андрей


Чат курса

чат в Telegram - TBA

Оценки

Оценка за семестр (предварительно, финальную уточнять у руководителя курса):

К + Л + У + Пр + Сем,

где

  • К - сумма баллов за контесты, до 15% от итоговой оценки
  • У - устный опрос/коллоквиум в середине курса, до 15% от итоговой оценки
  • Л - сумма баллов за лабораторные работы, до 40% от итоговой оценки
  • Пр - балл за итоговый проект, до 30% от итоговой оценки
  • Сем - балл от семинариста, до 10% от итоговой оценки

Блоки У, Л, Пр - блокирующие, т.е. за каждый из них надо получить хотя бы 3/10 для получения положительной итоговой оценки.

План курса

Блок 1. Окружение - Интерпретатор Python. Отличие от компилятора. - Основы работы с Google Colab - Основы работы с VS Code

Блок 2. Синтаксис Python - Циклы, условия - Генераторы, list comprehension - Контейнеры - Функции, лямбда-функции; классы. Основы ООП

Блок 3. Python для работы с данными - Numpy - Pandas - Matplotlib, seaborn - Работа с выборками в Python - Основы HTML. Веб-скрапинг. BeautifulSoup. - Работа с API

Блок 4. Применение Python в проектной деятельности. - Telegram-боты - PyGame - Flask


Программа устного опроса (коллоквиума)

Внутреннее устройство и работа с памятью.

1.1 Интерпретатор vs. Компилятор

1.2 Интерпретатор Python (CPython, GIL, bytecode)

1.3 Работа с памятью (garbage collector, подсчёт ссылок)

1.4 Mutability vs. Immutability. __hash__

1.5 Deep vs. Shallow copy (copy module)

1.6 Скоупы в Python. Замыкания

1.7 Виртуальное окружение (venv), pip

1.8 __globals__, function.__dict__, function.__defaults__


ООП в Python

2.1 Классы. Концепция ООП. Принципы, их реализация в Python

2.2 Множественное наследование, Method Resolution Order (MRO)

2.3 Magic methods (__dunder__). __init__, __new__, __del__

2.4 __name__, __doc__, __repr__, __str__, __format__

2.5 Descriptors (__get__, __set__, __delete__)

2.6 Property decorator (@property, @setter)

2.7 @classmethod, @staticmethod. Custom inits


Контейнеры в Python

3.1 list, tuple, dict, set. Кто это, создание, добавление/удаление элементов, обращение к элементам

3.2 Sequence vs mapping. collections.abc.Sequence. collections.abc.Mapping

3.3 __len__, __getitem__, __setitem__, __delitem__

3.4 Итератор. Написание итератора. __iter__, __next__


Декораторы и генераторы

4.1 Декораторы: объявление, использование

4.2 functools (cache, lru_cache, wraps)

4.3 Лямбда функции, модуль operator

4.4 Генераторы: объявление, использование. yield


Исключения в Python

5.1 Иерархия built-in исключений. Примеры исключений

5.2 Написание своих исключений

5.3 Конструкция try - except - else - finally

5.4 from … raise. __cause__, __context__

5.5 assert. Assert vs. raise


Прочее

6.1 Операторы * и **. Правила передачи аргументов в функцию. *args, **kwargs

6.2 map, zip, filter, reduce

6.3 Контекстные менеджеры (with, contextlib). __enter__, __exit__

6.4 @contextmanager

6.5 Docstrings, type hints (typing module)

6.6 Format, f-строки. Оператор %.

6.7 @singleton


Материалы занятий

TBA