Skip to content

ykh2000/Auto-course

Repository files navigation

Auto-Course

Auto-Course is an AI-powered system that automatically generates complete educational course modules from a given topic.

Inspired by the Auto-Slides project, which converts research papers into presentation slides, Auto-Course extends this idea to education by generating structured learning materials and course content automatically.

Features

Content Generation

  • Automated lecture notes — Detailed markdown notes with sections, code examples, and learning objectives
  • Curriculum planning — Per-module blueprint with prerequisites, learning objectives, and topic sections
  • Quiz generation — 10 multiple-choice questions with answers and explanations
  • Programming assignments — 3 tiered assignments (Easy, Medium, Hard) with full specs, constraints, and hints
  • Revision cheat sheets — Concise overviews with key concepts, algorithms, complexity analysis, and tips
  • Speaker/instructor notes — Teaching guides with analogies, common misconceptions, and discussion questions
  • Mermaid diagrams — 3 diagram types per module: concept map, workflow, and architecture
  • Slide planning — Structured JSON slide plans with content, code snippets, and visual references
  • LaTeX Beamer slides — Compilable .tex files generated from slide plans (Madrid theme, listings, TikZ)

Pipeline & Architecture

  • Multi-agent orchestration — 9 specialized agents running in sequence and parallel
  • Parallel execution — Independent content agents run concurrently via ThreadPoolExecutor
  • Modular design — Base agent pattern; easy to add new content types
  • Central data modelCourseModule dataclass flows through the entire pipeline

User Experience

  • Animated CLI — ASCII art header, typewriter effects, and loading spinners
  • Multi-module courses — Generates full multi-module curricula from a single topic prompt
  • Organized output — All content saved per-module under outputs/<Course>/<Module>/

Project Structure

agents/              # Content generation agents
  base_agent.py      # Abstract base class for all agents
  course_planner.py  # High-level course structure planner
  curriculum_planner.py  # Per-module curriculum blueprint
  notes_agent.py     # Lecture note generation
  quiz_agent.py      # Quiz generation
  assignment_agent.py# Programming assignment generation
  cheatsheet_agent.py# Revision cheat sheet generation
  speakernotes_agent.py # Instructor/speaker notes
  diagram_agent.py   # Mermaid diagram generation
  slide_planner_agent.py # JSON slide plan generation
  tex_generator_agent.py # LaTeX Beamer generation
  course_workflow.py # Full multi-agent pipeline orchestrator
  utils/             # Logging and file utilities
prompts/             # Prompt templates for each agent
models/              # Data models (Course, CourseModule)
services/            # LLM client and output persistence
  llm_services.py    # OpenRouter API wrapper
  output_service.py  # Disk persistence (per-module output)
llm/                 # LLM client configuration
  openrouter_client.py # OpenAI-compatible OpenRouter client
main.py              # CLI entry point

Generated Outputs (per module)

File Format Content
notes.md Markdown Full lecture notes
quiz.md Markdown 10 MCQs with answers
assignments.md Markdown 3 tiered programming assignments
cheatsheet.md Markdown Revision cheat sheet
speaker_notes.md Markdown Instructor teaching guide
diagram.md Mermaid 3 diagrams (concept, workflow, architecture)
slides.tex LaTeX Beamer presentation code

Pipeline

User Input (topic)
    ↓
CoursePlanner Agent → LLM generates course title + module list
    ↓
For each module title:
    → CurriculumPlanner Agent → module blueprint (prereqs, objectives, sections)
    → NotesAgent → detailed lecture notes
    → 5 agents in parallel: Quiz, Assignment, SpeakerNotes, Diagram, CheatSheet
    (Optional) → SlidePlanner → LaTeX Generator → slides.tex
    ↓
OutputService → saves all files to outputs/<Course>/<Module>/

Future Work

  • Interactive course visualizations
  • Export to HTML and PDF
  • Automated LaTeX compilation
  • Assessment grading and feedback
  • Multi-language support

Acknowledgements

This project is inspired by the Auto-Slides project and adapts the idea of automated content generation from research presentations to educational course creation.

About

Auto-course is multi-agent system for generating academic content - inspired from auto-slides (https://auto-slides.github.io/)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors