Software Engineering 2 unit

Category A: Technology

Course Description

Preliminary Course [Board Developed] 2 units
HSC Course [Board Developed] 2 units
Exclusions: Nil

The study of Software Engineering enables students to develop an understanding of software engineering as a facet of computer science. Students have the opportunity to develop knowledge and understanding of software engineering, hardware and software integration, and the development, implementation and evaluation of computer programs. They focus on a systematic approach to problem-solving when designing and developing creative software solutions.

Software Engineering promotes a deeper understanding of fundamental concepts, programming languages and innovative technologies, leading to greater flexibility when developing software solutions. Students perform project work and apply their knowledge and skills in: programming fundamentals, the object-oriented paradigm, programming mechatronics, secure software architecture, programming for the web and software automation, and use the acquired knowledge and skills to develop a software engineering project. Project work enables students to collaborate on problems and develop team and communication skills that are highly valued in the industry.

Software Engineering encourages students to explore the impact of innovations in computing technology on society and the environment. They engage with technologies that improve access to, and participation in, a range of industries.

The Software Engineering Syllabus provides students with the opportunity to develop their computing skills across 4 domains: technical skills, social awareness, project management and thinking skills. Students are encouraged to transfer knowledge to new situations and projects, building on technical skills and past learning. They enhance their understanding of project management through collaboration, communicating ideas, engaging in processes and designing solutions.

 

Main Topics Covered

PRELIMINARY COURSE (Y11) HSC COURSE (Y12)
Programming Fundamentals

Software development

Explore fundamental software development steps used by programmers when designing software

Designing algorithms

  • 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
  • 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

Data for software engineering

  • Investigate the use of number systems for computing purposes, including binary, decimal and hexadecimal
  • Investigate standard data types

Developing solutions with code

  • Apply skills in computational thinking and programming to develop a software solution
  • Implement data structures that support data storage
  • Use debugging tools
  • Determine typical errors experienced when developing code, including syntax, logic and runtime, and explain their likely causes
Secure software architecture

Designing software

  • Describe the benefits of developing secure software
  • Describe how the capabilities and experience of end users influence the secure design features of software

Developing secure code

  • Apply security features incorporated into software including data protection, security, privacy and regulatory compliance
  • Test and evaluate the security and resilience of software by determining vulnerabilities, hardening systems, handling breaches, maintaining business continuity and conducting disaster recovery
  • Apply and evaluate strategies used by software developers to manage the security of programming code

Impact of safe and secure software development

  • Apply and describe the benefits of collaboration to develop safe and secure software
  • Investigate and explain the benefits to an enterprise of the implementation of safe and secure development practices
  • Evaluate the social, ethical and legal issues and ramifications that affect people and enterprises resulting from the development and implementation of safe and secure software

Assessment – HSC course only

EXTERNAL ASSESSMENT WEIGHTING INTERNAL ASSESSMENT WEIGHTING
A three-hour written examination 100
  • Optional topic – the Software Developers view of the Hardware
  • Mini Exam
  • Project Work
  • Trial Exam
  • 15
  • 20
  • 25
  • 40
  100   100