Syllabus Point
- Explore tools used to develop ideas and generate solutions
Including:
- brainstorming, mind-mapping and storyboards
- data dictionaries, including selecting appropriate data types
- algorithm design
- code generation
- testing and debugging
- installation
- maintenance
Add your teaching notes, worked examples, and classroom activities here.
Brainstorming, mind-mapping and storyboards
Brainstorming
- What: Generate lots of ideas quickly
- How: In groups or individually
- Why: Explore problem, identify features, multiple solutions
- Use case: Possible app ideas and user needs
Mindmapping
- What: Visual organisation to structure ideas
- How: Central idea and link subtopics
- Why: Visualise relationships, group functions
- Use case: Map out modules and UI components
Storyboards
- What: Drawings or frames showing user interaction
- How: Sketch screens with user actions and system responses
- Why: Visualise UX and plan interface navigation
- Use case: Show how user signs in
Data dictionaries, including selecting appropriate data types
A structured reference/repository where variable names or identifiers are documented
- Field names, data type, size limits, descriptions, validation rules
- Scope: extent to which a variable is available for use (global vs local)
- Data types: boolean, string, integer, float, character, date. currency
Choosing appropriate data types improves memory usage, processing efficiency and data validation.
Algorithm design
An algorithm is a step by step procedure for solving a problem or performing a task.
- Pseudocode: simplified, readable code-like format that provides high level overview of algorithm's logic and structure
- Flowchart: diagram showing logical flow using standard symbols to represent control structures
Benefits: makes logic visible, helps planning code, and helps detect logical errors early
Control structures
- Sequence: ensures each process occurs in the right order
- Selection: allows decisions to be made between different paths
- Iteration: repeating a series of steps - termination condition at the start or end
Code generation
The process of converting an algorithm into working source code using a programming language
- Executable system from the design
- Focus on syntax, structure and conventions of the language
- Things to consider: using version control, write modular and commented code, follow a style guide
Testing and debugging
Testing
Ensures the software behaves as expected
- Unit testing
- Integration testing
- System testing
Debugging
Finding and fixing errors in code
- Syntax errors - formatting, occurs during compilation
- Logic errors - produces incorrect or unexpected output
- Runtime errors - occurs while executing, after successfully compiled/parsed
Installation
The process of deploying software onto a target environment (eg local machine, server, app store)
- Package software for distribution
- Create installer or script
- Check for dependencies (libraries, database)
- Conduct installation testing
Maintenance
Ongoing activities after deployment to keep software functional and up to date
- Ensures long term usability
Types
- 1. Corrective - fix bugs
- 2. Adaptive - modify for new environments
- 3. Perfective - improve performance or add features
- 4. Preventive - restructure code to prevent future issues
Related Resources
Keep Progressing
Use the lesson navigation below to move through the module sequence.