Skip to content

kispython-ru/dta

Repository files navigation

Main workflow codecov

Digital Teaching Assistant

Setting Up Development Environment

Ubuntu 20.04 LTS

  1. Install Python 3.10. pyenv can help with switching among different Python versions.

  2. Install poetry and dependencies:

pip install poetry
poetry install
  1. Run tests, launch the app:
poetry shell
make test
make flask
  1. If you wish to seed the database, run:
poetry shell
make seed # python -m webapp.app --seed

Windows 10

  1. Install Python 3.10. Do not use sandboxed Python from Microsoft Store. Make sure python is added to PATH. You can check this by navigating to System (Control Panel) -> Advanced system settings -> Environment Variables -> System Variables -> PATH -> Edit.

  2. Install Chocolatey.

  3. Install GNU make:

choco install make
  1. Install poetry and dependencies:
pip install poetry
poetry install
  1. Run tests, launch the app:
poetry shell
make test
make flask-win
  1. If you wish to seed the database, run:
poetry shell
make seed # python -m webapp.app --seed

Acknoledgements

We appreciate all people who contributed to the project. Thanks to @Plintus-bit for designing the logo!

Architecture and Implementation Details

The Digital Teaching Assistant system is described in the following papers:

  1. Sovietov P.N. Automatic Generation of Programming Exercises // In Proceedings of the 1st International Conference on Technology Enhanced Learning in Higher Education (TELE), 2021, pp. 111-114.

  2. Andrianova E.G., Demidova L.A., Sovietov P.N. Pedagogical Design of a Digital Teaching Assistant in Massive Professional Training for the Digital Economy // Russian Technological Journal. 2022, 10 (3), pp. 7-23.

  3. Sovietov P.N., Gorchakov A.V. Digital Teaching Assistant for the Python Programming Course // In Proceedings of the 2nd International Conference on Technology Enhanced Learning in Higher Education (TELE), 2022, pp. 272-276.

  4. Gorchakov A.V., Demidova L.A., Sovietov P.N. Analysis of Program Representations Based on Abstract Syntax Trees and Higher-Order Markov Chains for Source Code Classification Task // Future Internet. 2023, 15 (9), p. 314.

  5. Gorchakov A.V., Demidova L.A., Sovietov P.N. A Rule-Based Algorithm and Its Specializations for Measuring the Complexity of Software in Educational Digital Environments // Computers. 2024, 13 (3), p. 75.