Лекции:

Дата Темы Файлы Задание
Семестр 1
08.09.2022 Введение
Переменные
Типы данных: числа, строки, элементарные операции
Функция print()
Возраст в днях
15.09.2022 Списки
Булевы значения и логические операторы
Оператор if
Функции len(), sum(), min(), max()
Возраст в днях (с високосностью)
22.09.2022 Оператор вхождения
Цикл for
Инструменты для циклов: функции range(), enumerate(), zip()
Цикл while
Возраст в днях (с високосностью) II
29.09.2022 Порядок выполнения (control flow): break, continue, sys.exit() Валидность автомобильного номера
06.10.2022 Работа с текстовыми файлами: чтение, запись, создание
Escape sequences: \t, \n, \r
Кодировки: cp1251, utf-8
Методы строк: split(), rsplit(), strip(), rstrip(), lstrip(), join()
"Сырые" строки (raw strings), f-строки
test.txt
d34_s07_maps.txt
Разбиение текстового файла на части
13.10.2022 Тернарный оператор
Списковое включение (генераторы списков, list comprehension)
Функции all() и any()
Функция isinstance()
Операции с матрицами
20.10.2022 Кортежи (tuple)
Упаковка и распаковка (packing and unpacking)
Множества (set)
Функция reduce()
numbers.txt Множества и кортежи: файл с числами
27.10.2022 Словари (dict) d34_s07_maps.txt Частотные словари
03.11.2022 Сравнимость
Сортировка: функция sorted() и метод sort()
Аргументы reverse и key
lambda-функции
d07_s02_maps_tempo.txt Сортировка таблицы
10.11.2022 Функции I: аргументы функций, return Реализация функции argmax в четырёх вариантах
17.11.2022 Функции II: возвращение нескольких значений
Позиционные и именованные аргументы
Изменяемые объекты как аргументы
Поверхностное и глубокое копирование
Операции с матрицами II: Function Boogaloo
24.11.2022 Функция main()
import
Докстринги
print_nums.py
print_nums2.py
print_nums3.py
Операции с матрицами III: Revolution
01.12.2022 Отладка и тестирование программы
try/except/else/finally
raise
assert
Операции с матрицами IV: Exceptionally Good
08.12.2022 Итераторы
Функции map() и filter()
Модуль itertools
fpt.txt Подсчёт сочетаний букв
15.12.2022 Работа с файловыми системами texts.zip Подсчёт сочетаний букв II
22.12.2022 Модули collections и random Задание на каникулы: рассказ про встроенный модуль Python на выбор
Семестр 2
13.02.2023 Вычисление вероятностей последовательностей слов I Вычисление вероятностей последовательностей слов в произвольном тексте
20.02.2023 Вычисление вероятностей последовательностей слов II Генерация наиболее вероятных предложений
28.02.2023 Регулярные выражения I: основной синтаксис Определение автомобильного номера и номера телефона
07.03.2023 Регулярные выражения II: функции re.
Жадность операторов
Обработка html-файла
14.03.2023 Регулярные выражения III: группы.
Lookahead и lookbehind
Деление на слоги и добавление кавычек
21.03.2023 Чтение и запись файлов .wav и .pcm/sbl cta0001.wav
cta0001.sbl
cta0001.seg_B2
output.seg_B2
Преобразование и деление файлов
28.03.2023 Чтение и запись файлов аннотации WaveAssistant (.seg) cta0001.seg_B2
cta0001.seg
Преобразование файлов .seg
04.04.2023 Установка сторонних библиотек: pip, PyCharm
Чтение документации.
Модуль tgt для работы с файлами аннотации Praat (.TextGrid)
cta0001.TextGrid Конвертация .seg <-> .TextGrid
11.04.2023 Работа со звуковыми файлами и файлами разметки I cta0003.wav
cta0003.seg_B1
Деление файла .wav на звуки по меткам
25.04.2023 Работа со звуковыми файлами и файлами разметки II cta0003.seg_Y1 Создание фонетической транскрипции по разметке
02.05.2023 Практика ditto
...

Устные опросы:

Дата Темы Ответы
Семестр 1
03.11.2022 Запись в текстовый файл
List comprehension
ans_0311.txt
10.11.2022 Итерация по списку
Сортировка
Dictionary comprehension
ans_1011.txt
17.11.2022 Dictionary comprehension
Функции
ans_1711.txt
24.11.2022 Функции
Возвращение None
Возвращение кортежа
ans_2411.txt
01.12.2022 "Умножение" списка на число
Поверхностное копирование
Методы работы со строками
ans_0112.txt
08.12.2022 Типы исключений
Итерация по индексам и элементам
ans_0812.txt
15.12.2022 List comprehension ans_1512.txt
22.12.2022 Шифр Цезаря caesar.py
Семестр 2
20-28.02.2023 Списки. Циклы ans_2002.ipynb
07.03.2023 Регулярные выражения ans_0703.txt
14.03.2023 Регулярные выражения ans_1403.txt
21.03.2023 Регулярные выражения ans_2103.ipynb
28.03.2023 Вывод текста на экран TBA
04.04.2023 Расстояние Хэмминга TBA
11.04.2023 Палиндромы и анаграммы TBA
25.04.2023 Соотнесение последовательностей чисел TBA
02.05.2023 Обработка последовательности чисел с помощью оконного метода TBA

Полезные ссылки:

Документация к языку Python

Основы программирования на Python (курс НИУ ВШЭ)

Google's Python Class

LeetCode: банк задач по программированию

Разработка и реализация алгоритмов с использованием языка Python (третий курс)

Программирование лингвистических задач (четвёртый курс)

Среда разработки PyCharm

Среда разработки Visual Studio Code

Среда разработки для начинающих Thonny

Jupyter Notebook

Список дополнительной литературы:

  1. Марк Лутц, Программирование на Python, 4-е изд., в 2-х т. Символ-Плюс, 2011
  2. Марк Лутц, Изучаем Python, 4-е изд., Символ-Плюс, 2011
  3. Б. Керниган, Р. Пайк, Практика программирования, Невский диалект, 2001