Software Engineering › Learn step by step
Learn it step by step
One ordered sequence of everything you need to know, 426 items, one per screen. Each item gives the definition, where you will use it in the test, how to use it in an answer, and a quick self-check. Start with the exam format and command words, then follow the syllabus: Year 11, then Year 12, then diagrams and code.
Use the big Previous and Next buttons, or the left and right arrow keys. Press K for “Know it” and R for “Review later”. Your place and marks are saved in this browser only; no account is needed. Every item is also a normal page that works without JavaScript.
Review later
- Items you mark “Review later” are listed here (this list needs JavaScript and is kept in this browser).
Topics
1. Exam format, question types and command words
46 items ·
All 46 items in this topic
- Multiple choice (MC)
- Multi-select
- Drag-and-drop ordering
- Fill in the blanks and dropdowns
- Matching and tables
- Drawing questions (online tool)
- Pseudocode questions
- Python questions
- SQL questions
- Short-answer questions
- Extended response (5 to 6 marks)
- Identify
- Outline
- Describe
- Distinguish
- Compare
- Contrast
- Explain
- Discuss
- Analyse
- Assess
- Evaluate
- Justify
- Define
- Construct
- Apply
- Calculate
- Clarify
- Classify
- Deduce
- Demonstrate
- Examine
- Extract
- Extrapolate
- Interpret
- Investigate
- Predict
- Propose
- Recall
- Recommend
- Recount
- Summarise
- Synthesise
- Account for
- Critically analyse or evaluate
- Reading time
2. Year 11: Programming Fundamentals
69 items ·
All 69 items in this topic
- Software development steps (the order)
- Requirements definition
- Determining specifications
- Design
- Development
- Integration
- Testing and debugging
- Installation
- Maintenance
- Online code collaboration tools
- Computational thinking
- Algorithm
- Sequence
- Selection
- Iteration (repetition)
- Divide and conquer
- Backtracking
- Top-down design
- Bottom-up design
- Abstraction
- Refinement
- Pseudocode
- Flowchart
- Subroutine (module, subprogram, procedure)
- Function v procedure
- Parameter and argument
- Mainline
- Desk checking
- Peer checking
- Inputs, outputs and purpose of an algorithm
- IPO chart (Input, Process, Output)
- Linear search
- Binary search
- Recursion
- Imperative paradigm
- Logic paradigm
- Functional paradigm
- Binary (base 2)
- Decimal (base 10)
- Hexadecimal (base 16)
- Two's complement
- Character representation (ASCII, Unicode)
- Data types
- Integer
- Real (floating point)
- Boolean
- Character and string
- Date and time
- Array
- Multi-dimensional array
- Record
- List
- Tree
- Stack
- Hash table
- Sequential file
- Quality criteria for evaluating code
- Syntax error
- Logic error
- Runtime error
- Debugging tools
- Breakpoint
- Single line stepping
- Watch window (variable watch)
- Debugging output statements
- Boundary values
- Path coverage
- Faulty and abnormal data
- Code optimisation
3. Year 11: The Object-Oriented Paradigm
33 items ·
All 33 items in this topic
- Object-oriented programming (OOP)
- Class
- Object
- Attribute
- Method
- Constructor (__init__)
- Encapsulation
- Inheritance
- Generalisation
- Superclass and subclass
- Polymorphism
- Method overriding
- Message passing
- Procedural programming v OOP
- Task definition
- Facade pattern
- Agility
- Consistency (collaboration)
- Code commenting
- Version control
- Feedback
- Clear and uncluttered mainline
- One logical task per subroutine
- Stub
- Ease of maintenance
- Regular backup
- Unit testing
- Subsystem testing
- System testing
- Black box testing
- White box testing
- Grey box testing
- Quality assurance
4. Year 11: Programming Mechatronics
29 items ·
All 29 items in this topic
- Mechatronic system
- Microcontroller
- CPU (central processing unit)
- Instruction set
- Opcode
- Address register
- Data register
- Sensor
- Motion sensor
- Light level sensor
- Actuator
- Hydraulic actuator
- End effector (manipulator)
- Robotic gripper
- Diagnostic data
- Optimisation data
- Degrees of freedom
- Motion constraints
- Subsystem (combination of sensors, actuators and effectors)
- Power, battery and material requirements
- Wiring diagram
- Specialist requirements for people with disability
- Open-loop control
- Closed-loop control
- Autonomous control
- Control algorithm pattern (line follower)
- Simulation and prototype
- Unit tests for control algorithms
- User interface for a mechatronic system
5. Year 12: Secure Software Architecture
57 items ·
All 57 items in this topic
- Secure software
- Data protection
- Cyber attack
- Vulnerability
- Capabilities and experience of end users
- Confidentiality
- Integrity
- Availability
- Authentication
- Authorisation
- Accountability
- Privacy
- Regulatory compliance
- Security by design
- Cryptography
- Sandboxing
- Privacy by design
- Proactive not reactive
- Embed privacy into design
- Respect for user privacy
- Determining vulnerabilities
- Hardening systems
- Handling breaches
- Business continuity
- Disaster recovery
- Code review
- Static application security testing (SAST)
- Dynamic application security testing (DAST)
- Vulnerability assessment
- Penetration testing
- Defensive data input handling
- Input validation
- Sanitisation
- Error handling
- Application programming interface (API)
- Excessive data exposure
- Memory management
- Session management
- Exception management
- Broken authentication and session management
- Cross-site scripting (XSS)
- Cross-site request forgery (CSRF)
- Invalid forwarding and redirecting
- Race condition
- File attacks
- Side channel attack
- Benefits of collaboration (secure development)
- Benefits to an enterprise of secure development
- Social, ethical and legal issues
- Employment (impact)
- Copyright
- Intellectual property
- Digital disruption
- Programmed backup
- Software development steps for secure code (order)
- SQL injection
- General Data Protection Regulation (GDPR)
6. Year 12: Programming for the Web
59 items ·
All 59 items in this topic
- Interactive website
- E-commerce
- Progressive web app (PWA)
- Data packet
- IP address and IPv4
- Domain name system (DNS)
- HTTP and HTTPS
- TCP/IP
- FTP and SFTP
- SSL/TLS certificate
- IMAP, POP3 and SMTP
- Port
- Encryption algorithm
- Encryption key
- Plain text and cipher text
- Symmetric encryption
- Asymmetric encryption
- Hash value
- Digital signature
- Authentication and authorisation (web)
- Big data
- Data mining
- Metadata
- Streaming service management
- W3C and WAI
- Client-side (front-end) programming
- Server-side (back-end) programming
- SQL and non-SQL databases
- Web browser and developer (dev) tools
- Cascading style sheets (CSS)
- CSS selectors (id v class)
- CSS maintenance tools
- Code libraries and frameworks (front end)
- Open-source software
- Load times
- Minification
- Lazy loading
- Caching
- Content delivery network (CDN)
- Web content management system (CMS)
- Contribution of back-end development
- Back-end process for a web request
- Web server software
- Web framework
- Collaboration of front-end and back-end developers
- Shell commands (mkdir, cd, touch, cp, rm, cat, grep)
- SQL SELECT
- SQL WHERE
- SQL ORDER BY
- SQL GROUP BY
- SQL aggregate functions (COUNT, SUM, AVG)
- SQL JOIN
- SQL alias (AS)
- SQL constraints
- Primary key and foreign key
- Object-relational mapping (ORM)
- Service worker
- Web app manifest
- CRUD
7. Year 12: Software Automation
35 items ·
All 35 items in this topic
- Machine learning (ML)
- Artificial intelligence (AI)
- Distinguishing AI and ML
- DevOps
- Robotic process automation (RPA)
- Business process automation (BPA)
- Supervised learning
- Unsupervised learning
- Semi-supervised learning
- Reinforcement learning
- Training data and test data
- Data analysis and forecasting
- Virtual personal assistant
- Image recognition
- Decision tree
- Neural network
- Linear regression
- Polynomial regression
- Logistic regression
- K-nearest neighbour (KNN)
- OOP for ML programming
- Neural network code (predict)
- Impact of automation
- Safety of workers
- People with disability
- Nature and skills of employment
- Production efficiency, waste and the environment
- Economy and distribution of wealth
- Patterns in human behaviour
- Bias (human and dataset)
- MLOps
- MLOps design stage
- MLOps model development stage
- MLOps operations stage
- Neural network training and execution cycle
8. Year 12: The Software Engineering Project
47 items ·
All 47 items in this topic
- Requirements
- Need or opportunity
- Feasibility
- Functionality and performance requirements
- Boundaries
- Data structures and data types (defining)
- Brainstorming, mind-mapping and storyboards
- Data dictionary
- Code generation
- Direct implementation
- Phased implementation
- Parallel implementation
- Pilot implementation
- Waterfall approach
- Agile approach
- WAgile
- Iteration workflow
- Project management
- Gantt chart
- Collaboration tools
- Social and ethical issues in project work
- Communication issues
- Modelling tools
- Back-end engineering contribution
- Resource allocation
- Presenting a solution
- Strategies for difficulties
- Prototype
- User interface (UI) design
- Testing methodologies
- Language-dependent code optimisation
- Test plan
- Path and boundary testing
- Actual v expected output
- Feedback report
- Evaluating effectiveness
- Functional testing
- Acceptance testing
- Live data
- Simulated data
- Beta testing
- Volume testing
- Corrective maintenance
- Adaptive maintenance
- Perfective maintenance
- Functional requirement
- Driver (test driver)
9. Diagrams and modelling tools
18 items ·
All 18 items in this topic
- Data flow diagram (DFD)
- DFD process (circle)
- DFD data store
- DFD external entity
- DFD data flow (labelled arrow)
- Level 0 DFD (context diagram)
- Level 1 DFD
- Structure chart
- Structure chart data couple (empty circle)
- Structure chart flag (filled circle)
- Structure chart decision (diamond)
- Structure chart repetition (curved arrow)
- Class diagram
- Class diagram inheritance and multiplicity
- Entity relationship diagram (ERD)
- Storyboard
- Process diary (log book)
- Mainline and subroutines (algorithms)
10. Python, SQL, pseudocode and CSS patterns
33 items ·
All 33 items in this topic
- Pseudocode keywords
- Binary selection (IF THEN ELSE)
- Multi-way selection (CASEWHERE)
- Nested IF
- WHILE loop (pre-test)
- REPEAT UNTIL loop (post-test)
- FOR / NEXT loop (counted)
- Subroutine and function (pseudocode)
- Array sum pattern
- Linear search pattern
- Python input and output
- Python selection (if elif else)
- Python for loop and range
- Python while loop
- Python strings and slicing
- Python lists
- Python 2D list (grid)
- Python random numbers
- Python functions
- Global and local variables
- Python file handling
- Python modules and libraries
- Python classes and objects
- Python validation function pattern
- Python try / except
- Python sqlite3 parameterised query
- Python file and ML code reading (scikit-learn)
- SQL statement structure
- SQL relational and logical operators
- SQL calculated aggregate with GROUP BY
- CSS rule syntax
- XSS JavaScript fragment reading
- Shell script pattern
The sequence is the de-duplicated union of the key terms bank, the flashcards, the command words and the code and diagram patterns. A term that appears in several places is shown once, with every meaning on the same page. See also all key terms A to Z or by category and flashcards.