Skip to content

Unit 3 Outcome 1 - Key Knowledge

Full study-design reference

Use the Software Tools and Outcome-Specific Requirements page for the full VCAA reference, including language options, programming requirements across interface / logic / data source, AI trends, analytical tools and legislation links.

  • Using prompts to generate code
  • benefits include productivity, lower development cost, documentation support and innovation support
  • risks include bugs, vulnerabilities, copyright concerns, limited context and dependence on human oversight
  • Automated debugging and testing of modules
  • benefits include real-time issue detection, suggested fixes, rapid feedback and improved code quality
  • examples named in the study-design document include Pytest, TestProject, Live Unit Testing, IntelliTest, Codeception and Selenium
  • Code optimisation
  • includes resource optimisation, algorithm optimisation, code simplification, security optimisation and automated comment generation
  • Responsible and ethical use of artificial intelligence tools
  • includes transparency, code review, bias awareness, avoiding over-reliance, considering environmental impact and respecting licensing and copyright

3.1.2 characteristics of functional and non-functional requirements, constraints and scope

  • Characteristics of functional and non-functional requirements, constraints, and scope

3.1.3 design tools for representing modules, including:

  • Data dictionaries
  • minimum fields: name and data type
  • Mock-ups
  • annotations can explain appearance, structure, user experience and design choices
  • Object descriptions
  • should identify the object, its attributes / properties and its methods / behaviours
  • Input-process-output (IPO) charts
  • separate IPO charts should be used when multiple tasks are represented
  • Pseudocode
  • conventions include BEGIN / END, structured indentation, reserved words, selection blocks and repetition blocks

3.1.4 characteristics of data types, including:

  • Text (character, string)
  • Numeric (integer, floating point, date/time)
  • Boolean

3.1.5 characteristics of data structures, including:

  • One-dimensional arrays
  • Two-dimensional arrays
  • Records (varying data types, field index)

3.1.6 characteristics of data sources (plain text (TXT), delimited (CSV) and XML files), including:

  • Plain text (TXT), delimited (CSV) and XML files
  • Structure
  • Reasons for use

3.1.7 principles of OOP, including:

  • Abstraction
  • focuses attention on the essential parts of a class or object
  • Encapsulation
  • bundles data and methods together and protects data with controlled access
  • Generalisation
  • extracts shared features into a more general superclass
  • Inheritance
  • allows subclasses to reuse and extend the features of a superclass

3.1.8 features of a programming language, including:

  • Support for the three conceptual layers: interface, logic and data source
  • Local and global variables, and constants
  • Data types
  • Instructions and control structures (sequence, selection, iteration/repetition)
  • Arithmetic, logical and conditional operators
  • Graphical user interfaces (GUIs)
  • through IDE drag-and-drop tools, code in the same language, or code in a supporting language
  • Functions and methods
  • Classes and objects
  • External data access for files and databases, including TXT, CSV and XML file formats

3.1.9 purposes and features of naming conventions for solution elements (variables, interface controls, code structures), including:

  • Purposes and features of naming conventions for solution elements (variables, interface controls, code structures)
  • Hungarian notation
  • Camel casing
  • Snake casing

3.1.10 validation techniques for data, including:

  • Existence checking
  • Type checking
  • Range checking

3.1.11 purposes of internal documentation, including:

  • Explaining and justifying data and code structures
  • Code maintenance
  • Placeholder comments for future development (stubs)

3.1.12 algorithms for sorting and searching, including:

  • Selection sort
  • Quick sort
  • Binary search
  • Linear search

3.1.13 types of errors, including:

  • Syntax
  • Logic
  • Runtime (overflow, index out of range, type mismatch, divide by zero)

3.1.14 debugging and testing techniques for checking modules function correctly, including:

  • Use of breakpoints
  • Use of debugging statements
  • Construction of relevant test data
  • Test cases comparing expected and actual output in testing tables