6 Designing the Course Feeder Workbook
This chapter defines the standard feeder Excel workbook used to generate a complete Quarto-based course website. The workbook separates course content, delivery logistics, and grading structure into clearly defined sheets.
This separation is intentional: * It mirrors how universities think about courses. * It allows partial automation with AI. * It prevents accidental coupling between pedagogy and logistics.
6.1 Workbook Overview
Based on the official benchmark (Course-Schedule.xlsx), the feeder workbook contains several essential sheets. The primary ones you will interact with are:
| Sheet Name | Purpose | What It Generates |
|---|---|---|
Course Details |
What is taught (modules, lectures, topics) | lecture notes, presentations, module pages, schedule rows |
Sections |
How and when it is taught | syllabus section table, schedule anchors |
Grade |
How students are evaluated | grading table, deliverables summary |
Deliverables |
What students submit | Blackboard assignment map, due-date planning |
Older course workbooks may also include supplementary sheets such as Calendar or Day List for institution-specific term mapping.
Treat the workbook as the planning database for the course. Quarto files are the authoring layer; Blackboard is the delivery layer; the workbook is the structure that keeps them aligned.
6.2 Sheet 1 — Course Details (Core Content Sheet)
6.2.1 Purpose
This sheet defines the academic structure of the course. It is the only sheet required to generate Lecture Notes, Presentations, Labs, and Assignments using our Quarto workflow.
6.2.2 Required Columns
The Course Details sheet should contain these columns:
| Column | Description |
|---|---|
Module |
Module identifier (e.g. Module 1) |
Lecture |
Lecture identifier (e.g. L0.1, L1.1) |
Title |
Lecture title |
Description |
One–two paragraph description |
Mode |
Delivery mode, such as Online, On-Campus, or both |
Source File |
Quarto file that should hold the content |
6.2.3 Example Rows
| Module | Lecture | Title | Description | Mode | Source File |
|---|---|---|---|---|---|
| Module 1 | L1.1 | Course Foundations | Introduce the course workflow, tools, and first applied example. | Online; On-Campus | M01/M01_LN1.qmd |
| Module 1 | L1.2 | Applied Workflow | Extend the first example into a lab, assignment, and project step. | Online; On-Campus | M01/M01_LN2.qmd |
6.2.4 What This Sheet Generates
The Course Details sheet drives:
- module folder planning
- lecture note metadata
- presentation titles
- schedule rows
- Blackboard module labels
- AI-assisted summaries and keywords
6.3 Sheet 2 — Sections (Delivery Logistics)
6.3.1 Purpose
This sheet captures when and by whom the course is delivered. It is used for syllabus generation and schedule pages.
6.3.2 Required Columns
| Column | Description |
|---|---|
Section |
Section identifier (e.g., A1, B1) |
Modality |
Online, On-Campus, Hybrid, or other local label |
Location |
Classroom or Zoom link |
Instructor |
Instructor name |
Email |
Instructor email |
Start Date |
First class date in YYYY-MM-DD format |
Meeting Days |
Day or days of week |
Meeting Time |
Start and end time |
6.3.3 What This Sheet Generates
The Sections sheet drives:
- syllabus instructor tables
- schedule start dates
- online/on-campus variants
- Blackboard section-specific reminders
6.4 Sheet 3 — Grade (Evaluation Structure)
6.4.1 Purpose
This sheet defines the grading logic independently of content. It supports automatic syllabus grading tables.
6.4.2 Required Columns (Key Elements)
| Column | Description |
|---|---|
Category |
Category name, such as Labs, Assignments, Project, Participation |
Count |
Number of items |
Points Each |
Points per item |
Total Points |
Total category points |
Weight |
Syllabus weight, if used |
6.4.3 What This Sheet Generates
The Grade sheet drives:
- syllabus grading tables
- points summaries
- Blackboard category planning
- assignment weighting checks
6.5 Sheet 4 — Deliverables (Student Submission Map)
6.5.1 Purpose
This sheet connects the academic plan to student-facing submissions.
6.5.2 Required Columns
| Column | Description |
|---|---|
Module |
Module associated with the deliverable |
Deliverable |
Student-facing name |
Type |
Lab, Assignment, Project, Participation, Quiz, or Exam |
Source File |
Quarto source file |
Due Offset Days |
Days after the module start date |
Points |
Points attached to the deliverable |
6.5.3 Example Rows
| Module | Deliverable | Type | Source File | Due Offset Days | Points |
|---|---|---|---|---|---|
| Module 1 | Lab 1 | Lab | M01/M01_Lab1.qmd |
5 | 10 |
| Module 1 | Assignment | Assignment | M01/M01_A.qmd |
7 | 30 |
| Module 1 | Project Step | Project | M01/M01_Proj.qmd |
10 | 40 |
6.5.4 What This Sheet Generates
The Deliverables sheet drives:
- Blackboard assignment setup
- due-date planning
- deliverables pages
- project milestone tracking
- grading workload estimates
6.6 Validation Rules
Before using the workbook downstream, check these rules:
- Every required sheet exists.
- Every required column exists.
Source Filevalues use the canonicalM01_*convention.- Every deliverable has a type, source file, due offset, and points value.
- Section start dates use
YYYY-MM-DD. - Grade category totals are internally consistent.
- Module labels in
Course DetailsandDeliverablesmatch.
Run the validator:
python scripts/validate_course_workbook.py data/Course-Schedule.xlsxValidation is deliberately strict about sheet and column names because small spreadsheet inconsistencies become broken automation later.
6.7 Automating the Workbook Generation
Instead of creating this Excel file by hand, use the included script to generate a template populated with the exact sheets, columns, and starter rows:
6.7.1 Workbook Generator Script
python scripts/generate_course_workbook.py data/Course-Schedule.xlsxIf you need to replace an existing workbook:
python scripts/generate_course_workbook.py data/Course-Schedule.xlsx --overwrite6.8 Generating a Draft Schedule
Once Course Details and Sections are filled, generate a draft schedule CSV:
python scripts/generate_course_schedule.py data/Course-Schedule.xlsx data/generated_schedule.csvThis first schedule is intentionally simple. It gives you a clean table that can be refined into schedule.qmd, copied into Blackboard planning materials, or used as a quality-control view of the workbook.
6.9 AI Automation (Optional)
Once your Course Details sheet is generated, and you have filled in the Module, Lecture, Title, Description, and Source File columns, you can use the metadata script discussed in Chapter 8 (Automating with AI) to populate YAML front matter in the generated Quarto files.