4 семестр

Инвариантная самостоятельная работа

Тема 1

1.1. Разработать программу с реализацией функции для считывания json-данных из файла и вывод их в табличном виде на экран. Реализовать базовый синтаксис для обработки исключений (try .. except).
1.2. Дополнение программы для считывания данных проверкой утверждений или высказываний (assert). Создание отдельного блока для такой проверки (с помощью name) и скрипта командной строки для запуска этих проверок.
1.3. Дополнение программы для считывания данных с использованием менеджера контекстов и реализации расширенного синтаксиса для обработки исключений.

Ссылка на репозиторий

Тема 2

2.1 Разработать прототип программы «Калькулятор», позволяющую выполнять базовые арифметические действия и функцию обертку, сохраняющую название выполняемой операции, аргументы и результат в файл.
2.2 Дополнение программы «Калькулятор» декоратором, сохраняющий действия, которые выполняются в файл-журнал.
2.3 Рефакторинг (модификация) программы с декоратором модулем functools и использование его функционала.

Ссылка на репозиторий

Тема 3

2.1 Разработка классов и объектов «запись», «комментарий» для приложения «Блог» (использование наследования).
2.2. Создание геттеров и сеттеров для классов «запись», «комментарий» приложения «Гостевая книга». Создание функций для вывода на печать информации, хранящийся в объектах.

Ссылка на репозиторий

Тема 4

3.1 Создание программы по заполнению массивов случайными значениями. Сортировка значений в списке методом вставки, плавной сортировки, с помощью встроенных функций языка.
3.2 Создание программы по распределению списка с случайными значениями на два списка по определенному критерию (четность/нечетность, положительные/отрицательные числа).

Ссылка на репозиторий


Вариативная самостоятельная работа

Тема 1

1.1 Разработать фрагмент программы, который будет сохранять вводимые пользователем данные, по выбору в json, или csv-файле (использовать модули csv, json) с использованием протокола менеджеров контекста, а также расширенного синтаксиса исключений.

Ссылка на репозиторий

Тема 2

2.3 Разработка функции-декоратора, вычисляющей время выполнения декорируемой функции.

Ссылка на репозиторий

Тема 4

3.1 Создание программы с реализацией вручную одного из алгоритмов сортировки (вставки, плавной сортировки).

Ссылка на репозиторий


Лабораторные работы

Лабораторные работы 1, 2. Построение бинарного дерева

Лабораторная работа 1 - рекурсивное решение (функция gen_bin_tree)
Лабораторная работа 2 - нерекурсивное решение (функция gen_bin_tree_non_rec)

Выполненная работа размещена по ссылке.

Лабораторная работа 3. Изменения типов данных

Ссылка на отчёт: Google Drive.

Лабораторная работа 4. Считывание данных из файла JSON, обработка исключений

Выполненная работа размещена по ссылке.

Лабораторные работы 5, 6. Реализация операций CRUD с базой данных SQLite

Выполненная работа размещена по ссылке.

Лабораторная работа 7. Реализация операций с базой данных с использованием ООП

Выполненная работа размещена по ссылке.

Лабораторная работа 8. Работа с базой данных с использованием ORM Peewee и Orator

Выполненная работа размещена по ссылке.