[
  {
    "id": "2025-hsc-se-q01",
    "type": "mcq_single",
    "marks": 1,
    "title": "Implementation method for limited algorithm rollout",
    "source": {
      "kind": "official_exam",
      "exam": {
        "authority": "NESA",
        "course": "HSC Software Engineering",
        "year": 2025,
        "paper": "HSC",
        "question_number": "1",
        "document_url": null,
        "marking_guidelines_url": null
      }
    },
    "metadata": {
      "submitter": {
        "name": "Seed data",
        "contact": null,
        "organisation": null
      },
      "created_at": "2026-05-01",
      "updated_at": "2026-05-01",
      "status": "published",
      "difficulty": "easy",
      "tags": [
        "implementation methods",
        "pilot implementation"
      ]
    },
    "syllabus": {
      "course": "hsc-software-engineering",
      "points": [
        "SE12-PROJ-IMPLEMENTATION-METHODS",
        "SE-12-07"
      ],
      "content": [
        "Software engineering project \u2014 implementation methods"
      ]
    },
    "prompt": {
      "text": "A streaming platform updated its content suggestion algorithm for users.\nA group of users was upgraded to the new algorithm, and feedback was collected\nbefore replacing the algorithm for all users.\n\nWhich implementation method was used?\n",
      "assets": []
    },
    "rubric": [
      {
        "marks": 1,
        "description": "Identifies the correct answer."
      }
    ],
    "explanation": "This is a pilot implementation because the new algorithm was tested with a limited group\nbefore a full release.\n",
    "assets": [],
    "options": [
      {
        "id": "A",
        "text": "Pilot"
      },
      {
        "id": "B",
        "text": "Direct"
      },
      {
        "id": "C",
        "text": "Phased"
      },
      {
        "id": "D",
        "text": "Parallel"
      }
    ],
    "answer": {
      "correct_option": "A"
    }
  },
  {
    "id": "2025-hsc-se-q02",
    "type": "fill_blank_dropdown",
    "marks": 1,
    "title": "Waterfall and Agile documentation emphasis",
    "source": {
      "kind": "official_exam",
      "exam": {
        "authority": "NESA",
        "course": "HSC Software Engineering",
        "year": 2025,
        "paper": "HSC",
        "question_number": "2",
        "document_url": null,
        "marking_guidelines_url": null
      }
    },
    "metadata": {
      "submitter": {
        "name": "Seed data",
        "contact": null,
        "organisation": null
      },
      "created_at": "2026-05-01",
      "updated_at": "2026-05-01",
      "status": "published",
      "difficulty": "easy",
      "tags": [
        "waterfall",
        "agile",
        "development approaches"
      ]
    },
    "syllabus": {
      "course": "hsc-software-engineering",
      "points": [
        "SE12-PROJ-SOFTWARE-DEVELOPMENT-APPROACHES",
        "SE-12-09"
      ],
      "content": [
        "Software engineering project \u2014 software development approaches"
      ]
    },
    "prompt": {
      "text": "The {{blank:approach_1}} approach typically requires extensive documentation,\nwhile the {{blank:approach_2}} approach often emphasises working software over documentation.\n",
      "assets": []
    },
    "rubric": [
      {
        "marks": 1,
        "description": "Identifies the correct item from each dropdown."
      }
    ],
    "explanation": "Waterfall commonly emphasises upfront documentation. Agile values working software and\nadaptation over comprehensive documentation.\n",
    "assets": [],
    "blanks": [
      {
        "id": "approach_1",
        "options": [
          "Agile",
          "Waterfall",
          "WAgile"
        ],
        "correct": "Waterfall"
      },
      {
        "id": "approach_2",
        "options": [
          "Agile",
          "Waterfall",
          "WAgile"
        ],
        "correct": "Agile"
      }
    ],
    "answer": {
      "values": {
        "approach_1": "Waterfall",
        "approach_2": "Agile"
      }
    }
  },
  {
    "id": "2025-hsc-se-q03",
    "type": "mcq_single",
    "marks": 1,
    "title": "Machine learning model for labelled handwritten letters",
    "source": {
      "kind": "official_exam",
      "exam": {
        "authority": "NESA",
        "course": "HSC Software Engineering",
        "year": 2025,
        "paper": "HSC",
        "question_number": "3",
        "document_url": null,
        "marking_guidelines_url": null
      }
    },
    "metadata": {
      "submitter": {
        "name": "Seed data",
        "contact": null,
        "organisation": null
      },
      "created_at": "2026-05-01",
      "updated_at": "2026-05-01",
      "status": "published",
      "difficulty": "easy",
      "tags": [
        "machine learning",
        "supervised learning",
        "image recognition"
      ]
    },
    "syllabus": {
      "course": "hsc-software-engineering",
      "points": [
        "SE12-AUTO-ML-TRAINING",
        "SE-12-03"
      ],
      "content": [
        "Software automation \u2014 machine learning training"
      ]
    },
    "prompt": {
      "text": "An image recognition program uses machine learning to recognise letters. It is trained\nusing a range of images of handwritten letters. Each of the images below is labelled\nwith the letter B when training the program.\n\nWhat model of ML training is used to train this software?\n",
      "assets": [
        "handwritten_b_samples"
      ]
    },
    "rubric": [
      {
        "marks": 1,
        "description": "Identifies the correct answer."
      }
    ],
    "explanation": "The training images are labelled with the expected output, so the model is using\nsupervised learning.\n",
    "assets": [
      {
        "id": "handwritten_b_samples",
        "type": "image",
        "path": "2025-hsc-se-q03-handwritten-b.png",
        "alt": "Examples of handwritten letter B used as labelled training images.",
        "caption": "Labelled handwritten B examples."
      }
    ],
    "options": [
      {
        "id": "A",
        "text": "Supervised learning"
      },
      {
        "id": "B",
        "text": "Unsupervised learning"
      },
      {
        "id": "C",
        "text": "Reinforcement learning"
      },
      {
        "id": "D",
        "text": "Semi-supervised learning"
      }
    ],
    "answer": {
      "correct_option": "A"
    }
  },
  {
    "id": "2025-hsc-se-q09",
    "type": "matching_table",
    "marks": 1,
    "title": "ORM and SQL characteristics",
    "source": {
      "kind": "official_exam",
      "exam": {
        "authority": "NESA",
        "course": "HSC Software Engineering",
        "year": 2025,
        "paper": "HSC",
        "question_number": "9",
        "document_url": null,
        "marking_guidelines_url": null
      }
    },
    "metadata": {
      "submitter": {
        "name": "Seed data",
        "contact": null,
        "organisation": null
      },
      "created_at": "2026-05-01",
      "updated_at": "2026-05-01",
      "status": "published",
      "difficulty": "medium",
      "tags": [
        "ORM",
        "SQL",
        "databases",
        "web programming"
      ]
    },
    "syllabus": {
      "course": "hsc-software-engineering",
      "points": [
        "SE12-WEB-ORM-SQL",
        "SE-12-01"
      ],
      "content": [
        "Programming for the web \u2014 ORM and SQL"
      ]
    },
    "prompt": {
      "text": "Two approaches that can be used when programming databases for use in web applications\nare Object-Relational Mapping (ORM) and Structured Query Language (SQL).\n\nMatch each characteristic to the appropriate approach.\n",
      "assets": []
    },
    "rubric": [
      {
        "marks": 1,
        "description": "Correctly matches each characteristic to the appropriate approach."
      }
    ],
    "explanation": "ORM lets programmers work with database records as objects in their chosen programming\nlanguage. SQL directly queries relational tables and supports joins.\n",
    "assets": [],
    "columns": [
      {
        "id": "orm",
        "label": "Object-Relational Mapping (ORM)"
      },
      {
        "id": "sql",
        "label": "Structured Query Language (SQL)"
      }
    ],
    "rows": [
      {
        "id": "object_manipulation",
        "text": "Code is focused on object manipulation"
      },
      {
        "id": "joined_tables",
        "text": "Tables can be joined to enhance searching"
      },
      {
        "id": "choose_language",
        "text": "Programmers can choose the language used to access the database"
      }
    ],
    "answer": {
      "matches": {
        "object_manipulation": "orm",
        "joined_tables": "sql",
        "choose_language": "orm"
      }
    }
  },
  {
    "id": "2025-hsc-se-q10",
    "type": "mcq_multiple",
    "marks": 1,
    "title": "Goals of regulatory compliance in software development",
    "source": {
      "kind": "official_exam",
      "exam": {
        "authority": "NESA",
        "course": "HSC Software Engineering",
        "year": 2025,
        "paper": "HSC",
        "question_number": "10",
        "document_url": null,
        "marking_guidelines_url": null
      }
    },
    "metadata": {
      "submitter": {
        "name": "Seed data",
        "contact": null,
        "organisation": null
      },
      "created_at": "2026-05-01",
      "updated_at": "2026-05-01",
      "status": "published",
      "difficulty": "easy",
      "tags": [
        "regulatory compliance",
        "security",
        "legal standards"
      ]
    },
    "syllabus": {
      "course": "hsc-software-engineering",
      "points": [
        "SE12-SEC-REGULATORY-COMPLIANCE",
        "SE-12-05"
      ],
      "content": [
        "Secure software architecture \u2014 regulatory compliance"
      ]
    },
    "prompt": {
      "text": "Which of the following are goals of regulatory compliance in relation to software development?\n\nSelect all that apply.\n",
      "assets": []
    },
    "rubric": [
      {
        "marks": 1,
        "description": "Identifies all items that are goals of regulatory compliance in relation to software development."
      }
    ],
    "explanation": "Compliance is about meeting legal and industry obligations, including protecting sensitive\ndata. It is not intended to bypass security or reduce necessary testing.\n",
    "assets": [],
    "options": [
      {
        "id": "A",
        "text": "Limiting the need for software updates"
      },
      {
        "id": "B",
        "text": "Protecting sensitive data from unauthorised access"
      },
      {
        "id": "C",
        "text": "Allowing developers to bypass security features when needed"
      },
      {
        "id": "D",
        "text": "Reducing the testing time required during software development"
      },
      {
        "id": "E",
        "text": "Ensuring software applications meet legal and industry standards"
      }
    ],
    "answer": {
      "correct_options": [
        "B",
        "E"
      ]
    }
  },
  {
    "id": "2025-hsc-se-q18",
    "type": "short_answer",
    "marks": 3,
    "title": "Metadata and data mining for live streaming reliability",
    "source": {
      "kind": "official_exam",
      "exam": {
        "authority": "NESA",
        "course": "HSC Software Engineering",
        "year": 2025,
        "paper": "HSC",
        "question_number": "18",
        "document_url": null,
        "marking_guidelines_url": null
      }
    },
    "metadata": {
      "submitter": {
        "name": "Seed data",
        "contact": null,
        "organisation": null
      },
      "created_at": "2026-05-01",
      "updated_at": "2026-05-01",
      "status": "published",
      "difficulty": "medium",
      "tags": [
        "metadata",
        "data mining",
        "streaming",
        "web architecture"
      ]
    },
    "syllabus": {
      "course": "hsc-software-engineering",
      "points": [
        "SE12-WEB-BIG-DATA-ARCHITECTURE",
        "SE-12-04"
      ],
      "content": [
        "Programming for the web \u2014 effect of big data on web architecture"
      ]
    },
    "prompt": {
      "text": "A streaming service has exclusive rights to broadcast a live event each Sunday afternoon.\n\nExplain how the streaming service can use metadata and data mining to prevent technical\ndifficulties during the broadcast of this weekly event.\n",
      "assets": []
    },
    "rubric": [
      {
        "marks": 3,
        "description": "Explains how metadata and data mining can be used to prevent technical difficulties during the broadcast of the live event."
      },
      {
        "marks": 2,
        "description": "Outlines how metadata and/or data mining can be used to prevent broadcast technical difficulties."
      },
      {
        "marks": 1,
        "description": "Identifies a feature of metadata or data mining."
      }
    ],
    "explanation": "The best answers connect metadata and data mining to operational action, such as demand\nprediction, load balancing, capacity planning, caching or scaling.\n",
    "assets": [],
    "answer": {
      "sample": "Metadata describes the content, structure and meaning of data, enabling more effective\ndata mining. Data mining can identify viewing patterns and predict times of high demand.\nThe streaming service can use this information with real-time user data to balance server\nloads and deliver smoother playback during the live event.\n"
    }
  },
  {
    "id": "community-implementation-methods-001",
    "type": "mcq_single",
    "marks": 1,
    "title": "Community sample question for phased implementation",
    "source": {
      "kind": "community",
      "author": {
        "name": "Example Contributor",
        "contact": "contributor@example.com",
        "organisation": "Example High School"
      },
      "licence": "CC-BY-4.0",
      "submitted_at": "2026-05-01",
      "review_status": "published"
    },
    "metadata": {
      "submitter": {
        "name": "Example Contributor",
        "contact": "contributor@example.com",
        "organisation": null
      },
      "created_at": "2026-05-01",
      "updated_at": "2026-05-01",
      "status": "published",
      "difficulty": "easy",
      "tags": [
        "implementation methods",
        "phased implementation",
        "community"
      ]
    },
    "syllabus": {
      "course": "hsc-software-engineering",
      "points": [
        "SE12-PROJ-IMPLEMENTATION-METHODS",
        "SE-12-07"
      ],
      "content": [
        "Software engineering project \u2014 implementation methods"
      ]
    },
    "prompt": {
      "text": "A school replaces its old student portal one year group at a time. Year 12 is moved first,\nfollowed by Year 11, then the junior years.\n\nWhich implementation method is being used?\n",
      "assets": []
    },
    "rubric": [
      {
        "marks": 1,
        "description": "Identifies the correct implementation method."
      }
    ],
    "explanation": "This is phased implementation because the system is introduced in stages across groups.\n",
    "assets": [],
    "options": [
      {
        "id": "A",
        "text": "Direct"
      },
      {
        "id": "B",
        "text": "Parallel"
      },
      {
        "id": "C",
        "text": "Phased"
      },
      {
        "id": "D",
        "text": "Pilot"
      }
    ],
    "answer": {
      "correct_option": "C"
    }
  }
]