Software Design and Development

The general aim of this Unit is for the learner to develop basic knowledge, understanding and practical problem-solving skills in software design and development through appropriate software development environments. Learners will develop basic computational thinking and programming skills by implementing practical solutions and explaining how these programs work. They will also develop an understanding of how data and instructions are stored in binary form, how programming underpins computer applications.

Learners who complete this Unit will be able to:

Outcome 1

Explain how simple programs work, drawing on understanding of basic
concepts in software development by:

  • 1.1 Reading and explaining code
  • 1.2 Identifying the purpose of a range of programming constructs and how they work
  • 1.3 Identifying the purpose of a range of variable types

The range of programming constructs should include expressions, sequence, selection and iteration.

Outcome 2

Develop short programs using a software development environment by:

  • 2.1 Selecting and using combinations of appropriate constructs
  • 2.2 Selecting and using appropriate simple data types, such as numeric (integer) and string
  • 2.3 Testing digital solutions using supplied test data

Programs should include at least one construct and one data type.

Unit Content

Computational constructs
  • Exemplification and implementation of the following constructs:
    • expressions to assign values to variables
    • expressions to return values using arithmetic operations (+, -, *, /, ^)
    • execution of lines of code in sequence demonstrating input – process – output
    • use of selection constructs including simple conditional statements
    • iteration and repetition using fixed and conditional loops
Data types and structures
  • String
  • numeric (integer) variables
  • graphical objects
Testing and documenting solutions
  • normal, extreme and exceptional test data
  • readability of code
    • internal commentary
    • meaningful variable names
Low-level operations and computer architecture
  • Use of binary to represent and store:
    • positive integers
    • characters
    • instructions (machine code)
  • Units of storage
    • bit
    • Byte
    • KB
    • MB
    • GB
    • TB
    • PB
Design notations 
  • Graphical to illustrate selection and iteration