Skip to content

group-2014/sys-software-tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 

Repository files navigation

Перечень тем для самостоятельной работы по дисциплине "Системное программное обеспечение"

Как пользоваться этим файлом

Если вы выбрали тему, необходимо отредактировать файл, добавив в скобках после темы свои фамилии (не более двух), а также ссылку на репозиторий, в котором вы будете выполнять работу. Если тема уже была выбрана кем-то ранее — не страшно, можно сделать форк и доработать код. Проверять такие работы буду гораздо внимательнее, но если увижу, что вы действительно усовершенствовали чужой код (исправили, добавили новые фичи, убрали старые бага, провели рефакторинг и т.д.), и он от этого стал лучше, хорошая оценка вам гарантирована.

  • Не стоит устраивать "войн правок", когда уже выбранная кем-то тема потом переходит к кому-то другому. Мы работаем в системе версионного контроля, т.е. все изменения будут видны в истории коммитов.
  • Спам не допускается, нарушители будут забанены.
  • Если вы придумали свою тему, допишите её в конец списка (фамилии исполнителей и ссылка на репозиторий также обязательны).
  • Этот файл можно править либо напрямую, т.к. вы все являетесь членами этой группы и у вас есть права на запись в этот репозиторий, а также можно сделать форк у себя в аккаунте, а затем пул-реквест сюда. Последнее даже интереснее 😬.

Список тем

Тема Ссылка на описание Имя
1 Реализация кодов Рида—Соломона. Восстановление данных Кравчук
2 Реализация алгоритма циклического избыточного кода. Проверка целостности данных
3 Реализация кодов Боуза—Чоудхури—Окенгема. Восстановление данных
4 Реализация алгоритма Шеннона—Фано. Сжатие данных Борботько
5 Реализация алгоритма Лемпеля—Зива—Велча. Сжатие данных Генько
6 Реализация алгоритма быстрого умножения больших целых чисел Шёнхаге—Штрассена. описание
7 Реализация алгоритма быстрого умножения больших целых чисел Фюрера. описание
8 Реализация алгоритма быстрого деления больших целых чисел Бурникеля—Циглера. описание
9 Реализация алгоритма Ривеста—Шамира—Адлемана. Криптография. Шифрование
10 Реализация алгоритма Кнута—Морриса—Пратта. Поиск подстроки в строке
11 Реализация алгоритма Бойера—Мура. Поиск подстроки в строке Лабчук
12 Реализация алгоритма поиска по «радужным таблицам». Криптография. Дешифровка хэшей
13 Реализация приложения под Android (любое, лишь бы интересное).
14 Реализация приложения под iOS (любое, лишь бы интересное).
15 Реализация библиотеки определения языка текста.
16 Реализация простейшей игры с применением библиотеки PyGame. PyGame Зименко
17 Реализация простейшей игры с применением библиотеки Cocos2d-x. Cocos2d-x
18 Реализация алгоритма детектирования ошибок Дамма. описание
19 Реализация алгоритма поиска контрольной суммы. Adler-32.
20 Реализация алгоритма поиска контрольной суммы Флетчера. описание (english)
21 Реализация алгоритма Боейра—Ватсона для случая триангуляции Делоне. Траингуляция
22 Реализация алгоритма Гилберта—Джонсона—Кёрти. min расстояние между выпуклыми множествами
23 Информер погоды. Плешков
24 Переводчик. Гашков

Требования к программе

Программы, написанные не на Си оцениваются в индивидуальном порядке.

  1. Соблюдение соблюдение единого стиля кодирования.
  2. Использования стандартной библиотеки Си.
  3. Модульность (несколько файлов с исходным кодом, заголовочные файлы).
  4. Создание собственных функций.
  5. Оригинальность идеи (если тема не из списка или язык не Си).
  6. Наличие коммитов и брэнчей.
  7. Наличие wiki-страницы с документаций и описанием программы или алгоритма (это не должна быть копипаста Википедии).
  8. Наличие файла README.md с коротким описанием программы (что делает, как запустить и т.д.).
  9. Кроссплатформенность — программа должна работать хотя бы под Виндоус и Линукс.
  10. Использование структур, перечислений и объединений; свои собственные типы через алиасы.
  11. Использование массивов, динамическое распределение памяти приветствуется, но не обязательно.
  12. Использование указателей (обязательно!).
  13. Работа со строками (в Си это весело!).
  14. Наличие понятного текстового интерфейса (можно и графического, можно на ncirses).
  15. Программа должна вести лог-файл и адекватно реагировать на нештатные ситуации. Как минимум нужно отображение того, что произошло непосредственно перед падением программы.
  16. Умение отвечать на вопросы по своей программе и объяснять, как работает тот или иной участок кода по моему выбору.

По каждому пункту вы можете получить 8 баллов, итого 16×8=128 баллов за программу.

About

🐶

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5