Engineering Subjects
The core ideas from each subject of a software engineering degree, explained in plain English with demos you can play. Use these as a first explanation or a revision aid, alongside your own course.
Subject map
1/4 Maths, science and systems thinking explain how real things behave.
Engineering foundations
Engineering Mathematics
The maths engineers use daily: how things change, how to solve many equations at once, and how to model a system over time.
3 topics
Engineering Science
The physics underneath engineering: electric circuits, forces and motion, and how energy moves and gets lost.
3 topics
Environmental and Sustainable System Engineering
How to design systems with their full environmental cost in mind, from raw materials to disposal, including the energy used by software.
3 topics
System Engineering Principles
How to think about a whole system, not only its parts: feedback, the V-model, and finding failures before they happen.
3 topics
Computing and programming
Digital Fundamentals
How computers work at the lowest level: binary numbers, logic gates, and circuits that remember.
3 topics
Engineering Computing (C)
Programming close to the machine with C: how code becomes a program, how memory really works, and why pointers matter.
3 topics
Software Engineering Design (C++)
Designing software with C++: objects and polymorphism, safe resource handling, and reusable design patterns.
3 topics
Algorithms and Analysis
How to measure whether code will scale, and the classic algorithms for sorting and finding the shortest path.
3 topics
Computing Theory
What computers can do in principle: simple machines, the Turing machine, and problems no program can ever solve.
3 topics
Software engineering
Software Engineering Fundamentals for IT
The basics of building software professionally: the development life cycle, version control, and testing.
3 topics
Software Requirements Engineering
Working out what to build before you build it: finding needs, writing clear requirements, and managing change.
3 topics
Full-stack Development
Building complete web applications: how a request travels through the stack, how login works, and how pages get rendered.
3 topics
Software Engineering: Process and Tools
How professional teams organise their work: Scrum, Kanban boards, and the toolchain from ticket to merged code.
3 topics
Embedded systems
Embedded System 1 (Arduino)
First steps with hardware on an Arduino Uno: blinking an LED, reading sensors, dimming with PWM, and reacting with interrupts.
3 topics
Embedded System Design and Implement (Nuvoton 140)
Professional embedded C on the Nuvoton NUC140, a 32-bit Arm Cortex-M0: clocks, registers, GPIO, timers and interrupts.
3 topics
Real-time Systems Engineering (Raspberry Pi)
Building systems where being late counts as being wrong: deadlines, scheduling, priority inversion, and real-time Linux on a Raspberry Pi.
3 topics