В лабораторной работе изучается метод кодирования текста шифром простой подстановки и декодирования при помощи частотного анализа текстовой последовательности.
- Закодировать любой связный текст (не менее 500 символов), любым произвольным шифром простой подстановки (моноалфавитная замена) или перестановки.
- Расшифровать текст из методички, закодированный шифром простой подстановки (моноалфавитная замена) в соответсвии со своим вариантом.
Каждый студент выполняет задание индивидуально. Номер варианта соответсвует позиции ФИО студента в списке группы по модулю 10. (0 соответсвует 10-му варианту).
Итоговый репозиторий с результатами выполненной лабораторной работы должен содержать:
- исходные коды для выполнения обоих заданий лабораторной работы (подразумевается python),
- исходный шифруемый текст для задания 1,
- результат шифрования текста для задания 1,
- ключ шифрования текста для задания 1,
- исходный зашифрованный текст для задания 2 согласно варианту,
- результат дешифровки текста для задания 2,
- найденный ключ шифрования текста для задания 2.
Подразумевается, что ключ шифрования для задания 1 доступен для редактирования пользователям вашего софта. Поощряется применение практик построения приложения, полученных в предыдущем семестре в рамках курса "Прикладное программирование".
Варианты заданий и теоретическая информация приведены в методичке.
-
Для выполнения лабораторной работы сначала необходимо форкнуть этот репозиторий;
1.1. Имя форкнутого репозитория может быть каким вам удобно;
1.2. В дескрипшене репозитория будет полезно указать свои ФИО, номер группы;
1.3. Копировать необходимоmain
ветку; -
Склонировать полученный репозиторий себе на машину.
-
Создать проект в выбранной IDE, начать реализовывать необходимый по заданию код и коммитить результаты;
3.1. Преподаватель с большей вероятностью поверит в то, что код в репозитории написан вами лично, если коммитов в репозитории будет больше одного;
3.2. Коммиты должны иметь вменяемые описания на английском языке;
3.3. Ваш репозиторий должен содержать файл requirements.txt; -
Когда необходимый код написан, соответствует PEP и работает, необходимо сделать пул-риквест в исходный репозиторий;
4.1. Название пул риквеста должно формироваться следующим образом:<Номер группы> <ФИО> Лаб.<Номер лабы> Вар.<Номер варианта>
;
4.2. В описание пул риквеста было бы неплохо добавить описание того, что от вас требовалось сделать в данной лабораторной согласно вашему варианту. Хотя бы на русском языке;
4.3. Преподаватель поставит себя в ревьюеры, назначит вас исполнителем и произведет ревью; -
После успешного создания пул-риквеста производится ревью кода лабораторной;
5.1. Если к работоспособности и внешнему виду кода нет претензий, то преподаватель аппрувит и закрывает пул риквест;
5.2. Если претензии к коду есть, они указываются в ревью. После их устранения в рамках текущего пул риквеста, вам необходимо запросить повторное ревью; -
Поздравляю, практическая часть лабораторной принята, можно переходить к теоретической.
Для успешной сдачи лабораторной работы необходимо:
- Успешно закрыть пул-риквест;
- Ответить на вопросы по коду;
- Ответить на теоретические вопросы.
Количество и качество задаваемых вопросов может варьироваться.
Работать с git вы можете так, как вам удобно:
- через интерфейс командной строки,
- через плагин в IDE,
- через десктопный клиент, типа такого.
Если вы столкнулись с непреодолимыми трудностями в ходе выполнения лабораторной работы, вы можете задать вопрос в:
- дискорд-канале, посвященном предмету,
- телеграм-чате вашего курса.