What you will learn
SENG 11232 Engineering Foundation is the gateway course for all 1st year Software Engineering students. It establishes the intellectual and technical bedrock upon which every subsequent course in the programme builds. Unlike a generic introduction-to-programming module, this course treats software engineering as a discipline — with the same professional rigour, ethical standards, and systematic thinking expected of any branch of engineering.
You will develop four interlocking capabilities: thinking like an engineer (decomposition, logic, proof); understanding digital systems from bits to architecture; applying engineering process to design, requirements, and quality; and practising professional responsibility in networking, security, safety, and project management.
This is not a programming course — but it will make you a far better programmer. Every concept taught here recurs throughout your degree and your career.
4 Modules · 12 Lectures · 2 Hours per Lecture
Module 1 — Thinking Like an Engineer (L1–L3): Engineering discipline, computational thinking, discrete mathematics.
Module 2 — Systems & Digital Foundations (L4–L6): Binary arithmetic, Boolean logic, computer architecture.
Module 3 — Engineering Process & Design (L7–L9): Requirements, SOLID design, metrics, testing, quality.
Module 4 — Networks, Security & Professional Practice (L10–L12): Networking, safety & security, SDLC.
Assessment: Assignment 01 (10%) — Individual, due Week 7. Assignment 02 (10%) — Group, due Week 12. Final Examination (75%) — covers all four modules. Attendance - (5%) .
Thinking Like an Engineer
Lectures 01 – 03 · The intellectual foundation of the software engineering discipline
- Engineering as a discipline: science vs. engineering
- SE vs Computer Science vs Information Technology
- ACM/IEEE Software Engineering Code of Ethics (8 principles)
- Real-world failures: Therac-25, Boeing 737 MAX, Post Office Horizon
- Professional responsibility, legal exposure, career pathways
- Four pillars: decomposition, abstraction, pattern recognition, algorithmic thinking
- Top-down and bottom-up decomposition strategies
- Levels of abstraction in computing systems
- Algorithm properties: finiteness, definiteness, effectiveness
- Six-step problem-solving framework for engineers
- Set theory: notation, union, intersection, complement, power sets
- Propositional logic: connectives, truth tables, De Morgan's theorems
- Predicate logic: ∀ and ∃ quantifiers, negation rules
- Proof techniques: direct proof, proof by contradiction
- Mathematical induction and loop invariants
Systems & Digital Foundations
Lectures 04 – 06 · From transistors to execution: the machine that runs your code
- Binary, octal, hexadecimal: conversion methods and applications
- Two's complement: signed integer representation and overflow
- IEEE 754 floating-point: structure, special values, software pitfalls
- Character encoding: ASCII, Unicode code points, UTF-8
- Why 0.1 + 0.2 ≠ 0.3 and how to handle money correctly
Engineering Process & Design
Lectures 07 – 09 · How professional engineers plan, design and measure their work
- Systems thinking: boundaries, interfaces, emergent behaviour, feedback loops
- Stakeholder analysis: primary, indirect, regulatory, sponsor roles
- Functional vs non-functional requirements (quality attributes)
- SMART requirements — writing testable, measurable specifications
- Use cases, user stories, acceptance criteria; ISO 25010 quality model
- Abstraction, modularity, separation of concerns, coupling and cohesion
- DRY, KISS, YAGNI — simplicity as an engineering virtue
- SOLID principles with code examples and common violations
- Design patterns: Singleton, Observer, Factory, Strategy
- Technical debt, engineering trade-offs, Architecture Decision Records
- Software metrics: cyclomatic complexity, defect density, code coverage
- Testing pyramid: unit → integration → E2E — proportion and rationale
- Test-Driven Development (TDD): Red → Green → Refactor
- Service Level Agreements, SLOs, and error budgets
- Goodhart's Law and the dangers of metric abuse
Networks, Security & Professional Practice
Lectures 10 – 12 · The engineering environment: networks, safety, ethics, and project management
- Safety-critical systems: fail-safe, fault tolerance, defence in depth
- Case studies: Therac-25, Ariane 5, Boeing 737 MAX, Post Office Horizon
- CIA triad: Confidentiality, Integrity, Availability with real threats
- OWASP Top 10 — broken access control, injection, insecure design
- GDPR, privacy by design, software liability, open source licensing
- SDLC models: waterfall, iterative, agile — when to use each
- Triple constraint (scope, time, cost) and Agile's reformulation
- Estimation: story points, planning poker, COCOMO, cone of uncertainty
- Risk management: identify → assess → respond (ATAM) → monitor
- Agile/Scrum ceremonies, Git branching strategy, CI/CD, course review
Assignments & Examinations
- Task 1 — Engineering Ethics Case Analysis (25 marks)
- Task 2 — Computational Thinking & Algorithm Design (30 marks)
- Task 3 — Data Representation & Digital Logic (25 marks)
- Task 4 — Computer Architecture Short Questions (20 marks)
- Task 1 — Requirements Engineering (25 marks)
- Task 2 — Systems Architecture & Design (30 marks)
- Task 3 — Security & Networking Analysis (20 marks)
- Task 4 — Quality Engineering & Project Plan (20 marks)
- Task 5 — Individual Contribution Statement (5 marks)
- Section A — Module 1 & 2 Core Concepts (40 marks)
- Section B — Module 3 Design & Process Application (30 marks)
- Section C — Module 4 Case Analysis & Professional Practice (30 marks)
Learning path through this course
Materials & references
ACM Code of Ethics
ACM/IEEE Software Engineering Code of Ethics (full text)
OWASP Top 10
Current OWASP Top 10 web application security risks
ISO/IEC 25010
Software product quality model and characteristics