Skip to content

NSW HSC Software Engineering

HSC · NESAComputer Science46 notes in 4 folders, 275 KB

Notes for NSW HSC Software Engineering (NESA), in folders for the four Year 12 focus areas in the syllabus's order: Secure software architecture, Programming for the web, Software automation and the Software engineering project. They follow the Software Engineering 11-12 Syllabus (2022), with worked code in Python, pseudocode and SQL, and one note per group of related syllabus points.

Adding them puts a copy in your notes, in a folder of its own with the folders below, for you to change and turn into flashcards or a question deck. Download gives you a zip of markdown files, which opens in any notes app.

What is inside

  • Secure software architecture
    • Designing secure software6 KB
    • Security concepts and features6 KB
    • Cryptography and sandboxing6 KB
    • Security by design and privacy by design4 KB
    • Testing resilience and handling breaches5 KB
    • Managing the security of code5 KB
    • Defensive input handling5 KB
    • Safe APIs5 KB
    • Efficient execution: memory, session and exception management6 KB
    • User action controls7 KB
    • File attacks and side channel attacks6 KB
    • Collaboration and benefits to an enterprise5 KB
    • Social, ethical and legal issues of safe and secure software6 KB
  • Programming for the web
    • Applications of web programming5 KB
    • How data moves on the internet5 KB
    • Web protocols and ports6 KB
    • Securing the web6 KB
    • Big data and web architecture5 KB
    • The World Wide Web Consortium5 KB
    • Front end, back end and the browser6 KB
    • CSS and front-end libraries6 KB
    • Version control and open-source software5 KB
    • Load times and content management systems5 KB
    • The back end and a web request6 KB
    • Databases: SQL, ORM and non-SQL8 KB
    • Designing a progressive web app6 KB
  • Software automation
    • Automation: DevOps, RPA and BPA6 KB
    • Artificial intelligence, machine learning and how models learn5 KB
    • Applications and models: decision trees and neural networks7 KB
    • Regression and K-nearest neighbour6 KB
    • Programming regression models5 KB
    • Neural networks in code5 KB
    • Impact of automation7 KB
    • Human behaviour and bias in ML and AI8 KB
  • Software engineering project
    • Defining the problem and its requirements6 KB
    • Tools for generating ideas: storyboards, data dictionaries, data types6 KB
    • Algorithm design: pseudocode and Python7 KB
    • Implementation methods5 KB
    • Waterfall, Agile and WAgile7 KB
    • Project management, communication and ethics7 KB
    • Quality assurance6 KB
    • Modelling tools9 KB
    • Back-end engineering6 KB
    • Producing and implementing a solution9 KB
    • Testing, debugging and optimisation8 KB
    • Feedback and evaluation7 KB

The first note

Secure software architecture / Designing secure software

## Why security is built in Software that handles other people's data becomes a target the moment it is deployed. **Secure software** is written so that the data it holds and the actions it allows are protected from people who should not have them, and it is treated as a requirement from the first day of a project rather than a patch added before release. The reason is cost and reach: a flaw found in design is a change to a diagram, while the same flaw found after installation means changing code, retesting, redeploying and, if data has already leaked, telling the people affected. The benefits fall into two groups. ### Data protection Most applications store something a person would not want exposed: names, addresses, payment details, health records, passwords, messages. Secure development protects this data while it is stored, while it moves between a user and a server, and while it is being processed. Protecting it keeps a business inside privacy law, keeps customers willing to hand the data over, and avoids the direct costs of a breach such as fines, compensation and the work of investigating what was taken. ### Minimising cyber attacks and vulnerabilities A **vulnerability** is a weakness that an attacker could use, such as a form field that accepts anything typed into it, and a **cyber attack** is an attempt to use one. Secure practices shrink the number of vulnerabilities that ship and make the ones that remain harder to use. An attacker looks for the easiest target…

And 45 more once you add or download them.

Reviews

No written reviews yet. Add these notes to yours and you can be the first to leave one.