Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:01:52 +08:00
commit 9daed3091f
21 changed files with 2964 additions and 0 deletions

233
commands/create-lab-nb.md Normal file
View File

@@ -0,0 +1,233 @@
---
description: Create a lab assignment Jupyter notebook
---
# Create Lab Notebook
Generate a Jupyter notebook for a hands-on lab assignment where students apply concepts to solve problems.
## Interactive Workflow
This command uses a numbered-option interactive workflow to gather requirements and create the lab notebook.
### Step 1: Course Selection
Ask the user which course this lab is for:
```
Which course is this lab for?
[1] BANA 4080 (Intro to Data Mining - Undergraduate)
[2] BANA 6043 (Statistical Computing - Graduate)
[3] BANA 7075 (ML in Business - Graduate)
Please select an option by number:
```
**Course Mappings:**
- BANA 4080 → `bana-4080` profile (inherits from `intro-to-data-mining`) - Undergraduate
- BANA 6043 → `bana-6043` profile (inherits from `statistical-computing`) - Graduate
- BANA 7075 → `bana-7075` profile (inherits from `ml-in-business`) - Graduate
Load the appropriate course profile and, for BANA 4080, also load the `lab-template-guide` skill.
### Step 2: Chapter Input
Ask which chapters the lab should reinforce:
```
Which chapters should this lab reinforce?
(Provide chapter numbers or names, e.g., "Chapters 7-9" or "Control Flow, Functions")
```
Read the specified chapters if available to analyze content.
### Step 3: Topic Confirmation
Based on the chapters, analyze and present planned topics:
```
Based on [chapters specified], I plan to cover these topics:
- [Topic 1 identified from chapter analysis]
- [Topic 2 identified from chapter analysis]
- [Topic 3 identified from chapter analysis]
[- Additional topics as appropriate]
[1] Accept these topics
[2] Add or modify topics
Please select an option:
```
If option [2], ask:
```
Please specify additional topics to include or modifications:
```
### Step 4: Dataset Strategy
Present the dataset plan and ask for confirmation:
```
Dataset plan:
- Part A (guided reinforcement): [Primary dataset from chapter readings]
- Part B (independent challenges): [Dataset from end-of-chapter exercises]
[1] Accept these datasets
[2] Specify alternative datasets
Please select an option:
```
If option [2], ask:
```
Please specify which datasets to use:
- Part A dataset:
- Part B dataset:
```
### Step 5: Week Number
Ask what week this lab is for:
```
What week number is this lab for?
(Used for filename: XX_wkX_lab.ipynb)
```
### Step 6: Save Location
Detect if a `lab/` or `labs/` directory exists in the current working directory or nearby. Present options:
```
Where should I save the lab notebook?
[Suggested path: /path/to/lab/]
Please provide the directory path (or press Enter to use suggested path):
```
### Step 7: Generate Lab
**For BANA 4080 labs:**
1. Read the template file at `/Users/b294776/Desktop/UC/uc-bana-4080/planning/templates/lab_notebook_template.ipynb`
2. Follow the structure exactly as defined in the template
3. Replace all `[PLACEHOLDERS]` with appropriate content based on:
- Chapters/readings specified
- Topics confirmed
- Datasets selected
- Week number
- Course profile and lab-template-guide
4. Ensure the 75-minute structure:
- Part A: ~30 minutes of guided reinforcement
- Class Q&A: ~5-10 minutes
- Part B: ~35-40 minutes of independent challenges (6 challenges)
- Wrap-up: ~3-5 minutes
5. Include:
- Clear learning objectives (3-4 items)
- Business context for all concepts
- Step-by-step instructions for Part A
- Progressive challenges for Part B (no starter code, no AI)
- Reflection questions
- Troubleshooting section
6. Save as `XX_wkX_lab.ipynb` in specified directory
**For BANA 6043 and 7075 labs:**
1. Use the general lab template structure from `content-templates/templates.md`
2. Adapt to graduate level and course-specific context
3. Follow course profile standards
4. Save in specified directory
### Step 8: Completion Message
Display success message with reminder about TA guide:
```
✅ Lab notebook created successfully!
Location: [full path to created file]
Next steps:
1. Review the lab notebook and make any necessary edits
2. When ready, use `/course-builder:create-ta-guide` to create the TA guidance notebook
The TA guidance notebook will include:
- Complete solutions for all challenges
- Teaching guidance for Part A sections
- Common student difficulties and hints
- Timing and facilitation strategies
```
## What the Agent Does
The course-architect agent will:
**Planning Phase:**
- Load appropriate course profile based on selection
- For BANA 4080: Load lab-template-guide skill
- Analyze specified chapters to extract key concepts
- Identify topics requiring hands-on practice
- Determine appropriate datasets from chapter content
- Confirm all details with user using numbered options
**Content Creation Phase:**
- For BANA 4080: Read and use the actual template file
- Generate lab following the exact structure required
- Fill all placeholders with specific, contextual content
- Create Part A with guided examples and "Your Turn" exercises
- Create Part B with 6 progressive business-focused challenges
- Include appropriate scaffolding for student level
- Add business context to every concept and exercise
- Ensure timing estimates are realistic
**Quality Assurance:**
- Verify all placeholders are replaced
- Ensure learning objectives align with activities
- Confirm business context is present throughout
- Validate structure matches template requirements
- Check that timing adds up to 75 minutes (for BANA 4080)
## Course-Specific Requirements
### BANA 4080 (Undergraduate)
- **Template:** Must use the provided template file exactly
- **Structure:** Part A (30 min) + Q&A (5-10 min) + Part B (35-40 min) + Wrap-up (3-5 min)
- **Part A:** Guided reinforcement with TA leading students
- **Part B:** 6 independent group challenges with NO starter code, NO AI tools
- **Tone:** Encouraging, accessible, builds confidence
- **Examples:** Relatable business scenarios for beginners
- **TA Guide Required:** Yes, created separately with `/course-builder:create-ta-guide`
### BANA 6043 & 7075 (Graduate)
- **Structure:** Flexible based on course needs
- **Tone:** More formal, assumes stronger technical background
- **Examples:** Advanced business applications, research scenarios
- **Complexity:** Higher mathematical rigor and conceptual depth
- **TA Guide:** Optional, based on instructor preference
## Skills Available to Agent
The agent has access to:
- **pedagogy**: General teaching principles for data science
- **content-templates**: Lab notebook structure patterns
- **courses/bana-4080**: BANA 4080 course profile and lab-template-guide
- **courses/bana-6043**: BANA 6043 course profile
- **courses/bana-7075**: BANA 7075 course profile
- **courses/intro-to-data-mining**: Base profile for BANA 4080
- **courses/statistical-computing**: Base profile for BANA 6043
- **courses/ml-in-business**: Base profile for BANA 7075
## Output
A complete Jupyter notebook (.ipynb format) including:
- Professional header with learning objectives
- Setup and data loading
- Guided learning sections (Part A for BANA 4080)
- Independent practice/challenges (Part B for BANA 4080)
- Business context throughout
- Reflection and wrap-up
- Troubleshooting section
- Appropriate complexity for student level
- Realistic time estimates
**Note:** The TA guidance notebook is created separately using the `/course-builder:create-ta-guide` command after the instructor reviews and approves the student lab notebook.