12-Week University Curriculum¶
A complete semester-length course syllabus for teaching the FCC Agent Team Framework. Designed for upper-division undergraduate or graduate-level courses in software engineering, AI systems, or collaborative computing.
Course Information¶
- Title: Agent-Oriented Software Engineering with FCC
- Level: Upper-division undergraduate / Graduate
- Prerequisites: Python programming, basic design patterns, Git
- Format: 2 lectures (50 min) + 1 lab (110 min) per week
- Textbook: FCC Guidebook (docs/guidebook/), supplemented by Book Series (docs/books/)
Grading Weights¶
| Component | Weight | Description |
|---|---|---|
| Lab Exercises | 25% | Weekly hands-on labs (Labs 1-9) |
| Midterm Project | 20% | Custom persona + workflow design |
| Homework Assignments | 15% | Weekly reading responses and coding tasks |
| Class Participation | 10% | Discussion, peer review, presentations |
| Final Capstone | 30% | Full FCC deployment project (Lab 10) |
Week 1-2: FCC Fundamentals¶
Learning Objectives¶
- Explain the Find-Create-Critique cycle and its purpose
- Install and configure the FCC framework
- Navigate the project structure and data layer
- Load and query the persona registry
Lectures¶
- Week 1, Lecture 1: Introduction to agent-oriented software engineering
- Week 1, Lecture 2: The FCC cycle -- Find, Create, Critique
- Week 2, Lecture 1: Project structure and Python packaging
- Week 2, Lecture 2: Data layer -- YAML, JSON schemas, resource resolution
Readings¶
- Guidebook Ch. 1: Introduction
- Book 1 Ch. 1: What is FCC?
- Book 1 Ch. 7: Getting Started
Lab¶
- Week 1 Lab: Install FCC, run first persona query (Lab 1)
- Week 2 Lab: Run mock simulation, inspect trace output (Lab 2)
Notebooks¶
01_fcc_fundamentals.ipynb02_workflow_basics.ipynb
Assignment¶
Write a 1-page reflection: How does the FCC cycle compare to other software development lifecycles you have studied?
Week 3-4: Personas and R.I.S.C.E.A.R.¶
Learning Objectives¶
- Describe all 10 components of the R.I.S.C.E.A.R. specification
- Navigate the persona registry by category
- Understand persona dimensions (56 dimensions, 9 categories)
- Explain the discernment matrix and design target factors
Lectures¶
- Week 3, Lecture 1: R.I.S.C.E.A.R. specification deep dive
- Week 3, Lecture 2: Persona categories and the 102-persona catalog
- Week 4, Lecture 1: Persona dimensions -- behavioral, cultural, professional
- Week 4, Lecture 2: Discernment matrix and design target factors
Readings¶
- Guidebook Ch. 3: R.I.S.C.E.A.R. Specification
- Guidebook Ch. 4: Persona Dimensions
- Book 1 Ch. 2: Persona Mental Model
Lab¶
- Week 3 Lab: Explore personas interactively (Notebook 03)
- Week 4 Lab: Analyze dimension profiles for 5 personas
Notebooks¶
03_persona_exploration.ipynb
Streamlit Apps¶
learn_personas.pypersona_explorer.py
Assignment¶
Select 3 personas from different categories. Compare their R.I.S.C.E.A.R. specs and dimension profiles. Write a 2-page analysis of how these differences affect their behavior in the FCC cycle.
Week 5-6: Workflows and Actions¶
Learning Objectives¶
- Describe the 7 workflow graph variants and when to use each
- Execute workflow actions through the action engine
- Understand the 6 action types and 312 action definitions
- Design custom workflow graphs
Lectures¶
- Week 5, Lecture 1: Workflow graphs -- nodes, edges, traversal
- Week 5, Lecture 2: The 7 graph variants (5-node to 55-node)
- Week 6, Lecture 1: Action engine -- types, execution, results
- Week 6, Lecture 2: Custom workflow graph design
Readings¶
- Guidebook Ch. 5: Workflow System
- Book 1 Ch. 3: Workflow Thinking
- Book 2 Ch. 3: Workflow Design
Lab¶
- Week 5 Lab: Explore workflow graphs (Lab 3)
- Week 6 Lab: Design a custom 8-node workflow graph
Notebooks¶
07_action_engine.ipynb
Assignment¶
Design a custom workflow graph for a domain of your choice (e.g., scientific paper writing, code review, product design). Include at least 6 nodes across all 3 FCC phases. Submit the graph definition as JSON and a 1-page design rationale.
Week 7-8: Event Bus and Collaboration¶
Learning Objectives¶
- Explain the event bus architecture and its 81 event types
- Implement event subscribers with filtering
- Manage collaboration sessions with scoring and gates
- Use the observability layer for tracing and metrics
Lectures¶
- Week 7, Lecture 1: Event bus -- pub/sub, filtering, serialization
- Week 7, Lecture 2: Event types by category, replay patterns
- Week 8, Lecture 1: Collaboration engine -- sessions, turns, gates
- Week 8, Lecture 2: Observability -- tracing, metrics, exporters
Readings¶
- Guidebook Ch. 7: Event Bus and Observability
- Guidebook Ch. 8: Collaboration Engine
- Book 2 Ch. 6: Event Bus Observability
- Book 2 Ch. 7: Collaboration Sessions
Lab¶
- Week 7 Lab: Event bus integration (Lab 6)
- Week 8 Lab: Build a collaboration session (Lab 7)
Notebooks¶
05_event_bus_observability.ipynb06_collaboration_engine.ipynb
Streamlit Apps¶
collaboration_dashboard.pysimulation_replay.py
Assignment¶
Build an event-driven monitoring system that subscribes to simulation events, records metrics, and displays a summary dashboard. Submit code and a screenshot of your dashboard output.
Week 9-10: Governance and Plugins¶
Learning Objectives¶
- Describe the 3-tier constitution system (hard-stop, mandatory, preferred)
- Use quality gates for compliance checking
- Build custom plugins (10 plugin types)
- Understand plugin dependency resolution and lifecycle
Lectures¶
- Week 9, Lecture 1: Governance -- tags, quality gates, compliance
- Week 9, Lecture 2: Constitution registry -- per-persona rules
- Week 10, Lecture 1: Plugin architecture -- 10 types, registration
- Week 10, Lecture 2: Plugin lifecycle, dependency resolution, cross-plugin orchestration
Readings¶
- Guidebook Ch. 9: Governance
- Guidebook Ch. 6: Plugin Architecture
- Book 1 Ch. 4: Quality and Governance
- Book 2 Ch. 5: Plugin Development
Lab¶
- Week 9 Lab: Governance audit exercise (based on Lab 5)
- Week 10 Lab: Build a custom plugin (Lab 5)
Notebooks¶
08_governance_constitutions.ipynb04_plugin_system.ipynb
Streamlit Apps¶
learn_plugins.py
Midterm Project Due (End of Week 10)¶
Design and implement a custom persona with full R.I.S.C.E.A.R. spec, dimension profile, and a workflow that uses your persona. Include a plugin that integrates with the event bus. Present in a 10-minute class demonstration.
Week 11: Knowledge Federation¶
Learning Objectives¶
- Build and query knowledge graphs (9 node types, 9 edge types)
- Set up semantic search with embedding providers
- Configure RAG pipelines with different chunking strategies
- Understand cross-project federation and namespace resolution
Lectures¶
- Week 11, Lecture 1: Knowledge graphs and semantic search
- Week 11, Lecture 2: RAG pipelines and federation
Readings¶
- Guidebook Ch. 17: Knowledge Federation
- Book 3 Ch. 1-4: Semantic Search, Knowledge Graphs, RAG, Federation
Lab¶
- Week 11 Lab: Knowledge graph construction and RAG setup (Labs 8-9)
Notebooks¶
15_semantic_search.ipynb16_knowledge_graphs.ipynb
Streamlit Apps¶
kg_explorer.pyfederated_dashboard.py
Assignment¶
Build a knowledge graph from your midterm project's personas and workflows. Export it in at least 2 serialization formats. Write a 1-page analysis of the graph structure.
Week 12: Final Project (Capstone)¶
Learning Objectives¶
- Integrate all FCC components into a cohesive deployment
- Demonstrate end-to-end workflow from scenario to knowledge graph
- Present findings and design decisions to peers
Lectures¶
- Week 12, Lecture 1: Capstone project work session
- Week 12, Lecture 2: Final presentations (Part 1)
Lab¶
- Week 12 Lab: Capstone work session + presentations (Lab 10)
Capstone Requirements¶
The capstone project must include:
- Custom personas (minimum 3) with full R.I.S.C.E.A.R. specs
- Custom workflow graph (minimum 8 nodes)
- At least 1 custom plugin
- Event bus integration with at least 5 event types
- Collaboration session with scoring and approval gates
- Knowledge graph with at least 3 node types
- Documentation generated via docs-as-code
- Presentation (15 minutes) covering design decisions and lessons learned
Grading Rubric¶
| Criterion | Points | Description |
|---|---|---|
| Technical completeness | 30 | All 7 required components implemented |
| Design quality | 25 | Clean architecture, proper patterns |
| Documentation | 15 | Generated docs, clear README |
| Presentation | 15 | Clear communication, demo quality |
| Innovation | 15 | Creative use of framework features |
Supplementary Materials¶
- Assessment Strategies -- Detailed rubrics and quiz banks
- Student Workbook -- Additional exercises
- 2-Day Workshop -- Condensed version for workshops
- TUTORIALS_INDEX.md -- All learning resources
- Assessment rubrics:
src/fcc/data/docs/assessment_rubrics.yaml - Lab exercises:
src/fcc/data/docs/lab_exercises.yaml