Программирование на Python КНАД 23/24 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Строка 53: Строка 53:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! !! [https://official.contest.yandex.ru/contest/51827/enter/ ДЗ1] !! [https://official.contest.yandex.ru/contest/52138/enter/ ДЗ2] !! [https://official.contest.yandex.ru/contest/52674/enter/ ДЗ3] !! [https://official.contest.yandex.ru/contest/52786/enter/ ДЗ4] !! [https://official.contest.yandex.ru/contest/53024/enter/ ДЗ5] !! [https://official.contest.yandex.ru/contest/53159/enter/ ДЗ6] !! [https://official.contest.yandex.ru/contest/53796/enter/ ДЗ7] !! [https://official.contest.yandex.ru/contest/53862/enter/ ДЗ8] !! ДЗ9
+
! !! [https://official.contest.yandex.ru/contest/51827/enter/ ДЗ1] !! [https://official.contest.yandex.ru/contest/52138/enter/ ДЗ2] !! [https://official.contest.yandex.ru/contest/52674/enter/ ДЗ3] !! [https://official.contest.yandex.ru/contest/52786/enter/ ДЗ4] !! [https://official.contest.yandex.ru/contest/53024/enter/ ДЗ5] !! [https://official.contest.yandex.ru/contest/53159/enter/ ДЗ6] !! [https://official.contest.yandex.ru/contest/53796/enter/ ДЗ7] !! [https://official.contest.yandex.ru/contest/53862/enter/ ДЗ8] !! [https://official.contest.yandex.ru/contest/54358/enter/ ДЗ9]
 
|-
 
|-
| Дедлайн || 17.09.2023 23:59:59 || 19.09.2023 23:59:59 || 26.09.2023 23:59:59 || 28.09.2023 23:59:59 || 04.10.2023 23:59:59 || 07.10.2023 23:59:59 || 14.10.2023 02:59:59 || 16.10.2023 02:59:59 ||  
+
| Дедлайн || 17.09.2023 23:59:59 || 19.09.2023 23:59:59 || 26.09.2023 23:59:59 || 28.09.2023 23:59:59 || 04.10.2023 23:59:59 || 07.10.2023 23:59:59 || 14.10.2023 02:59:59 || 16.10.2023 02:59:59 || 24.10.2023 23:59:59
 
|-
 
|-
| id контеста || 51827 || 52138 || 52674 || 52786 || 53024 || 53159 || 53796 || 53862 ||  
+
| id контеста || 51827 || 52138 || 52674 || 52786 || 53024 || 53159 || 53796 || 53862 || 54358
 
|}
 
|}
  
Строка 63: Строка 63:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! !! [https://official.contest.yandex.ru/contest/51828/enter/ ДЗ1] !! [https://official.contest.yandex.ru/contest/52139/enter/ ДЗ2] !! [https://official.contest.yandex.ru/contest/52675/enter/ ДЗ3] !! [https://official.contest.yandex.ru/contest/52787/enter/ ДЗ4] !! [https://official.contest.yandex.ru/contest/53025/enter/ ДЗ5] !! [https://official.contest.yandex.ru/contest/53160/enter/ ДЗ6] !! [https://official.contest.yandex.ru/contest/53795/enter/ ДЗ7] !! [https://official.contest.yandex.ru/contest/53861/enter/ ДЗ8] !! ДЗ9
+
! !! [https://official.contest.yandex.ru/contest/51828/enter/ ДЗ1] !! [https://official.contest.yandex.ru/contest/52139/enter/ ДЗ2] !! [https://official.contest.yandex.ru/contest/52675/enter/ ДЗ3] !! [https://official.contest.yandex.ru/contest/52787/enter/ ДЗ4] !! [https://official.contest.yandex.ru/contest/53025/enter/ ДЗ5] !! [https://official.contest.yandex.ru/contest/53160/enter/ ДЗ6] !! [https://official.contest.yandex.ru/contest/53795/enter/ ДЗ7] !! [https://official.contest.yandex.ru/contest/53861/enter/ ДЗ8] !! [https://official.contest.yandex.ru/contest/54357/enter/ ДЗ9]
 
|-
 
|-
| Дедлайн || 17.09.2023 23:59:59 || 19.09.2023 23:59:59 || 26.09.2023 23:59:59 || 28.09.2023 23:59:59 || 04.10.2023 23:59:59 || 07.10.2023 23:59:59 || 14.10.2023 02:59:59 || 16.10.2023 23:59:59 ||  
+
| Дедлайн || 17.09.2023 23:59:59 || 19.09.2023 23:59:59 || 26.09.2023 23:59:59 || 28.09.2023 23:59:59 || 04.10.2023 23:59:59 || 07.10.2023 23:59:59 || 14.10.2023 02:59:59 || 16.10.2023 23:59:59 || 24.10.2023 23:59:59
 
|-
 
|-
| id контеста || 51828 || 52139 || 52675 || 52787 || 53025 || 53160 || 53795 || 53861 ||  
+
| id контеста || 51828 || 52139 || 52675 || 52787 || 53025 || 53160 || 53795 || 53861 || 54357
 
|}
 
|}
  

Версия 00:09, 19 октября 2023

Преподаватели: С.С. Горшков, А.Н. Весельев, М.А. Федоров

Учебный план прошлого года

