STUDY GUIDE · GKU 2

Engineering fundamentals study guide (Software Engineering)

Engineering fundamentals is the mathematics and the engineering judgement that the rest of software engineering quietly assumes. The first part is discrete mathematics: sets, relations and functions, the algebraic structures behind check digits and cryptography, propositional and predicate logic, the proof techniques that show a program is correct rather than merely tested, counting, graphs and trees as models of networks and dependencies, and discrete probability. The second part is the engineer's method: how to design a solution against criteria, measure software properly, run a fair experiment, read a correlation, fit a regression line, and model a system before building it. The third part is money: the time value of money, net present value and lifecycle cost, budgets, earned value, risk exposure, and the economics of outsourcing and offshoring. Each section opens with a quick-revision card, and the worked examples run from easy to exam level; every number in them was checked by running it.

Structured by the official ETEC subject standard for this topic: every listed topic and learning outcome, with formulas, figures and worked examples. The full sections are available to members in the app.

SKU 2.1 · Discrete structure

  1. Sets, relations and functions

    The vocabulary every other topic is written in: set operations and sizes, relations and their four properties, equivalence relations and partial orders, transitive closure, and functions that are one-to-one, onto or both.

  2. Algebraic structures and modular arithmetic

    A set plus an operation and the laws it obeys: semigroups, monoids, groups, rings and fields; arithmetic modulo , inverses by the extended Euclidean algorithm, and the check digits, hashes and ciphers built on them.

  3. Basic logic: propositions, inference and quantifiers

    Propositional connectives and truth tables, the equivalences that simplify conditions in code, implication and its converse and contrapositive, the rules of inference, and first-order logic with predicates and quantifiers.

  4. Proof techniques and program correctness

    Direct proof, contrapositive, contradiction, cases, counterexample and induction — and the same reasoning applied to code as loop invariants, so a loop is shown correct for every input rather than for the inputs that were tested.

  5. Counting techniques

    Sum and product rules, permutations and combinations with and without repetition, inclusion–exclusion, the pigeonhole principle, the binomial theorem and linear recurrence relations — the tools for sizing a key space, a test suite or a search.

  6. Graphs and trees

    Graphs as models of relations between entities: degrees and the handshake lemma, paths and connectivity, Euler and Hamilton circuits, bipartite and planar graphs, colouring, and trees — their counting laws, spanning trees and the minimum spanning tree.

  7. Discrete probability

    Sample spaces and events, the complement and union rules, conditional probability, independence and Bayes' theorem, random variables, expectation and variance, the binomial distribution, and the birthday problem behind hash collisions.

SKU 2.2 · Foundations of engineering for software development

  1. Engineering design and measurement

    The engineering design cycle applied to software, choosing between alternatives with a weighted decision matrix and a sensitivity check, measurement theory (scale types, validity, GQM), and measuring the cost of maintenance.

  2. Experiments, empirical studies, correlation and regression

    How to build a designed experiment (factors, levels, randomisation, replication, blocking, factorial designs), how observational and retrospective studies differ from experiments, and how to compute and read a correlation coefficient and a least-squares regression line.

  3. Modelling, simulation and prototyping

    Answering "will it work?" before building: analytical models (Little's law and the M/M/1 queue), discrete-event and Monte Carlo simulation, validating a model, and choosing the right kind of prototype.

SKU 2.3 · Engineering economics for software development

  1. Engineering economics and lifecycle cost

    The time value of money, present and future worth, net present value, internal rate of return, payback and benefit–cost ratio, applied to software investments and to lifecycle cost comparisons such as build versus buy.

  2. Project budgeting, earned value and risk

    Turning an estimate into a budget with reserves, tracking spending and progress with earned value (CV, SV, CPI, SPI, EAC), and quantifying risk and uncertainty with risk exposure, risk-reduction leverage and sensitivity analysis.

  3. Outsourcing and offshoring

    Who does the work and where: in-house, outsourced, offshored or both; the motives, the hidden costs that make the real saving smaller than the rate card suggests, and how to decide what to keep.

MORE SOFTWARE ENGINEERING GUIDES

All study guides

Read the full guide beside your practice questions.

Open the app