Всего представлено три задания. Описание для каждой задачи можно найти в соответствующей директории. Они оформлены в Jupyter Notebook:
При выполнении заданий необходимо описать ход своих мыслей и основные идеи, которые были использованы. Можно оформить в Jupyter Notebook или Google Colab. Нужно отправить исходный код решения задач. Крайне желательно со ссылкой на GitHub, Bitbucket, GitLab или другое хранилище репозиториев Git.
Основные критерии оценки выполнения заданий:
- Код написан в едином стиле.
- Соблюдены основные соглашения, принятые в сообществе. Например, PEP 8 для Python, Google C++ style и т. п. Стиль может быть разным, но весь код должен быть оформлен в едином стиле.
- Насколько он кроссплатформенный.
- Как организована структура проекта.
- В части Docker. Насколько оптимально написана сборка с точки зрения размера образа и сколько инструкций будут выполняться в случае изменения основного кода приложения (если всё собирается заново, то это не очень хорошо). Основные моменты смотрите в документации
Желательно, чтобы код был написан на Python 3. Какие-то части могут быть написаны на других языках программирования: C, C++, CUDA C/C++.
Запуск проекта должен осуществляться достаточно просто. Если проект на Python 3, то он должен быть с файлом, в котором перечислены зависимости: requirements.txt, файл для Poetry или конфигурационный файл окружения для Anaconda.
Проекты на C/C++ должны снабжаться CMake файлом для сборки.
Мы можем запустить ваши примеры в окружении Linux Ubuntu 18.04 или 20.04, Windows 10, а также в Docker, поэтому лучше явно указывать на какой ОС предполагается запуск, если от этого зависят какие-то части в решении.