Вики прошлого года

Записи лекций и семинаров

Форма обратной связи. Можно заполнять когда угодно с любыми вопросами

Ссылка на чат курса в телеграм – обязательно к вступлению

Лекции

Среда 11:10 – 12:30, четверг 11:10 – 12:30, zoom link

1. 6 сентября. Немного об истории. Hello, world! Понятие переменной, целочисленная арифметика, вещественные числа. Представление целых чисел в памяти компьютера. Битовые операции. Питон как простейший калькулятор. Операторы сравнения, присваивания. Знакомство с Jupyter Notebook, docs.python.org. слайды

2. 7 сентября. Условный оператор. Цикл while. Использование стандартных модулей. слайды

3. 13 сентября Списки и кортежи. Цикл for. Основы работы с файлами. слайды

4. 14 сентября Функции и рекурсия. слайды

5. 20 сентября Сортировка в Python. Итераторы и генераторы слайды

6. 21 сентября Методы генераторов. Именованные кортежи, двусторонняя очередь. Декораторы. слайды

7. 27 сентября Декораторы: продолжение. Функциональное программирование. Модули itertools и operator. Знакомство с аргументами командной строки, работой с файловой системой с помощью модуля os слайды

8. 28 сентября Множества и словари. Модуль collections. слайды код

9. 29 сентября Основы ООП: Инкапсуляция. Классы в Python. Статические поля. Методы классов, арифметические magic методы, строковое представление классов. слайды

10. 6 октября Продвинутые возможности работы с классами. Методы класса и статические методы. Property. Наследование и полиморфизм в Python. Класс как пространство имён. слайды

11. 11 октября Абстрактные классы, слоты, работа с файловой системой, работа с аргументами командной строки, пакеты и модули, pip, нововведения Python 3.8 слайды

12. 12 октября Асинхронность в Python слайды первоисточник

Семинары

Репозиторий семинаров (автор Денис Беляков)

Домашнее задание

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

В каждом контесте можно использовать только те приемы, которые обсуждались на предшествующих лекциях и семинарах! Соответственно, в скобочках указываются темы, которые считаются последними пройденными к данному контесту. А значит, только эти и все предшествующие темы можно использовать для решения дз.

Значения первой строки в таблицах кликабельны и при нажатии открывается страница соответствующего контеста. Если по каким-то причинам это не работает, можно переходить напрямую по ссылке https://official.contest.yandex.ru/contest/ваш-id-контеста/enter/

КНАД

ДЗ1 ДЗ2 ДЗ3 ДЗ4 ДЗ5 ДЗ6 ДЗ7 ДЗ8 ДЗ9
Дедлайн 17.09.2023 23:59:59 19.09.2023 23:59:59 26.09.2023 23:59:59 28.09.2023 23:59:59 04.10.2023 23:59:59 07.10.2023 23:59:59 14.10.2023 02:59:59 16.10.2023 02:59:59 24.10.2023 23:59:59
id контеста 51827 52138 52674 52786 53024 53159 53796 53862 54358

ВСН

ДЗ1 ДЗ2 ДЗ3 ДЗ4 ДЗ5 ДЗ6 ДЗ7 ДЗ8 ДЗ9
Дедлайн 17.09.2023 23:59:59 19.09.2023 23:59:59 26.09.2023 23:59:59 28.09.2023 23:59:59 04.10.2023 23:59:59 07.10.2023 23:59:59 14.10.2023 02:59:59 16.10.2023 23:59:59 24.10.2023 23:59:59
id контеста 51828 52139 52675 52787 53025 53160 53795 53861 54357

Оценки

Текущие оценки

Накоп = 0.1 * (ДЗ1 + ДЗ2 + ДЗ3 + ДЗ4 + ДЗ5 + ДЗ6 + ДЗ7 + ДЗ8 + ДЗ9 + Пр1 + Пр2 – МИН(ДЗ1, ДЗ2, ДЗ3, ДЗ4, ДЗ5, ДЗ6, ДЗ7, ДЗ8, ДЗ9, Пр1, Пр2)) Если просто – из 11 оценок не учитывается минимальная.

Итог = Округление(0.7 * Накоп + 0.3 * Э), где ДЗi — оценка за i-е домашнее задание, ПРi – оценка за i-й проект, Э — оценка за экзамен. Округление арифметическое.

Автоматы. Определим накопленную оценку как Накоп. Если Накоп >=6, то студент может получить Накоп в качестве итоговой оценки, не приходя на экзамен. Если студент идет на экзамен, то возможность получения в качестве оценки накопленной пропадает.

Ссылки на интерпретатор и среду программирования

Сначала нужно установить интерпретатор языка Python 3 версии отсюда: https://www.python.org/downloads/

Затем среду программирования JetBrains PyCharm (Community) отсюда: https://www.jetbrains.com/pycharm/download

Рекомендуется так же установить jupyter notebook (гугл в помощь). Можно установить через anaconda navigator

Список онлайн-ресурсов

Записи лекций прошлого года

https://pythonworld.ru/

https://docs.python.org/3

https://www.coursera.org/learn/python-osnovy-programmirovaniya

https://www.coursera.org/specializations/programming-in-python

https://vk.com/itcookies/python

http://uneex.org/LecturesCMC/PythonIntro2020