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.
- 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
.texfiles generated from slide plans (Madrid theme, listings, TikZ)
- 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 model —
CourseModuledataclass flows through the entire pipeline
- 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>/
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
| 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 |
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>/
- Interactive course visualizations
- Export to HTML and PDF
- Automated LaTeX compilation
- Assessment grading and feedback
- Multi-language support
This project is inspired by the Auto-Slides project and adapts the idea of automated content generation from research presentations to educational course creation.