Skip to content

worldbeater/dta

Repository files navigation

Main workflow codecov Size

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 run make test
poetry run make flask
  1. If you wish to seed the database, run:
poetry run 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 run make test
poetry run make flask-win
  1. If you wish to seed the database, run:
poetry run 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. Demidova L.A., Andrianova E.G., Sovietov P.N., Gorchakov A.V. Dataset of Program Source Codes Solving Unique Programming Exercises Generated by Digital Teaching Assistant. Data, 2023, 8 (6), p. 109.

  6. Demidova L.A., Sovietov P.N., Andrianova E.G., Demidova A.A. Anomaly Detection in Student Activity in Solving Unique Programming Exercises: Motivated Students against Suspicious Ones. Data, 2023, 8 (8), p. 129.

  7. 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.

  8. Gorchakov A.V., Demidova L.A., Maslennikov V.V. Source Code Embeddings Based on Control Flow Graphs and Markov Chains for Program Classification. In Proceedings of the 6th International Conference on Control Systems, Mathematical Modeling, Automation and Energy Efficiency (SUMMA), 2024, pp. 328-333.

About

Digital Teaching Assistant web app.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 18

Languages