Skip to main content
Ctrl+K

SE - Stage 6

  • GitHub

Contents

  • Syllabus Map
    • Syllabus Map Year 11
      • Programming fundamentals
      • The object-oriented paradigm
      • Programming mechatronics
    • Syllabus Map Year 12
      • Programming for the Web
      • Secure software architecture
      • Software automation
      • Software engineering project
  • Python
    • 1. Python Basics
      • 1.1. Python
      • 1.2. Printing
      • 1.3. Variables
      • 1.4. Types of Variables
      • 1.5. Python as a calculator
      • 1.6. Naming Variables
      • 1.7. Don’t Mix and Match Variables Types
      • 1.8. Type Conversions
      • 1.9. Input
      • 1.10. String Formatting
      • 1.11. Error Messages
      • 1.12. Comments
      • 1.13. Test Your Understanding
      • 1.14. Additional Challenges
    • 2. Conditionals
      • 2.1. Booleans
      • 2.2. Comparisons
      • 2.3. And/Or
      • 2.4. If Statements
      • 2.5. If-Else Statements
      • 2.6. If-Elif-Else Statements
      • 2.7. More Complicated if-elif-else Statements
      • 2.8. Pseudocode
      • 2.9. Code Testing
      • 2.10. Test Your Understanding
      • 2.11. Additional Challenges
    • 3. Lists and Loops
      • 3.1. Lists
      • 3.2. Indexing
      • 3.3. List Operations
      • 3.4. List Joins
      • 3.5. Converting To Lists
      • 3.6. Loops
      • 3.7. While Loops
      • 3.8. Common While Loop Errors
      • 3.9. While Loops With Lists
      • 3.10. While Loops With Input
      • 3.11. While Loops With Conditionals
      • 3.12. For Loops
      • 3.13. Range
      • 3.14. For Loops With Conditionals
      • 3.15. Equivalent Loops
      • 3.16. Nested Loops
      • 3.17. Pseudocode
      • 3.18. Additional Challenges
    • 4. Modules and Functions
      • 4.1. Modules
      • 4.2. The Math Module
      • 4.3. Random Integers
      • 4.4. Random Floats and Using Probabilities
      • 4.5. Pseudorandomness
      • 4.6. Time
      • 4.7. datetime
      • 4.8. Functions
      • 4.9. Function Scope
      • 4.10. Optional Parameters (Keyword Arguments)
      • 4.11. Function Returns
      • 4.12. Custom Modules
      • 4.13. Representing Numbers in Binary
      • 4.14. Two’s Complement
      • 4.15. The Hexadecimal System
      • 4.16. ASCII
      • 4.17. Pseudocode and Flowcharts
    • 5. Data Structures
      • 5.1. Introduction to Arrays
      • 5.2. Multi-Dimensional Arrays
      • 5.3. Records
      • 5.4. Data Dictionaries
      • 5.5. Sequential Files
      • 5.6. Stacks
      • 5.7. Dictionaries
    • 6. Algorithms and Code Design
      • 6.1. Algorithms
      • 6.2. Draw a Box: Algorithm
      • 6.3. Desk Checking
      • 6.4. Draw a Box: Desk Check
      • 6.5. Draw a Box: Code
      • 6.6. Backtracking Algorithms: Maze Example
      • 6.7. Backtracking Algorithms: 8 Queens
      • 6.8. Representing and Storing Data: 8 Queens
      • 6.9. Divide and Conquer: Merge Sort
      • 6.10. Applying Divide and Conquer Algorithms
      • 6.11. Understanding Algorithms
      • 6.12. Peer Review: Tic Tac Toe (Naughts and Crosses)
      • 6.13. Developing Software: Tic Tac Toe Example
      • 6.14. Top-down and Bottom-up Design
      • 6.15. Structure Charts
      • 6.16. Online Code and Collaboration Tools
      • 6.17. Waterfall vs Agile Project Management
  • Web Part 1
    • 1. Hypertext
      • 1.1. Overview
      • 1.2. HTML
      • 1.3. Elements and Tags
      • 1.4. Body Elements
    • 2. Styling
      • 2.1. Cascading Style Sheets
      • 2.2. Declarations
      • 2.3. Box Model
      • 2.4. Selectors
      • 2.5. Using IDs and Classes
      • 2.6. Advanced Selectors
    • 3. Networking
      • 3.1. Overview
      • 3.2. Internet Layer
      • 3.3. Transport Layer
      • 3.4. Application Layer
    • 4. Backend Introduction
      • 4.1. Overview
      • 4.2. HTTP
      • 4.3. Server Side Scripting
      • 4.4. Flask Intro
      • 4.5. Handling Requests
      • 4.6. Serving Static Files
    • 5. Databases and SQL
      • 5.1. Overview
      • 5.2. Select
      • 5.3. Where
      • 5.4. Order By
      • 5.5. Limit
      • 5.6. Readability
      • 5.7. Insert
      • 5.8. Update
      • 5.9. Delete
      • 5.10. Joins
      • 5.11. More Joins
      • 5.12. Group By
    • 6. Dynamic Backends
      • 6.1. Case Study: Movie Reviews
      • 6.2. Databases and Python
      • 6.3. Databases with Flask
      • 6.4. Templating
      • 6.5. Variables in URLs
      • 6.6. Forms - Part 1
      • 6.7. Forms - Part 2
      • 6.8. Extension Exercises
  • JavaScript
    • 1. Overview
    • 2. Printing
    • 3. Comments
    • 4. Programs, Statements and Expressions
    • 7. Variables
    • 8. Arithmetic
    • 9. Strings
    • 10. Conditionals
    • 11. Arrays
    • 12. Loops
    • 13. Functions
    • 14. Objects
  • Web Part 2
    • 1. Interactivity
      • 1.1. JavaScript
      • 1.2. JavaScript in HTML
      • 1.3. Document Object Model
      • 1.4. Window, Document and Elements
      • 1.5. Finding Elements
      • 1.6. Editing the Page and Elements
      • 1.7. Events
    • 2. User Interface and User Experience (UI/UX)
      • 2.1. Overview
      • 2.2. Responsive Web Design
      • 2.3. Front End Frameworks
      • 2.4. CSS Preprocessors
      • 2.5. Performance
    • 3. Object-Relational Mapping
      • 3.1. Overview
      • 3.2. SQLAlchemy
      • 3.3. Tutorial: ORMs in Flask
    • 4. Standards and History
      • 4.1. Standards
      • 4.2. Tools
      • 4.3. Web Browsers: Evolution and Influence
      • 4.4. Open-Source Software and the Web
      • 4.5. Content Management Systems (CMS)
      • 4.6. Front-end and Back-end Collaboration
      • 4.7. Big Data’s Impact on the Web
    • 5. Progressive Web Apps
      • 5.1. Progressive Web Apps
      • 5.2. Web App Manifest
      • 5.3. Service Workers
      • 5.4. PWA Tutorial
  • Software Automation
    • Linear Regression
      • Artificial Intelligence and Machine Learning
      • Supervised vs Unsupervised Learning
      • Linear Regression
      • Measuring Error
      • Reading in Data With Pandas
      • Scatter Plots
      • Visualising Data
      • Fitting a Linear Regression Model
      • Line Plots
      • Plotting Functions and Visualising Models
      • Making Predictions
      • Measuring Error Using the MSE
      • Extension: Fitting The Model
      • Multiple Linear Regression
    • Polynomial and Logistic Regression
      • Polynomial and Logistic Regression
      • Polynomial Regression
      • The Relationship Between Linear Regression and Polynomial Regression
      • Building a Polynomial Regression Model
      • Extension: Selecting The Polynomial Degree
      • Logistic Regression
      • Measuring Error
      • Building a Logistic Regression Model
      • Predicting With A Logistic Regression Model
      • Extension: Further Classification Metrics
      • Extension: Multiple Logistic Regression
    • Decision Trees
      • Decision Trees
      • Building a Classification Tree
      • Classifying With a Classification Tree
      • Node Impurity and Tree Height
      • A Semi-Supervised Model
      • Random Forests
      • Extension: Building a Classification Tree
      • Extension: Interpreting The Output Graph
      • Extension: Predicting With a Classification Tree
      • Building a Regression Tree
      • Predicting With a Regression Tree
      • Extension: Building and Predicting With A Regression Tree
      • Semi-Supervised Learning and Random Forests
      • Interpreting Decision Trees
    • K-Nearest Neighbours and K-Means Clustering
      • K-Nearest Neighbours and K-Means Clustering
      • Distance and Similarity
      • Extension: The Problem With Distance Similarity
      • KNN Regression 1D
      • Visualising KNN Regression 1D (k = 1)
      • Extension: Visualising KNN Regression 1D (k = 2)
      • KNN Regression 2D
      • Extension: Building a KNN Regression Model
      • Extension: Selecting The Value of k
      • KNN Classification
      • Extension: Image Data
      • Extension: Building a KNN Classification Model
      • Unsupervised Learning: Clustering
      • Extension: The K-means Clustering Algorithm
      • Extension: Building a K-means Clustering Model
      • Extension: Text Data
    • Neural Networks
      • Deep Learning
      • Neural Networks
      • RGB to Hue and Saturation
      • Information Flow: Making a Prediction
      • Calculating Errors
      • Training a Neural Network
      • Building a Neural Network for Regression
      • Problem and Model Analysis
      • Neural Networks for Classification
      • Building a Neural Network For Classification
      • More Advanced Neural Networks
    • Reinforcement Learning
      • Reinforcement Learning
    • Design, Applications and Impact
      • Types Of Machine Learning Summary
      • Exercise: Applications of Machine Learning Algorithms
      • ML in DevOPS, RPA and BPA
      • MLOps
      • Bias in AI
      • How Cultural Protocols and Belief Systems Impact AI
      • Artificial Intelligence and its Ethics
      • In focus: Impacts of AI

