Перечень тем для самостоятельной работы
Как пользоваться этим файлом
Если вы выбрали тему, необходимо отредактировать файл, добавив в скобках после темы свои фамилии (не более двух), а также ссылку на репозитарий, в котором вы будете выполнять работу.
- Редактирование уже выбранных тем не допускается.
- Спам не допускается, нарушители будут забанены.
- Если вы придумали свою тему, допишите её в конец списка (фамилии исполнителей и ссылка на репозитарий также обязательны).
Список тем
- Реализация алгоритма Брезенхема ([Генько] (https://github.com/gen-maksim/Homework-2015-1652-)).
- Реализация алгоритма DDA-линии. (Бурков; Воробьёва)
- Реализация кодов Хэмминга.
- Реализация кодов Рида—Соломона.
- Реализация алгоритма циклического избыточного кода.
- Реализация кодов Боуза—Чоудхури—Окенгема.
- Реализация кодов Хаффмана.(Цветков, Жукова)
- Реализация алгоритма Шеннона—Фано.
- Реализация алгоритма Лемпеля—Зива—Велча.
- Реализация алгоритма быстрого умножения Карацубы (Лупова).
- Реализация алгоритма быстрого умножения больших целых чисел Шёнхаге—Штрассена.
- Реализация алгоритма быстрого умножения больших целых чисел Фюрера.
- Реализация алгоритма быстрого умножения матриц Штрассена.
- Реализация алгоритма быстрого деления больших целых чисел Бурникеля—Циглера.
- Реализация алгоритма Ривеста—Шамира—Адлемана.
- Реализация алгоритма Кнута—Морриса—Пратта.
- Реализация алгоритма Бойера—Мура.
- Реализация алгоритма поиска по «радужным таблицам».
- (128+ баллов за выбор модуля) Реализация парсера G-кодов, стандарт ISO 6983-1:2009 (Михалькова).
- (128+ баллов за хорошую реализацию) Индивидуальное задание по LaTeX'у и Питону (Михайлин, Ковалёв — ).
- P2P messenger (Котельников, Неменчинский — ).
- Space Odyssey ([Зименко] (https://github.com/stwinter2014)).
- Conversion_tests ([Плешков] (https://github.com/mz15/Conversion_tests/tree/new))
- Сравнение эффективности различных алгоритмов поиска подстроки в строке ([Гашков] (https://github.com/nikitagashkov/SubstringSearchEfficiency))
Требования к программе
Критерий | ||
---|---|---|
Соблюдение требований PEP 8 | 0 | 4 |
Соблюдение требований PEP 257 | 0 | 4 |
Использование функций | 1 | 6 |
Создание собственных модулей и пакетов | 1 | 6 |
Оригинальность программы | 2 | 40 |
Наличие коммитов и брэнчей | 2 | 6 |
Наличие wiki-страницы с документаций и описанием программы или алгоритма (это не должна быть копипаста википедии) | 0 | 6 |
Наличие файла README.md с коротким описанием программы (что делает, как запустить и т.д.) | 0 | 6 |
Использование классов | 0 | 4 |
Использование наследования | 1 | 6 |
Создание собственного класса исключений или менеджера контекста | 1 | 6 |
Использование списковых, словарных, множественных включений | 1 | 4 |
Использование элементов функционального программирования (lambda, map, zip и т.д.) | 1 | 6 |
Использование декораторов функций | 1 | 8 |
Использование декораторов методов | 1 | 8 |
Использование библиотек functools и itertools | 2 | 8 |
ИТОГО: | 14 | 128 |