Year 09 Computer Science
Curriculum:
Click to Expand Autumn Content:
Computing Systems
Algorithms & Programming
Computer Systems And System Software
The CPU
Computer Memory
Computer Specifications
Logic
Assembly Language Programming
- Compare Embedded And General Purpose Computer Systems
- Describe The Role Of System Software As Part Of A Computer System
- Explore The Role Of The Operating System And Utility Software
- Describe The Basic Components Of The CPU
- Describe The Roles And Purpose Of Each Component Of The CPU In Computation
- Explain How The Fetch-decode-execute Cycle Works By Describing What Happens At Each Stage
- Describe The Role Of Each Part Of The CPU As Part Of The Fetch-decode-execute Cycle
- Explore The Factors That Impact A CPU’s Performance
- Describe The Characteristics Of RAM And ROM
- Explain The Role Of Main Memory As Part Of A Computer System
- Define Cache Memory
- Describe The Role Of Cache In A Computer System
- Explain Why A Computer System Needs Secondary Storage
- State The Different Types Of Secondary Storage And Describe Their Functional Characteristics
- State How Solid-state Memory, Optical And Magnetic Memory Works And Describe Their Characteristics
- Apply Knowledge Of Storage Devices To Compare And Recommend An Appropriate Device
- Describe The Limitations Of Secondary Storage
- Explain The Definition Of ‘Cloud Storage’ And Describe The Characteristics Of Cloud Storage
- Select Components To Create A Computer System
- Evaluate A Computer’s Suitability For A Given Task
- Discover The Logic Gates AND, NOT, And OR, Including Their Symbols And Truth Tables
- Learn How Logic Gates Are Used In Carrying Out Computation
- Design A Logical Circuit, Combining Logic Gates To Solve A Problem
- Construct Truth Tables For A Three-input Logic Circuit
- Write A Boolean Expression To Describe A Logical Circuit
- Describe How Combinations Of Logic Gates Can Perform Mathematical Operations
- Determine That Assembly Language Has A 1:1 Relationship With Machine Code
- Explain The Basic Commands In The Lmc’s Assembly Code: INP, OUT, STA, LDA, ADD, SUP, And BRP
- Design And Write Your Own Program In Assembly Language
Computational Thinking
Algorithms
Search Algorithms
Sorting Algorithms
Translators, Flowcharts And Sequence
Variables And Inputs
- Define The Terms Decomposition, Abstraction, And Algorithmic Thinking
- Recognise Scenarios Where Each Of These Computational Thinking Techniques Is Applied
- Apply Decomposition, Abstraction, And Algorithmic Thinking To Help Solve A Problem
- Describe The Difference Between Algorithms And Computer Programs
- Identify Algorithms That Are Defined As Written Descriptions, Flow Charts, And Code
- Analyse And Create Flow Charts Using The Flow Chart Symbols
- Use A Trace Table To Walk Through Code That Contains A While Loop, A For Loop, And A List Of Items
- Use A Trace Table To Detect And Correct Errors In A Program
- Identify Why Computers Often Need To Search Data
- Describe How A Linear Search and A Binary Search Can Be Used For Finding The Position Of An Item In A List Of Items
- Perform Linear Searches and Binary Searches To Find The Position Of An Item In A List
- Identify Scenarios When A Binary Search Can And Cannot Be Carried Out
- Compare The Features Of Linear And Binary Search And Decide Which Is Most Suitable In A Given Context
- Interpret The Code For Linear Search And Binary Search
- Trace Code For Both Searching Algorithms With Input Data
- Identify Why Computers Often Need To Sort Data
- Traverse A List Of Items, Swapping The Items That Are Out Of Order
- Perform A Bubble Sort To Order A List Containing Sample Data
- Insert An Item Into An Ordered List Of Items
- Describe How Insertion Sort Is Used For Ordering A List Of Items
- Perform An Insertion Sort To Order A List Containing Sample Data
- Interpret The Code For Bubble Sort And Insertion Sort
- Trace Code For Both Sorting Algorithms With Input Data
- Identify Factors That Could Influence The Efficiency Of A Bubble Sort Implementation
- Merge Two Ordered Lists Of Items Into A New Ordered List
- Describe How Merge Sort Is Used For Ordering A List Of Items
- Perform A Merge Sort To Order A List Containing Sample Data
- Compare How Humans And Computers Interpret Instructions
- Explain The Differences Between High- And Low-level Programming Languages
- Describe Why Translators Are Necessary
- List The Differences, Benefits, And Drawbacks Of Using A Compiler, Or An Interpreter
- Describe The Tools An Ide Provides (Editors, Error Diagnostics, Runtime Environment, Translators)
- Use Subroutines In Programs
- Define A Sequence As Instructions Performed In Order, With Each Executed In Turn
- Predict The Outcome Of A Sequence And Modify It
- Interpret Error Messages And Define Error Types And Identify Them In Programs (Logic, Syntax)
- Identify Flowchart Symbols And Describe How To Use Them (Start, End, Input, Output, Subroutine)
- Translate A Flowchart Into A Program Sequence
- Design A Flowchart For A Program
- Use Meaningful Identifiers
- Determine The Need For Variables
- Distinguish Between Declaration, Initialisation, And Assignment Of Variables
- Demonstrate Appropriate Use Of Naming Conventions
- Output Data (E.g. print (my_var))
- Obtain Input From The Keyboard In A Program
- Differentiate Between The Data Types: Integer, Real, Boolean, Character, String
- Cast Variables By Calling A Function That Will Return A New Value Of The Desired Data Type
- Define Runtime Errors In Programs
- Define Validation Checks
Click to Expand Spring Content:
Databases And SQL
Programming
Database Essentials
Database Types
SQL Searches
Insert, Update, Delete
Swim Challenge
- Describe A Database
- Define Database Key Terms (Table, Record, Field, Primary Key, Foreign Key)
- Describe A Flat File Database
- Describe A Relational Database
- Describe The Function Of SQL
- Use SQL To Retrieve Data From A Table In A Relational Database
- Use SQL To Retrieve Data From More Than One Table In A Relational Database
- Describe The Function Of Different Data Types
- Use SQL To Insert, Update, And Delete Data In A Relational Database
- Interrogate And Update An Existing Database
While Loops
Trace Tables
For Loops
Data Validation
Pseudocode
- Define Iteration As A Group Of Instructions That Are Repeatedly Executed
- Modify A Program To Incorporate A While Loop
- Use A Trace Table To Walkthrough Code That Uses A While Loop
- Use A Trace Table To Detect And Correct Errors In Programs
- Define A For Loop
- Walk Through Code That Uses A For Loop
- Modify A Program That Uses A For Loop
- Compare A While Loop And A For Loop
- Determine The Need For Validation Checks
- Use Iteration To Perform Validation Checks
- Describe The Purpose Of Pseudocode
- Translate Pseudocode Into A Program
- Design And Build A Program Using Pseudocode
Click to Expand Summer Content:
HTML and CSS
Programming
Introduction To HTML
Images And Links
Introduction To CSS
Divs And Classes
Layouts And The CSS Box Model
Project
- Describe The Purpose Of HTML And Tags When Designing A Website
- Create A Simple Webpage Using Basic Tags
- Identify The Common Features Of Existing Websites And The Basics Of What Makes Good Web Design
- Describe What Is Meant By The Term ‘accessibility’
- Extend An HTML Page To Include:
- Images `<`img`>`
- Hyperlinks `<`a href`>`
- Design And Create Pages For A Mini Website
- Create Hyperlinks Between Pages Stored Locally Within A Folder
- Insert Images Stored Locally Within A Folder
- Describe The Purpose Of CSS And Why It Is Needed In Addition To HTML
- Experiment With CSS By Changing The Style Of The Tags Learnt So Far In This Unit
- Describe The Purpose Of DIV Tags
- Apply Knowledge Of CSS To DIVS Within Webpages Using Classes
- Explain How To Plan A Website By Developing A House Style And Sketched Wireframe
- Describe The Box Model In CSS
- Apply Skills To Position Items Within A Page
- Construct A Three-page Website To Showcase The Skills Learnt Throughout This Unit Of Study
- Self/peer Evaluate The Produced Webpage Using A Rubric
- Extend/finish The Assessed Website
- Showcase The Assessed Website
- Demonstrate How Much Has Been Learnt By Taking An End Of Unit Test
GUIs
String Handling
Arrays And Lists
List Methods
Sense Hat
2D Arrays And Lists
- Define The Term GUI
- Import Third-party Libraries
- Use Guizero To Create An Event-driven Program That Uses A GUI
- Describe The Function Of String Operators
- Use String-handling Techniques
- Use For Loops With String Operations
- Use A Substring In A Program
- Use The In Operator To Check For A Substring
- Use chr() And ord() To Perform ASCII Conversions
- Create A Program That Uses String-handling Techniques
- Define A Data Structure
- Define A List And An Array
- Describe The Differences Between Lists And Arrays
- Use A List In A Program
- Append To A List
- Traverse A List Of Elements
- Use List Methods
- Create A Function That Returns A List
- Import Custom-built Functions
- Use Lists To Display Output On A Physical Computing Device
- Use Randomisation To Append Items To A List
- Define A 2D Array And A List
- Use A 2D List In A Program
- Use A 2D List As Part Of A Programming Challenge
Subject Overview:
Students in Year 9 have 3 Computer Science lessons each week.
In Year 9, 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.