About

  • Authors
  • Changelog

Software Engineering, Stage 6

Software Engineering, Stage 6#

Welcome to Software Engineering, Stage 6!

This is a free and open source resource for year 11 and 12 students completing the “Software Engineering” subject in NSW.

Caution

This resource is a work in progress. The structure and content may change frequently.

Contents

  • Syllabus Map
    • Syllabus Map Year 11
    • Syllabus Map Year 12
  • Python
    • 1. Python Basics
    • 2. Conditionals
    • 3. Lists and Loops
    • 4. Modules and Functions
    • 5. Data Structures
    • 6. Algorithms and Code Design
  • Web Part 1
    • 1. Hypertext
    • 2. Styling
    • 3. Networking
    • 4. Backend Introduction
    • 5. Databases and SQL
    • 6. Dynamic Backends
  • JavaScript
    • 1. Overview
    • 2. Printing
    • 3. Comments
    • 4. Programs, Statements and Expressions
    • 5. Expressions
    • 6. Multiple Statements on One Line
    • 7. Variables
    • 8. Arithmetic
    • 9. Strings
    • 10. Conditionals
    • 11. Arrays
    • 12. Loops
    • 13. Functions
    • 14. Objects
  • Web Part 2
    • 1. Interactivity
    • 2. User Interface and User Experience (UI/UX)
    • 3. Object-Relational Mapping
    • 4. Standards and History
    • 5. Progressive Web Apps
  • Software Automation
    • Linear Regression
    • Polynomial and Logistic Regression
    • Decision Trees
    • K-Nearest Neighbours and K-Means Clustering
    • Neural Networks
    • Reinforcement Learning
    • Design, Applications and Impact

About

  • Authors
  • Changelog

next

Syllabus Map

By Alison Wong, Stephen Tierney

Software Engineering - Stage 6 by Alison Wong and Stephen Tierney is marked with CC0 1.0 Universal