A Git-based content repository for CIS 53 (Introduction to Intrusion Detection) that organizes labs, quizzes, final exam, and lecture notes. Designed for ingestion by Cyber Grader through automated sync workflows. Content is stored as Markdown/YAML assets with validation metadata and version tracking.
- Directory Structure:
labs/,quizzes/,final/,notes/,shared/(common assets, media, rubrics). - Content Format: Markdown for narrative instructions, YAML/JSON for structured assessment data.
- Automation Ready: Consistent schema enables Cyber Grader pull-and-parse pipelines.
- Version Control: Git commits provide history, tagging for course releases (
v{term}-{release}).
- Root-level
course.yamldefines course term, pacing, grading weights, and sync settings. - Each assessment folder includes an
index.yamlmanifest describing modules, prerequisites, and grading rules. - Optional
assets/subdirectories provide supporting files with checksum tracking.
- Located under
labs/{module}/with:README.md(student instructions) featuring objectives, prerequisites, and submission guidance.flags.yamldefining validation (exact,regex,script,file_hash).rubric.yamlcapturing scoring breakdown and partial credit rules.
- Supports multiple lab variants via
variants/subfolders that inherit base metadata. - Change log maintained via
CHANGELOG.mdper lab to surface updates for Cyber Grader release notes.
- Stored in
quizzes/{module}/quiz.yaml. - YAML schema captures question banks (MCQ, true/false, short answer, scenario), randomization rules, and per-question scoring.
- Includes
feedback.mdfor post-quiz explanations andsettings.yamlfor attempt limits and availability windows. - Version tags aligned with Git commits ensure deterministic grading.
- Organized in
final/{stage}/directories to support multi-stage structure. - Each stage contains:
exam.yamlcombining objective items (auto-graded) and subjective prompts (rubric references).timeline.yamlfor availability windows, time limits, and unlock conditions.attachments/for packet captures, logs, or evidence files.
- Aggregation rules defined in
final/summary.yamlmapping stage scores to final grade weight.
- Markdown-based lecture notes inside
notes/week-XX/README.mdwith embedded resource links. notes/media/stores supplementary images, diagrams, and slide decks (preferably PDF/PNG).- Optional
notes/index.yamllists modules, objectives, and related lab/quiz references for Cyber Grader dashboards.
scripts/validate.pyruns schema and link checks prior to sync; recommended as a pre-commit hook and CI step.schemas/directory defines JSON Schema files for labs, quizzes, exam YAML validation.- GitHub Actions workflow (
.github/workflows/ci.yml) executes validation, lints Markdown, and publishes release artifacts.
sync-config.yamlspecifies target Cyber Grader instance, API endpoints, and content mappings.- Webhook-friendly structure so Cyber Grader can pull latest commit SHA, compare manifests, and ingest updates.
- Exports summary data (
exports/) for debugging: manifest snapshots, schema validation reports, and changelog digests.
CONTRIBUTING.mdoutlines naming conventions, schema expectations, and review checklist.STYLE.mdprovides Markdown/YAML style guides, glossary, and taxonomy for intrusion detection topics.ROADMAP.mdtracks planned content expansions (new labs, updated quizzes, supplemental resources).
- Each content area maintains unit-like tests via
tests/referencing schema validators. - Scheduled CI job performs nightly validation against Cyber Grader staging environment.
- Audit trail of changes captured through conventional commit messages and GitHub releases.