11–12Software Engineering 11–12 Syllabus
The new Software Engineering 11–12 Syllabus (2022) is to be implemented from 2024.
2024, Term 1
- Start teaching new syllabus for Year 11
- Start implementing new Year 11 school-based assessment requirements
- Continue to teach the Software Design and Development Stage 6 Syllabus (2010) for Year 12
2024, Term 4
- Start teaching new syllabus for Year 12
- Start implementing new Year 12 school-based assessment requirements
2025
- First HSC examination for new syllabus
Content
Year 11
Explore fundamental software development steps used by programmers when designing software
Including:- requirements definition
- determining specifications
- design
- development
- integration
- testing and debugging
- installation
- maintenance
Research and evaluate the prevalence and use of online code collaboration tools
Apply computational thinking and algorithmic design by defining the key features of standard algorithms, including sequence, selection, iteration and identifying data that should be stored
Apply divide and conquer and backtracking as algorithmic design strategies
Develop structured algorithms using pseudocode and flowcharts, including the use of subprograms
Use modelling tools including structure charts, abstraction and refinement diagrams to support top-down and bottom-up design
Analyse the logic and structure of written algorithms
Including:- determining inputs and outputs
- determining the purpose of the algorithm
- desk checking and peer checking
- determining connections of written algorithms to other subroutines or functions
Identify procedures and functions in an algorithm
Experiment with object-oriented programming, imperative, logic and functional programming paradigms
Investigate the use of number systems for computing purposes, including binary, decimal and hexadecimal
Represent integers using two’s complement
Investigate standard data types
Including:- char (character) and string
- Boolean
- real
- single precision floating point
- integer
- date and time
Create data dictionaries as a tool to describe data and data types, structure data, and record relationships
Use data structures of arrays, records, trees and sequential files
Apply skills in computational thinking and programming to develop a software solution
Including:- converting an algorithm into code
- using control structures
- using data structures
- using standard modules
- creating relevant subprograms that incorporate parameter passing
Implement data structures that support data storage
Including:- single and multidimensional arrays
- lists
- trees
- stacks
- hash tables
Compare the execution of the Waterfall and Agile project management models as applied to software development
Test and evaluate solutions, considering key aspects including functionality, performance, readability of code, quality of documentation
Use debugging tools
Including:- breakpoints
- single line stepping
- watches
- interfaces between functions
- debugging output statements
- debugging software available in an integrated development environment (IDE)
Determine sets of suitable test data
Including:- boundary values
- path coverage
- faulty and abnormal data
Determine typical errors experienced when developing code, including syntax, logic and runtime, and explain their likely causes