UNIT 1 - CREATING WITH CODE - Subject Matter

In Unit 1, students will explore the creative and technical aspects of developing interactive digital solutions. They investigate algorithms, programming features and useability principles to generate small interactive solutions using programming tools and gain a practical understanding of programming features. This allows them the opportunity to explore existing and developing trends involving digital technologies.

Unit requirements
In this unit, students are required to engage with and learn subject matter through the use of the various phases of the problem-solving process in Digital Solutions: explore, develop, generate and evaluate.

Teachers provide students with appropriately structured real-world problems that enable them to apply ideas, principles and processes of digital technologies. Students learn about and through the problem-solving process in Digital Solutions as they work individually or collaboratively to solve identified real-world digital problems that require new or re-imagined solutions.

Unit Objectives

Unit objectives are drawn from the syllabus objectives and are contextualised for the subject matter and requirements of the unit. Each unit objective must be assessed at least once.

Students will:

  1. recognise and describe programming elements and useability principles
  2. symbolise and explain information, ideas and interrelationships related to programming problems
  3. analyse problems and information related to a selected technology context
  4. determine user experience and programming requirements, and self-determined and prescribed criteria of a programming problem
  5. synthesise information and ideas to determine possible prototype digital solutions
  6. generate user interface and programmed components of the prototype digital solution
  7. evaluate impacts, components and solutions against criteria to make refinements and justified recommendations
  8. make decisions about and use mode-appropriate features, language and conventions for particular purposes and contexts.


Subject Matter:

Note, subject matter has been identified (1.c.2, 2.b.1, 3.h.2.3 etc for ease of reference)


Topic1: Understanding Digital Problems

  1. understand
    1. the constituents of a digital problem
    2. methods of breaking down problems into parts using computational thinking and thinking tools, e.g. mind maps
  2. understand and describe personal, social and economic impacts
  3. analyse problems to identify
    1. the human need, want or opportunity that requires a new or re-imagined digital solution
    2. essential elements, components and features of problems in Digital Solutions
    3. where and how digital technologies are used to solve problems to meet personal, societal and organisational needs, e.g. through search engines, robotics, mobile phone applications, automobile control systems, wearable devices, and the use of smart objects in the Internet of Things
  4. explore existing solutions to similar problems, e.g. existing games or websites
  5. analyse a given problem to identify
    1. the boundary or scope of the problem
    2. constraints and limitations of the environment
    3. the requirements of the solution
    4. the user perspective and user-experience requirements
    5. technical issues of the problem that influence the user-interface requirements
    6. missing, required or unnecessary facts or information
    7. prescribed and self-determined criteria to evaluate the personal, social and economic impacts of the solution
  6. appraise information and ideas
  7. communicate using
    1. digital technologies–specific language
    2. language conventions, textual features, such as annotations, paragraphs and sentences, and referencing conventions to convey information to particular audiences about digital solutions
    3. sketches or diagrams to present information and ideas about the problem and programmed digital solutions
    4. the modes of visual, written and spoken communication to present data and information about digital solutions.


Topic 2: User Experiences and Interfaces

  1. recognise and describe
    1. the meaning and importance of user experience
    2. useability principles including accessibility, effectiveness, safety, utility and learnability
  2. explore existing user interfaces to
    1. identify pitfalls and useful solutions
    2. determine how user characteristics influence the user-interface requirements and user experience for problems and solutions in relation to the useability principles
  3. symbolise ideas for a user interface using sketches, diagrams, schematic diagrams or mock-ups
  4. generate user interfaces by investigating and applying useability principles
  5. evaluate and make recommendations about user interfaces based on useability principles


Topic 3: Algorithms and programming techniques

  1. recognise and describe programming syntax and rules
  2. understand that simple algorithms consist of input, process and output at various stages
  3. understand and use the basic algorithm constructs including
    1. assignment: used to store the value of an expression into a variable
    2. sequence: a number of instructions processed one after the other
    3. selection: the next instruction to be executed depends on a ‘condition’
    4. condition: a logical expression that evaluates to true or false
    5. iteration: a number of instructions are repeated
    6. modularisation: used for reducing the complexity of a system by deconstructing into more or less independent units or modules
  4. represent algorithms using pseudocode by
    1. identifying and describing the steps and their behaviour in the algorithm
    2. identifying and explaining the algorithmic steps required for a programmed solution
  5. symbolise algorithms and interrelationships with sketches and diagrams
  6. understand the five basic features of programming
    1. variables
    2. control structures
    3. data structures
    4. syntax
    5. libraries and classes
  7. recognise, describe and use good programming practices, including dependability, efficiency, testing, debugging, error correction, coding conventions including commenting, consistent naming conventions, code simplicity and portability
  8. identify and describe
    1. the purpose of code syntax and rules
    2. the scope and use of local and global variables
    3. code object/event triggers and their effect on user interfaces
  9. explore
    1. programming development tools to understand how to use them effectively
    2. the use of a procedural text-based language for
      1. writing and modifying code and using existing code blocks or statements
      2. interpreting programming language rules and syntax
      3. analysing and critiquing the end result of code statements using input or output evidence, i.e. runtime evidence
    3. functions and procedures with efficient and maintainable code that
      1. includes reuseable coded components
      2. responds to keyboard and mouse events
      3. uses variables, selection structures, counted loops, while loops and single, multi-branch and nested conditional logic/statements
      4. uses operators, including arithmetic (+, –, *, /, integer, modulus, exponent), comparison (<, >, <=, >=, equal, not equal) and logical (AND, OR, NOT)
    4. the purpose of code statements by writing code and using existing code blocks or statements
    5. object/event triggers and develop explanations about their effect/s on user interfaces
  10. communicate and clarify knowledge and understanding about the purpose of code statements using code comments.


Topic 4: Programmed solutions

  1. apply the use of operators, including
    1. arithmetic: +, –, *, /, integer, modulus, exponent
    2. comparison: <, >, <=, >=, equal, not equal
    3. logical: AND, OR, NOT
  2. output information to the screen in text-based or visual formats
  3. generate
    1. components of a solution by using existing code or writing new code statements
    2. modified code in response to new or existing information
    3. functions/procedures with efficient and maintainable code that includes reuseable code blocks or statements and responses to keyboard and mouse events
    4. selection structures, counted loops, while loops, and single, multi-branch and nested conditional logic statements
    5. local and global variables
    6. a prototype digital solution in response to a problem
  4. test inputs, outputs and processes
  5. evaluate and make recommendations about
    1. the use of programming language rules and syntax for a given problem
    2. algorithmic steps using debugging processes, e.g. desk checks
    3. the effectiveness of algorithms
    4. the end result of code statements using input or output evidence
    5. the user interface based on useability principles including accessibility, effectiveness, safety, utility and learnability
    6. the solution and its components by testing to identify errors using computational thinking processes, e.g. debugging techniques
    7. the personal, social and economic impacts of the solution
    8. the implemented solution against prescribed criteria, maintainability and useability principles.