{
  "id": "competency:beng",
  "code": "CDU-ENG-BENG-700",
  "level": "BEng",
  "name": "BEng — Engineering Foundations (January 2027 starter)",
  "faculty": "Faculty of Engineering and the Built Environment",
  "lineage": [
    {
      "institution": "Conquest Designer University",
      "year": 2026,
      "note": "authored for the January 2027 intake on the shared first-year spine; the house’s own executable programme, mapped against the framework for assessment — no prior institution and no registration is claimed"
    }
  ],
  "researchProject": "The engineering starter: honestly NQF 7 and 360 credits, mapped against the 480-credit professional type it aspires to",
  "description": "A 360-credit NQF 7 engineering starter degree. The framework lookup also names the 480-credit professional Bachelor's type this copy is mapped AGAINST; the starter is honestly labelled NQF 7, 360 credits, and nothing claims registration.",
  "syllabus": [
    "Shared Year 1 (January 2027): Academic English, Calculus I and II, Accounting I, Economics I, Statistics I — every module executable",
    "The later years are named module by module and carry credits honestly before they carry code",
    "The credit rule, the prerequisite graph and the completion arithmetic, proven by the one conformance gate"
  ],
  "reference": {
    "Credit rule": "one credit is ten notional hours (src-of-truth: the framework lookup)",
    "Award size": "Bachelor's Degree: 360 credits at NQF 7 exit level, per the one framework lookup",
    "Honest registration": "not registered — the mapping against the framework is published as a mapping, never as a registration"
  },
  "role": "You are a first-year lecturer who shows every step. State the rule, substitute the numbers, name the units, and end with what the student should try next. You never claim the programme is registered or accredited; the mapping against the framework is published as a mapping.",
  "feeUsd": 1,
  "version": "1.0.0",
  "qualification": {
    "award": "BEng",
    "nqfLevel": 7,
    "qualificationType": "Bachelor's Degree",
    "totalCredits": 360,
    "minCreditsAtExitLevel": 120,
    "iscedFields": [
      "071"
    ],
    "standards": [],
    "registration": "not registered"
  },
  "modules": [
    {
      "code": "Y1-ENG511",
      "title": "Academic English",
      "nqfLevel": 5,
      "credits": 20,
      "prerequisites": [],
      "coRequisites": [],
      "outcomes": [
        "read, summarise and reference academic prose; the deterministic compression measure is the executable check"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "the summary-compression unit plus portfolio work marked by people — no model writes or marks an essay",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [
        "eng_academic_summary"
      ],
      "notionalHours": 200
    },
    {
      "code": "Y1-MAT511",
      "title": "Calculus I",
      "nqfLevel": 5,
      "credits": 20,
      "prerequisites": [],
      "coRequisites": [],
      "outcomes": [
        "differentiate polynomial functions and interpret the derivative"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "the power-rule unit through the seeded assessment",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [
        "calc1_derivative"
      ],
      "notionalHours": 200
    },
    {
      "code": "Y1-MAT521",
      "title": "Calculus II",
      "nqfLevel": 5,
      "credits": 20,
      "prerequisites": [
        "Y1-MAT511"
      ],
      "coRequisites": [],
      "outcomes": [
        "estimate and check definite integrals numerically"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "the trapezium-rule unit with its exact-value check",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [
        "calc2_trapezium"
      ],
      "notionalHours": 200
    },
    {
      "code": "Y1-ACC511",
      "title": "Accounting I",
      "nqfLevel": 5,
      "credits": 20,
      "prerequisites": [],
      "coRequisites": [],
      "outcomes": [
        "apply the accounting equation and read a simple statement of position"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "the accounting-equation unit through the seeded assessment",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [
        "acct_equation"
      ],
      "notionalHours": 200
    },
    {
      "code": "Y1-ECO511",
      "title": "Economics I",
      "nqfLevel": 5,
      "credits": 20,
      "prerequisites": [],
      "coRequisites": [],
      "outcomes": [
        "solve a linear market equilibrium and interpret the result"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "the market-equilibrium unit through the seeded assessment",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [
        "econ_equilibrium"
      ],
      "notionalHours": 200
    },
    {
      "code": "Y1-STA511",
      "title": "Statistics I",
      "nqfLevel": 5,
      "credits": 20,
      "prerequisites": [],
      "coRequisites": [
        "Y1-MAT511"
      ],
      "outcomes": [
        "compute and interpret descriptive measures of a sample"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "the descriptive-statistics unit through the seeded assessment",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [
        "stat_descriptive"
      ],
      "notionalHours": 200
    },
    {
      "code": "Y2-ENG611",
      "title": "Engineering Mathematics II",
      "nqfLevel": 6,
      "credits": 30,
      "prerequisites": [
        "Y1-MAT511",
        "Y1-ENG511"
      ],
      "coRequisites": [],
      "outcomes": [
        "Engineering Mathematics II — second-year outcome set (2028 intake year; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Engineering Mathematics II: examination and coursework (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    },
    {
      "code": "Y2-ENG621",
      "title": "Mechanics of Materials II",
      "nqfLevel": 6,
      "credits": 30,
      "prerequisites": [
        "Y2-ENG611"
      ],
      "coRequisites": [],
      "outcomes": [
        "Mechanics of Materials II — second-year outcome set (2028 intake year; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Mechanics of Materials II: examination and coursework (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    },
    {
      "code": "Y2-ENG631",
      "title": "Thermofluids II",
      "nqfLevel": 6,
      "credits": 30,
      "prerequisites": [
        "Y2-ENG611"
      ],
      "coRequisites": [],
      "outcomes": [
        "Thermofluids II — second-year outcome set (2028 intake year; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Thermofluids II: examination and coursework (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    },
    {
      "code": "Y2-ENG641",
      "title": "Electrical Systems II",
      "nqfLevel": 6,
      "credits": 30,
      "prerequisites": [
        "Y2-ENG611"
      ],
      "coRequisites": [],
      "outcomes": [
        "Electrical Systems II — second-year outcome set (2028 intake year; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Electrical Systems II: examination and coursework (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    },
    {
      "code": "Y3-ENG711",
      "title": "Design III",
      "nqfLevel": 7,
      "credits": 30,
      "prerequisites": [
        "Y2-ENG611"
      ],
      "coRequisites": [],
      "outcomes": [
        "Design III — exit-level outcome set (2029; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Design III: examination and a capstone (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    },
    {
      "code": "Y3-ENG721",
      "title": "Control Systems III",
      "nqfLevel": 7,
      "credits": 30,
      "prerequisites": [
        "Y2-ENG611"
      ],
      "coRequisites": [],
      "outcomes": [
        "Control Systems III — exit-level outcome set (2029; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Control Systems III: examination and a capstone (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    },
    {
      "code": "Y3-ENG731",
      "title": "Engineering Economics III",
      "nqfLevel": 7,
      "credits": 30,
      "prerequisites": [
        "Y2-ENG611"
      ],
      "coRequisites": [],
      "outcomes": [
        "Engineering Economics III — exit-level outcome set (2029; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Engineering Economics III: examination and a capstone (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    },
    {
      "code": "Y3-ENG741",
      "title": "Capstone Project",
      "nqfLevel": 7,
      "credits": 30,
      "prerequisites": [
        "Y2-ENG611"
      ],
      "coRequisites": [],
      "outcomes": [
        "Capstone Project — exit-level outcome set (2029; units land with that intake)"
      ],
      "assessment": {
        "formative": [
          "worked examples re-run against the published reference",
          "seeded practice scenarios, deterministic per (pan, unit, attempt)"
        ],
        "summative": "Capstone Project: examination and a capstone (future year — no executable unit yet, stated honestly)",
        "passMark": 50,
        "subminimum": 40,
        "moderation": "internally assessed by the unit itself — its reference implementation is the marker; the working is published so anyone can re-run the mark (D-13.1 — no model marks anything)"
      },
      "unitIds": [],
      "notionalHours": 300
    }
  ],
  "units": [
    {
      "id": "eng_academic_summary",
      "name": "Academic English — summary compression",
      "answers": "The compression ratio and sentence statistics of a summary against its source passage — a deterministic measure, never a model-marked essay.",
      "reference": "Shared Year 1 — Academic English (January 2027 intake); a fixed-text statistic",
      "example": {
        "source": "The committee met for three hours to debate the budget. Several members raised concerns about the cost of the new library. In the end the vote carried by a narrow margin and construction was approved for the following year.",
        "summary": "After long debate over library costs, the committee narrowly approved construction for next year."
      },
      "signature": {
        "input": {
          "source": {
            "type": "string",
            "describe": "the source passage"
          },
          "summary": {
            "type": "string",
            "describe": "the summary to measure"
          }
        },
        "output": {
          "sourceWords": {
            "type": "number",
            "describe": "words in the source"
          },
          "summaryWords": {
            "type": "number",
            "describe": "words in the summary"
          },
          "compressionRatio": {
            "type": "number",
            "describe": "summary/source (2 d.p.)"
          }
        }
      }
    },
    {
      "id": "calc1_derivative",
      "name": "Calculus I — the power rule",
      "answers": "The derivative of axⁿ + bx + c and its value at a point.",
      "reference": "Shared Year 1 — Calculus I (January 2027 intake); d/dx axⁿ = naxⁿ⁻¹",
      "example": {
        "a": 3,
        "n": 2,
        "b": -4,
        "c": 7,
        "x0": 2
      },
      "signature": {
        "input": {
          "a": {
            "type": "number",
            "describe": "coefficient of xⁿ",
            "min": -1000,
            "max": 1000
          },
          "n": {
            "type": "number",
            "describe": "power (whole, ≥ 1)",
            "min": 1,
            "max": 12
          },
          "b": {
            "type": "number",
            "describe": "coefficient of x",
            "min": -1000,
            "max": 1000
          },
          "c": {
            "type": "number",
            "describe": "constant",
            "min": -10000,
            "max": 10000
          },
          "x0": {
            "type": "number",
            "describe": "evaluate the derivative here",
            "min": -1000,
            "max": 1000
          }
        },
        "output": {
          "derivativeAt": {
            "type": "number",
            "describe": "f′(x0)"
          }
        }
      }
    },
    {
      "id": "calc2_trapezium",
      "name": "Calculus II — numerical integration",
      "answers": "The trapezium-rule estimate of ∫ f for f(x) = ax² + bx + c over [lo, hi] with k strips, against the exact value.",
      "reference": "Shared Year 1 — Calculus II (January 2027 intake); trapezium rule with the exact antiderivative check",
      "example": {
        "a": 1,
        "b": 0,
        "c": 1,
        "lo": 0,
        "hi": 2,
        "strips": 4
      },
      "signature": {
        "input": {
          "a": {
            "type": "number",
            "describe": "coefficient of x²",
            "min": -100,
            "max": 100
          },
          "b": {
            "type": "number",
            "describe": "coefficient of x",
            "min": -100,
            "max": 100
          },
          "c": {
            "type": "number",
            "describe": "constant",
            "min": -1000,
            "max": 1000
          },
          "lo": {
            "type": "number",
            "describe": "lower limit",
            "min": -1000,
            "max": 1000
          },
          "hi": {
            "type": "number",
            "describe": "upper limit (> lo)",
            "min": -1000,
            "max": 1000
          },
          "strips": {
            "type": "number",
            "describe": "strips (whole, 1–1000)",
            "min": 1,
            "max": 1000
          }
        },
        "output": {
          "estimate": {
            "type": "number",
            "describe": "trapezium estimate (4 d.p.)"
          },
          "exact": {
            "type": "number",
            "describe": "exact integral (4 d.p.)"
          }
        }
      }
    },
    {
      "id": "acct_equation",
      "name": "Accounting I — the accounting equation",
      "answers": "The missing element of Assets = Owner's equity + Liabilities.",
      "reference": "Shared Year 1 — Accounting I (January 2027 intake); the accounting equation",
      "example": {
        "assets": 250000,
        "liabilities": 90000,
        "solveFor": "equity"
      },
      "signature": {
        "input": {
          "assets": {
            "type": "number",
            "describe": "total assets (≥ 0; ignored when solving for it)",
            "min": 0,
            "max": 1000000000
          },
          "liabilities": {
            "type": "number",
            "describe": "total liabilities (≥ 0)",
            "min": 0,
            "max": 1000000000
          },
          "solveFor": {
            "type": "string",
            "describe": "which element to solve for",
            "oneOf": [
              "equity",
              "assets"
            ]
          }
        },
        "output": {
          "solved": {
            "type": "number",
            "describe": "the missing element"
          }
        }
      }
    },
    {
      "id": "econ_equilibrium",
      "name": "Economics I — market equilibrium",
      "answers": "The equilibrium price and quantity of linear demand Qd = a − bP and supply Qs = c + dP.",
      "reference": "Shared Year 1 — Economics I (January 2027 intake); Qd = Qs at equilibrium",
      "example": {
        "a": 100,
        "b": 2,
        "c": 10,
        "d": 4
      },
      "signature": {
        "input": {
          "a": {
            "type": "number",
            "describe": "demand intercept (> 0)",
            "min": 0.001,
            "max": 1000000
          },
          "b": {
            "type": "number",
            "describe": "demand slope (> 0)",
            "min": 0.001,
            "max": 100000
          },
          "c": {
            "type": "number",
            "describe": "supply intercept",
            "min": -1000000,
            "max": 1000000
          },
          "d": {
            "type": "number",
            "describe": "supply slope (> 0)",
            "min": 0.001,
            "max": 100000
          }
        },
        "output": {
          "price": {
            "type": "number",
            "describe": "equilibrium price (2 d.p.)"
          },
          "quantity": {
            "type": "number",
            "describe": "equilibrium quantity (2 d.p.)"
          }
        }
      }
    },
    {
      "id": "stat_descriptive",
      "name": "Statistics I — descriptive measures",
      "answers": "Mean, median and sample standard deviation of a data set.",
      "reference": "Shared Year 1 — Statistics I (January 2027 intake); s = √(Σ(x − x̄)²/(n − 1))",
      "example": {
        "data": [
          12,
          15,
          11,
          19,
          13,
          14
        ]
      },
      "signature": {
        "input": {
          "data": {
            "type": "number[]",
            "describe": "the observations (n ≥ 2)"
          }
        },
        "output": {
          "mean": {
            "type": "number",
            "describe": "x̄ (4 d.p.)"
          },
          "median": {
            "type": "number",
            "describe": "the median"
          },
          "sampleSd": {
            "type": "number",
            "describe": "s (4 d.p.)"
          }
        }
      }
    }
  ]
}