Describe and implement the phases of an iterative development process: analysis, design, implementation, testing, documentation, and evaluation, within general programming problem-solving.
S4 N5 SDD 301 Development Methodologies
Analysis
Identify the purpose and functional requirements of a problem that relates to the design and implementation at this level, in terms of: inputs; processes; outputs.
S4 N5 SDD 302 Analysis
Design
Identify the data types and structures required for a problem that relates to the implementation at this level.
S4 N5 SDD 303 Data Types and Structures
Describe, identify, and be able to read and understand: structure diagrams; flowcharts; pseudocode.
S4 N5 SDD 304 Structure Diagrams
S4 N5 SDD 305 Flow Charts
S4 N5 SDD 306 Pseudocode
Exemplify and implement one of the above design techniques to design efficient solutions to a problem.
Describe, exemplify, and implement user-interface design, in terms of input and output, using a wireframe.
S4 N5 SDD 307 Program Wireframes
Implementation (Data Types and Structures)
Describe, exemplify, and implement appropriately the following data types and structures: character; string; numeric (integer and real); Boolean; 1-D arrays.
S4 N5 SDD 303 Data Types and Structures
Implementation (Algorithm Specification)
Describe, exemplify, and implement standard algorithms:
input validation
S4 N5 SDD 308a Input Validation
running total within loop
S4 N5 SDD 308b Running Total
traversing a 1-D array
S4 N5 SDD 308c Traversing a 1D Array
Implementation (Computational Constructs)
Describe, exemplify, and implement the appropriate constructs in a high-level (textual) language:
expressions to assign values
expressions to return values using arithmetic operations (addition, subtraction, multiplication, division, and exponentiation)
N5 SDD 311a. Python: Variables + Operations
expressions to concatenate strings
N5 SDD 311b. Python: Strings
selection constructs using simple conditional statements with <, >, ≤, ≥, =, ≠ operators
selection constructs using complex conditional statements
logical operators (AND, OR, NOT)
N5 SDD 311c. Python: Selection Statements
iteration and repetition using fixed and conditional loops
You should also be able to read and explain code that makes use of the above constructs.
Testing
Describe, identify, exemplify, and implement normal, extreme, and exceptional test data for a specific problem, using a test table.
Describe and identify syntax, execution, and logic errors.
N5 SDD 309. Testing
Evaluation
Describe, identify, and exemplify the evaluation of a solution in terms of: fitness for purpose; efficient use of coding constructs; robustness; readability: (internal commentary; meaningful identifiers; indentation; white space)