Can You Compute?
  • HOME
    • Yr 6
    • Revision
    • Class of 2017
    • COVER LESSON FB
    • Yr 10: Program of Study 2016
    • Yr 11:Coming soon
    • Student Showcase
  • KS3
    • Term 6: Databases
    • Term 5 Scratch
    • Term 4 Websites
    • Term 3 Spreadsheets
    • Term 2: Binary & Algorithms
    • Term 1: Basics and Hardware
  • J277/01 NEW
    • EPIC FAILS
    • Intro Lessons
    • 1.1 System Architecture >
      • 1.1.1: The CPU
      • 1.1.1: Parts of the CPU
      • 1.1.2: The CPU in action
      • CPU Recap Lesson
      • Little Man Computer
      • 1.1.3: Embedded Systems
      • RISC & CISC
      • End of Unit Exam
    • 1.2 Memory and Storage >
      • 1.2.1: Primary Storage (Memory)
      • Intro to Units of Memory
      • 1.2.2 Secondary Storage
      • How stuff works
    • 1.2.3 Units & Data Capacity
    • 1.2.4 Data Storage >
      • 1.2.4 Binary Conversion
      • 1.2.4 Binary Addition
      • L4: Hexadecimal
      • L5: Recap
      • L6: Characters
      • L7: Images
      • L8: SenseHAT images
      • L9: Sound & Sampling
      • L10: Code Sound
      • L11: Compression Part 1
      • L12: Compression Part 2 >
        • Compression
      • What do you know?
  • J276/02 old
    • Unit 2 Overview
    • 2.1 Algorithms >
      • L1: Intro to Algorithms
      • L2: The Knight's Tour
      • L3: Bresenham
      • L4: Searching Algorithms
      • L5: Bubble Sort
      • L6: Insertion Sort
      • L7: Merge
      • L8: Sorting Recap
      • L9: Creating Algorithms
      • L10: Pseudocode
      • L11: Interpreting Algorithms
      • L12: End of Unit Test
    • 2.2 Programming Techniques >
      • Coding Intro
      • L1: Programming Concepts
      • L2: Sequence, Selection & Iteration
      • L3: SSI Practice
      • L4: String Manipulation
      • L5: Secret Codes
      • L6: File Handling
      • L7: Use of records to store data
      • L8: SQL
      • L9: SQL Python
      • L10 ,11, 12: Arrays
      • L13: Functions
      • L14: Data Types
      • L15: Casting
      • L16 -17: Test and Code
    • 2.3 Robust Programs >
      • L1 : Defensive Design
      • L2 : Testing Programs
    • 2.4 Computational Logic >
      • L1: Comp. Logic 1
      • L2: Comp. Logic 2
      • L3: Operators (Python)
    • 2.5 Translators & Language >
      • L1: Types of Languages
      • L2: Translators
  • Yr 9
    • Year End Examination
    • iMedia 5: Comics
    • iMedia 4: School Brochure
    • iMedia 3: Presentations
    • iMedia 2: Review and Mail Merge
    • iMedia 1: IT Letter Writing
    • L10: Intro to iMedia
    • L9 Building a Computer
    • L8: Buying a House
    • L7: Logic Gates
    • L6: Binary
    • L5: CS Alan Turing
    • L4: Spreadsheets
    • L3: JS in an Hour!
    • L2: Intro to Coding
    • L1: CS Compression
  • Py
    • Coding Concepts
    • Writing your first Program
    • Python Pages
    • Python Playground
    • Strings
    • Python Operators
    • Functions
    • Conditions
    • Try and Except
    • Break and Continue
    • Odd codes
  • Py +
    • Looping
    • Why does my code not work?
    • Errors
    • Validation
    • Lists
    • Lists again
    • Looking for data in String
    • Writing to Files
    • Read, Write & Sorting Data
  • CODING
    • Magic Python
    • Alan Turing
    • Brian the Turtle
    • Grade Calculator
    • Nested IF Hotels
    • Vending Machine
    • A Looping Menu
    • For
    • Christmas Coding
    • JS in an Hour!
    • CSS + HTML
    • Medical Claims
    • Hour of Code 2015
  • Contact
    • Dictionaries - coming soon
    • L2:
  • Squid Game
  • Reflectico

2.3 lesson 1:
​Defensive Design


In this LESSON you will learn about:

Learning Objectives:


Defensive design considerations:
  • input sanitisation/validation
  • planning for contingencies
  • anticipating misuse
  • authentication
Maintainability: 
  • comments
  • indentation
  • the purpose of testing​
  1. Be aware of various methods of validation.​​​​
  2. ​Understand the use and role of Maintainability
  3. ​Be able to answer exam questions on Defensive Design

Lesson Overview 

Resources


Starter:
​
Discuss with the class or students why programs or software fail.  Can they think of some examples.

