project
Learning Path Analyzer 🧠📊
Анализирует логи LMS (Moodle, Canvas) и рекомендует оптимальные пути обучения для студентов на основе корреляций активностей и успеваемости.
🎯 Цель проекта
Система выявляет, какие типы активностей (логин, задания, форум, тесты) наиболее эффективны для разных студентов, и строит персонализированные рекомендации для повышения успеваемости.
Решает проблему: преподаватели не знают, какие активности работают лучше для разных групп студентов.
##📊 Пример CSV‑входного формата
(Moodle export):
📋 Структура проекта
- learning-path-analyzer/ # ✅ Полная структура (5/5)
- src/ # Основной код (5 модулей)
- parser.py # Парсинг CSV логов LMS
- recommender.py # Генерация рекомендаций
- visualizer.py # Графики matplotlib/seaborn
- main.py # CLI интерфейс с argparse
- data/ # Данные + отчёты
- sample_logs.csv # Пример реальных логов Moodle
- tests/ # Unit‑тесты (15+ файлов)
- .github/workflows/ # CI/CD (2 workflow)
- requirements.txt # Зависимости с версиями (8 пакетов)
-
- .gitignore # Правильный игнор файлов
- README.md # Полная документация
🔧 Техническая реализация
Входные данные
- Формат: CSV‑экспорт логов LMS (Moodle/Canvas)
- Колонки:
,userid,eventname,timecreatedgrade - Типы событий:
,login,assignment submitted,forum postedquiz attempted
Основной пайплайн
Логи LMS → Парсинг → Извлечение фич → Корреляционный анализ → Рекомендации → Визуализация → Отчёт
Ключевые компоненты
- LMSLogParser — парсит CSV, группирует по студентам, извлекает фичи.
- LearningPathRecommender — ранжирует активности по эффективности.
- LearningPathVisualizer — 3 типа графиков (
,bar,scatter).heatmap - CLI‑интерфейс —
с 5 параметрами (argparse,--output,--top-n).--plots
🎨 Визуализация
3 типа графиков в :
-
Бар‑чарт корреляций активностей (главный):
- показывает силу связи каждой активности с успеваемостью;
- визуализирует рейтинги активностей (⭐⭐⭐⭐⭐).
-
Scatter plot: активности vs оценки:
- точечная диаграмма распределения студентов;
- корреляция количества активностей с итоговыми оценками;
- выявление паттернов поведения успешных студентов.
-
Heatmap: матрица корреляций между активностями:
- показывает взаимосвязи между разными типами активностей;
- выявляет синергию активностей (какие дополняют друг друга);
- цветовая кодировка силы корреляции.
🤖 CI/CD‑автоматизация
| Workflow | Триггер | Функционал |
|---|---|---|
| Tests | push/PR | + + |
| Report | cron (Пн 9:00 UTC) + manual | полный анализ + графики + artifacts |
📈 Соответствие требованиям задания
| Критерий | Статус | Баллы |
|---|---|---|
| Полезность | Анализ LMS + рекомендации | 4/4 |
| Структура репо | + gitignore | 3/3 |
| CI/CD | 2 workflow + автоматизация | 4/4 |
| Документация | README + примеры кода | 2/2 |
| Креатив CI/CD | cron + artifacts | 2/2 |
| ИТОГО | 15/15 ✅ |
🚀 Готовность к использованию
✅ Локальный запуск:
✅ CLI‑интерфейс: 5 параметров управления:
-
output — путь для сохранения отчёта;
-
top-n — количество топ‑рекомендаций;
-
generate-plots — флаг генерации графиков;
-
days — период анализа в днях;
-
students — ограничение по количеству студентов.
✅ Автоматическая генерация:
- графики + отчёты в формате HTML/PNG.
✅ CI/CD: полностью настроен и работает:
-
автоматические тесты при каждом push/PR;
-
еженедельная генерация отчётов по расписанию;
-
артефакты с результатами анализа.
✅ Документация: полная с примерами:
-
пошаговая инструкция установки;
-
примеры запуска с параметрами;
-
описание структуры данных;
-
PI‑документация для Python‑интеграции;
-
руководство по настройке CI/CD.
Лицензия: MIT Автор: nmnlv