NSW Β· NESASyllabus
Software Engineering syllabus, dot point by dot point
Every dot point in the NSW Software Engineering syllabus, with a focused answer for each one. Click any dot point for a worked explainer, past exam questions, and links to related dot points. Generated by Claude Opus and reviewed by Better Tuition Academy tutors.
Module 2: Programming for the Web
Module overview β- Inquiry Question 2: How can data be better visualised using a web browser?Design and consume RESTful APIs that exchange JSON, including resource modelling, request methods and status codes5 min answer β
- Inquiry Question 1: How are secure web applications developed?Describe the client-server architecture of the web, including the roles of the browser, web server, application server and database5 min answer β
- Inquiry Question 1: How are secure web applications developed?Identify and mitigate cross-site scripting (XSS), cross-site request forgery (CSRF) and SQL injection vulnerabilities6 min answer β
- Inquiry Question 1: How are secure web applications developed?Design a relational database schema and write SQL statements to create tables, insert data, query with joins, and update or delete rows7 min answer β
- Inquiry Question 2: How can data be better visualised using a web browser?Construct front-end pages using HTML for structure and CSS for presentation, including semantic markup and responsive design5 min answer β
- Inquiry Question 1: How are secure web applications developed?Explain the HTTP protocol, including request methods, status codes and headers, and the role of HTTPS in securing web traffic5 min answer β
- Inquiry Question 2: How can data be better visualised using a web browser?Use JavaScript in the browser to manipulate the DOM, handle events and make asynchronous requests5 min answer β
- Inquiry Question 1: How are secure web applications developed?Implement server-side programming, including routing, handling requests, generating responses and integrating with a database6 min answer β
Module 1: Secure Software Architecture
Module overview β- Inquiry Question 1: How are secure systems designed?Explain the role of authentication and authorisation in restricting access to a system, and identify common implementation methods including multi-factor authentication and role-based access control6 min answer β
- Inquiry Question 1: How are secure systems designed?Describe how the confidentiality, integrity and availability (CIA) triad is applied to the design of secure software5 min answer β
- Inquiry Question 1: How are secure systems designed?Compare symmetric and asymmetric encryption, and describe their roles in securing data in transit and at rest6 min answer β
- Inquiry Question 1: How are secure systems designed?Describe how hashing and salting protect stored passwords, and identify weaknesses in storing passwords in plain text or with reversible encryption5 min answer β
- Inquiry Question 2: How can the security of a developed solution be evaluated?Apply input validation, sanitisation and output encoding to defend against injection attacks6 min answer β
- Inquiry Question 2: How can the security of a developed solution be evaluated?Identify the OWASP Top 10 web application security risks and describe mitigations for each7 min answer β
- Inquiry Question 2: How can the security of a developed solution be evaluated?Describe the secure development lifecycle, including threat modelling, secure coding practices, security testing and ongoing monitoring6 min answer β
Module 3: Software Automation
Module overview β- Inquiry Question 2: How are machine learning systems used to develop solutions?Identify the ethical implications of automation and artificial intelligence, including accountability, transparency, employment effects and the use of personal data5 min answer β
- Inquiry Question 1: How do machine learning systems work?Distinguish machine learning from classical programming, and define the roles of model, features, training data and predictions5 min answer β
- Inquiry Question 2: How are machine learning systems used to develop solutions?Describe applications of machine learning in industry, including image recognition, natural language processing, recommendation systems and predictive maintenance5 min answer β
- Inquiry Question 1: How do machine learning systems work?Describe the basic structure of a neural network, including neurons, layers, weights, activation functions and training by backpropagation6 min answer β
- Inquiry Question 1: How do machine learning systems work?Compare supervised, unsupervised and reinforcement learning, and identify a typical application of each5 min answer β
- Inquiry Question 2: How are machine learning systems used to develop solutions?Explain how the quality and representativeness of training data affect a model, including the risks of bias and overfitting5 min answer β
Module 4: Software Engineering Project
Module overview β- Inquiry Question 1: How are large-scale software solutions developed and managed?Apply code review and quality practices, including peer review, style guides, linters and static analysis4 min answer β
- Inquiry Question 1: How are large-scale software solutions developed and managed?Set up continuous integration and deployment pipelines that build, test and release software automatically5 min answer β
- Inquiry Question 1: How are large-scale software solutions developed and managed?Produce technical and user-facing documentation across the software engineering lifecycle, including README files, API documentation, design documents and user manuals4 min answer β
- Inquiry Question 1: How are large-scale software solutions developed and managed?Use project management tools to plan, track and communicate work across a software team, including issue trackers, Kanban boards and Gantt charts4 min answer β
- Inquiry Question 1: How are large-scale software solutions developed and managed?Compare software development methodologies, including waterfall, agile and scrum, and identify when each is appropriate5 min answer β
- Inquiry Question 1: How are large-scale software solutions developed and managed?Describe testing strategies, including unit testing, integration testing, system testing and user acceptance testing6 min answer β
- Inquiry Question 1: How are large-scale software solutions developed and managed?Use version control to manage source code, including commits, branches, merges, pull requests and remote repositories5 min answer β