learning_path_analizer

0
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md

Learning Path Analyzer (LPA)

CI

LPA is a tool for analyzing Learning Management System (LMS) logs to provide insights into student engagement and performance. It generates comprehensive Markdown reports with visualizations and automated recommendations.

Features

  • Data Validation: Ensures CSV logs follow the required format and event types.
  • Analytics: Calculates engagement scores, performance metrics, and correlation.
  • Recommendations: Automated advice for both instructors and students.
  • Visualizations: Generates activity distribution and engagement-performance scatter plots.
  • CI/CD: Automated testing, linting, and scheduled report generation via GitHub Actions.

Quick Start

1. Setup Environment

2. Generate Sample Data

3. Run Analysis

Check the results in

docs/reports/latest/report.md
.

CSV Input Format

The input CSV must contain the following columns:

ColumnTypeDescription
user_id
strUnique identifier for the student
timestamp
ISO 8601Time of the event
event_type
enumlogin, view_resource, quiz_attempt, assignment_submit, forum_post
resource_id
strID of the resource (optional)
score
floatAchievement score (0-100)
duration_sec
intTime spent on activity
success
0/1Status of the attempt

Development

Running Tests

Linting & Formatting

CI/CD Workflows

  • CI (
    ci.yml
    ):
    Runs on every push and PR. Executes Ruff, Black, and Pytest.
  • Scheduled Report (
    report.yml
    ):
    Runs daily at 03:00 UTC. It generates fresh synthetic data, performs analysis, and uploads the results as a GitHub Action Artifact.
    • To view artifacts: Go to the "Actions" tab, click on a "Scheduled Analysis Report" run, and scroll to the "Artifacts" section at the bottom.

Project Structure