Main:
  1. ​Introduce the Lesson Notes and the News stories.
  2. Students can take notes on the key points, messages and definitions.
  3. Use the card sort to organise the various methods of input sanitisation/validation.
  4. ​Students discuss examples of their experiences of these.

​​Plenary:​​
  1. ​Write down three statements on what you have learnt today
  2. Write down three methods of keeping programs 'robust'
  3. Discuss how you could use these methods in your CW.
1_lesson_notes.pptx
File Size: 1216 kb
File Type: pptx
Download File

2_card_sort.docx
File Size: 861 kb
File Type: docx
Download File

3_mcq_test.pdf
File Size: 506 kb
File Type: pdf
Download File


Home Study:


Powered by Create your own unique website with customizable templates.
  • HOME
    • Yr 6
    • Revision
    • Class of 2017
    • COVER LESSON FB
    • Yr 10: Program of Study 2016
    • Yr 11:Coming soon
    • Student Showcase
  • KS3
    • Term 6: Databases
    • Term 5 Scratch
    • Term 4 Websites
    • Term 3 Spreadsheets
    • Term 2: Binary & Algorithms
    • Term 1: Basics and Hardware
  • J277/01 NEW
    • EPIC FAILS
    • Intro Lessons
    • 1.1 System Architecture >
      • 1.1.1: The CPU
      • 1.1.1: Parts of the CPU
      • 1.1.2: The CPU in action
      • CPU Recap Lesson
      • Little Man Computer
      • 1.1.3: Embedded Systems
      • RISC & CISC
      • End of Unit Exam
    • 1.2 Memory and Storage >
      • 1.2.1: Primary Storage (Memory)
      • Intro to Units of Memory
      • 1.2.2 Secondary Storage
      • How stuff works
    • 1.2.3 Units & Data Capacity
    • 1.2.4 Data Storage >
      • 1.2.4 Binary Conversion
      • 1.2.4 Binary Addition
      • L4: Hexadecimal
      • L5: Recap
      • L6: Characters
      • L7: Images
      • L8: SenseHAT images
      • L9: Sound & Sampling
      • L10: Code Sound
      • L11: Compression Part 1
      • L12: Compression Part 2 >
        • Compression
      • What do you know?
  • J276/02 old
    • Unit 2 Overview
    • 2.1 Algorithms >
      • L1: Intro to Algorithms
      • L2: The Knight's Tour
      • L3: Bresenham
      • L4: Searching Algorithms
      • L5: Bubble Sort
      • L6: Insertion Sort
      • L7: Merge
      • L8: Sorting Recap
      • L9: Creating Algorithms
      • L10: Pseudocode
      • L11: Interpreting Algorithms
      • L12: End of Unit Test
    • 2.2 Programming Techniques >
      • Coding Intro
      • L1: Programming Concepts
      • L2: Sequence, Selection & Iteration
      • L3: SSI Practice
      • L4: String Manipulation
      • L5: Secret Codes
      • L6: File Handling
      • L7: Use of records to store data
      • L8: SQL
      • L9: SQL Python
      • L10 ,11, 12: Arrays
      • L13: Functions
      • L14: Data Types
      • L15: Casting
      • L16 -17: Test and Code
    • 2.3 Robust Programs >
      • L1 : Defensive Design
      • L2 : Testing Programs
    • 2.4 Computational Logic >
      • L1: Comp. Logic 1
      • L2: Comp. Logic 2
      • L3: Operators (Python)
    • 2.5 Translators & Language >
      • L1: Types of Languages
      • L2: Translators
  • Yr 9
    • Year End Examination
    • iMedia 5: Comics
    • iMedia 4: School Brochure
    • iMedia 3: Presentations
    • iMedia 2: Review and Mail Merge
    • iMedia 1: IT Letter Writing
    • L10: Intro to iMedia
    • L9 Building a Computer
    • L8: Buying a House
    • L7: Logic Gates
    • L6: Binary
    • L5: CS Alan Turing
    • L4: Spreadsheets
    • L3: JS in an Hour!
    • L2: Intro to Coding
    • L1: CS Compression
  • Py
    • Coding Concepts
    • Writing your first Program
    • Python Pages
    • Python Playground
    • Strings
    • Python Operators
    • Functions
    • Conditions
    • Try and Except
    • Break and Continue
    • Odd codes
  • Py +
    • Looping
    • Why does my code not work?
    • Errors
    • Validation
    • Lists
    • Lists again
    • Looking for data in String
    • Writing to Files
    • Read, Write & Sorting Data
  • CODING
    • Magic Python
    • Alan Turing
    • Brian the Turtle
    • Grade Calculator
    • Nested IF Hotels
    • Vending Machine
    • A Looping Menu
    • For
    • Christmas Coding
    • JS in an Hour!
    • CSS + HTML
    • Medical Claims
    • Hour of Code 2015
  • Contact
    • Dictionaries - coming soon
    • L2:
  • Squid Game
  • Reflectico