Year 10 Computer Science
Curriculum:
Click to Expand Autumn Content:
Cybersecurity
Programming
The Cost Of Cybercrime And Hacker Motivation
Non-Automated Cybercrime
Automated Cybercrime
Protecting Systems With Software
Network Design As Defence
Where Is The Danger?
- Describe The Impact Of Cybercrime On Businesses And Individuals
- Analyse An Attack On A Company And Identify What Motivated The Hackers
- Define The Terms Cybersecurity And Network Security, Explain Their Importance, And Distinguish Between The Two Concepts
- Describe The Features Of A Network That Make It Vulnerable To Attack
- Identify And Describe Non-automated Forms Of Cyberattacks, And Learn How Humans Can Be The Weak Links In An Organisation
- Demonstrate Knowledge Of Social Engineering Through Role Playing Activities And Case Studies
- Describe Automated Forms Of Cyberattacks
- Analyse A Real Cyberattack And Identify The Network Or Software Weaknesses That Enabled It To Happen
- Identify How Software Can Be Used To Protect From Cyberattacks
- Describe How Organisations Use Software To Protect Against Cyberattacks
- Explain The Need For, And The Importance Of, Network Security
- Explain A Number Of Methods Of Achieving Network Security
- Describe Different Methods Of Identifying Cybersecurity Vulnerabilities, Such As:
- Penetration Testing
- Ethical Hacking
- Network Forensics
- Commercial Analysis Tools
- Review Of Network And User Policies
Randomisation
Arithmetic Expressions
Selection
Selection Challenge
Logical Expressions
Nested Selection
- Be Able To Locate Information Using The Language Documentation
- Import Modules Into Your Code
- Demonstrate How To Generate Random Numbers
- Evaluate Arithmetic Expressions Using Rules Of Operator Precedence (BIDMAS)
- Write And Use Expressions That Use Arithmetic Operators (add, subtract, multiply, real division, integer division, MOD, to the power)
- Assign Expressions To Variables
- Define A Condition As An Expression That Can Be Evaluated To Either True Or False
- Identify Flowchart Symbols And Describe How To Use Them (decision)
- Identify That Selection Uses Conditions To Control The Flow Of Execution
- Walkthrough Code That Includes Selection (if, elif, else)
- Use Selection Statements In A Program
- Identify When Selection Statements Should Be Used In Programs
- Write And Use Expressions That Use Comparison Operators (equal to, not equal to, less than, greater than, less than or equal to, greater than or equal yo)
- Describe How Boolean/logical Operators Can Be Used In Expressions
- Walk Through Code That Use Conditions With Boolean/logical Operators (AND, OR)
- Write And Use Expressions That Use Boolean/logical Operators (AND, OR)
- Define Nested Selection
- Walk Through Code That Uses Nested Selection
- Modify A Program That Uses Nested Selection
Click to Expand Spring Content:
Data Representations
Programming
What is Representation?
Binary
Representing Text
Representing Images
Representing Sound
Storing Data
- Give Examples Of The Use Of Representation
- Explain That Computers Use Binary To Represent All Data And Instructions
- Explain How Binary Relates To Two-state Electrical Signals
- Explain The Difference Between Base-2 And Base-10 Numbers
- Convert Between Binary And Decimal Numbers
- Count In Binary
- Perform Addition In Binary On Two Binary Numbers
- Perform Addition In Binary On Three Binary Numbers
- Perform Subtraction In Binary
- Perform Binary Shifts
- Describe Situations Where Binary Shifts Can Be Used
- Explain How Overflow Errors Can Occur
- Explain How Underflow Occurs
- Compare Signed And Unsigned Integers
- Use Sign And Magnitude To Represent Positive And Negative Integers
- Use Two’s Complement To Represent Positive And Negative Integers
- Explain Why And Where Hexadecimal Notation Is Used
- Explain How Numbers Are Represented Using Hexadecimal
- Convert Decimal Numbers To And From Hexadecimal Numbers
- Determine The Maximum Number Of States That Can Be Represented By A Binary Pattern Of A Given Length
- Explain How ASCII Is Used To Represent Characters, And Its Limitations
- Explain What A Character Set Is
- Describe How Character Codes Are Commonly Grouped And Run In Sequence Within Encoding Tables
- Explain The Need For Unicode
- State That Unicode Uses The Same Codes As ASCII Up To 127
- Calculate The Number Of Bytes Needed To Store A Piece Of Text
- Describe What A Pixel Is And How Pixels Relate To Bitmap Images
- Describe Colour Depth And Resolution
- Define ‘metadata’
- Give Examples Of Metadata Applied To A Bitmap Image
- Calculate The File Size Of Bitmaps
- Describe How The Number Of Pixels And Colour Depth Can Affect The File Size Of A Bitmap Image, Using Examples
- Explain Why Analogue Sound Data Needs To Be Converted Into Binary Digits
- Describe The Concepts Of Sampling, Sample Rate, And Sample Resolution
- Calculate File Size Requirements Of Sound Files
- Describe The Effect Of Sample Rate, Duration, And Sample Resolution On The Playback Quality And The Size Of A Sound File
- Give Examples Of Metadata Applied To Sound Files
- Define The Terms ‘bit’, ‘nibble’, ‘kilobyte’, ‘megabyte’, ‘gigabyte’, ‘terabyte’, And ‘petabyte’
- Compare ‘kibibyte’, ‘mebibyte’, ‘gibibyte’, And ‘tebibyte’ To ‘megabyte’, ‘gigabyte’, And ‘terabyte’
- Convert Between Units Of Measurement
- Explain What Data Compression Is
- Explain Why Data May Be Compressed, And That There Are Different Ways To Compress Data
- Define ‘lossy Compression’ And ‘lossless Compression’
- Explain How Data Can Be Compressed Using Run Length Encoding (RLE)
- Represent Data In RLE Frequency/data Pairs
- Calculate Compression Ratios
- Explain How Data Can Be Compressed Using Huffman Coding
- Interpret A Huffman Tree
- Calculate The Number Of Bits Required To Store A Piece Of Data Compressed Using Huffman Coding
Subroutines
Functions
Scope
XOR
Structured Programming
Create A Program
- Describe A Subroutine
- Describe The Purpose Of Parameters In Subroutines
- Use Procedures That Accept Arguments Through Parameters
- Describe How Subroutines Are Used For Decomposition
- List The Advantages Of Subroutines
- Explain The Difference Between A Function And A Procedure
- Use Trace Tables To Investigate Functions
- Use Functions To Return Values In Programs
- Describe Scope Of Variables
- Describe How Parameters Can Reduce The Need For Global Variables
- Identify When To Use Global Variables
- Describe A Constant
- Use A Truth Table
- Describe The Function Of An XOR Operator
- Design And Create A Function For An XOR Operator
- Describe The Structured Approach To Programming
- Explain The Advantages Of The Structured Approach
- Use The Structured Approach In Programming
- Describe Iterative Testing
- Describe The Types Of Testing (Erroneous, Boundary, Normal)
- Design And Create A Program
Click to Expand Summer Content:
Impact Of Technology
Networks
Programming
How Does Technology Impact Us?
The Law, Data Protection, And Copyright
Cultural Impacts
Privacy And Surveillance
Environmental Impact
Ethical Impact
- Apply The Terms ‘Privacy’, ‘Legal’, ‘Ethical’, ‘Environmental’, And ‘Cultural’
- Explain Data Legislation, Including An Organisation’s Obligation To Protect And Supply Data
- Explain The Term ‘stakeholder’
- Explain The Right To Be Forgotten
- Distinguish The Differences Between Legitimate Creative Uses And Clear Infringement Of Material Subject To Copyright
- Explain The Freedom Of Information Act
- Define ‘Computer Misuse’ And The Associated Offences
- Identify Situations That Would Be Classified As An Offence Under The Act
- Define ‘Downtime’ And Explain The Associated Impact On An Organisation
- Explain What Is Meant By The ‘Digital Divide’ And Measures To Mitigate Its Effect
- Identify Positive And Negative Aspects Of The Use Of Mobile Technology
- Identify The Implications Of Having Personal Data Online
- Explain The Social And Environmental Impacts Of Social Media
- Explain The Positive And Negative Effects Of Online Content
- Explain The Environmental Effects Of The Use Of Technology
- Explain The Ethical Issues Surrounding The Use Of AI In Society
- Explain The Ethical Impact Of Using Algorithms To Make Decisions
What Are Networks?
Different Networks
Networks And Servers
Network Protocols
The IP Suite And Packet Switching
Network Speed And Performance
- Define What Networks Are
- Describe The Hardware Components Required To Build Networks Of Devices
- Analyse The Benefits And Problems Associated With Networks
- Explain How Devices Can Be Connected To A Network Either Through A Wired Or Wireless Connection
- Define MAC Addresses And Their Use In Networks
- Analyse Specific Examples Including Ethernet And Wi-Fi
- Explain The Importance Of Connectivity In Modern Computing Systems
- List And Describe The Different Types Of Networks Depending On Node Distribution, Including Personal, Local, And Wide Area Networks
- List, Describe, And Compare The Different Types Of Networks Depending On Topology, Such As Ring, Star, And Bus
- Define And Describe The Internet
- Define The Www And Describe Its Main Components
- List, Describe, And Compare The Different Types Of Communication Models Encountered In Networks, Such As Server–client And Peer-to-peer
- Define And Explain The Concept Of A Networking Protocol
- List And Explain Standard Internet Protocols In The Application Layer, Such As HTTP, HTTPS, FTP, DNS, SMTP, POP, And IMAP
- Explain And Describe The Advantages And Disadvantages Of Circuit Switching And Packet Switching
- List And Explain The Four Different Layers Associated With The Internet Protocol: Link, Network/internet, Transport, And Application
- Explain The Internet Protocol In The Internet Layer
- List And Explain Standard Internet Protocols In The Transport Layer, Such As TCP And UDP
- Describe How Network Data Speeds Are Measured, And The Factors Affecting Network Performance
- Define What Virtual Networks Are, And How They Are Used To Maintain Network Performance
- Explain Why Networks Are A Target For Criminals, And What Some Of The Tools Available To Defend Against Attacks Are
Records And Dictionaries
Dictionary Challenge
Text Files
CSV Files
Being A Programmer
Battle Boats
- Describe The Record Data Structure
- Use A Dictionary To Represent A Record In A Program
- Use A Dictionary With A List To Represent Records In A Database
- Describe The Dictionary Data Structure
- Use A Dictionary To Produce Key-value Pairs
- Determine The Purpose Of External Data Files
- Read Data From An External Text File
- Write To Text Files
- Append To Text Files
- Describe A CSV File
- Read From A CSV File
- Use The split() Method
- Select Data From A Collection Of Values
- Write Data From A 1D List To A CSV File
- Write Data From A 2D List To A CSV File
- Append To A CSV File
- Determine The Good Habits Of A Programmer
- Explore Alternative Approaches To Programming Solutions
- Write Success Criteria For A Challenging Project
- Design The Program For A Challenging Project Using Flowchart Or Pseudocode
- Create The Solution For The Battle Boats Program
- Perform Final Testing Of The Solution To A Challenging Problem
- Evaluate A Challenging Program
Subject Overview:
Students in Year 10 have 3 Computer Science lessons each week.
In Year 10, students have 1 piece of homework set every week.
Assessments:
Students sit a summative assessment at the end of each unit.
Students sit a final assessment at the end of the year.