2.5.1
High-Level vs Low-Level Languages
High-Level Languages
High-Level Languages
Most computer languages are written in high-level programming languages.


High-Level Languages
High-Level Languages
- High-level languages (HLLs) include most programming languages such as Python, C++ and Java.
- High-level languages are made of human-readable statements that make it easier for us to program.
- High-level languages are portable, which means that they can be run on many different types of hardware.


What does a HLL look like?
What does a HLL look like?
- Commands in a high-level language look very like English. For example:
- print()
- SELECT * FROM users;


Why don't we always use HLLs?
Why don't we always use HLLs?
- Computers can only process instructions in the form of binary numbers.
- We use special software called a translator to convert our HLL source code into an executable binary file.


Advantages
Advantages
- HLLs are quicker to create software because one line of code can perform multiple actions on the CPU.
- A programmer does not have to think about how a program interacts with hardware. They can focus on creative problem-solving.
Low-Level Languages
Low-Level Languages
Low-level programming languages are languages which are much closer to computer-understandable binary.


Low-Level Languages
Low-Level Languages
- Low-level languages (LLLs) are much closer to executable machine code than high-level languages.
- LLLs are harder to read by humans, but are easier to read for the computer.


What does a LLL look like?
What does a LLL look like?
- LLL commands are not easy to read, and might include commands such as:
- MOV ax, bx
- CMP ch, dh
- CLI


Why do we use LLLs?
Why do we use LLLs?
- LLLs provide exact control over the central processing unit.
- LLLs need less translation, and often lead to faster code which is useful for computers with low specifications such as embedded systems.


Comparison
Comparison
- How would you write a simple addition program using values stored in two variables?
- High-level language
num1 = 17
num2 = 4
print(num1+num2) - Low-level language (Little Man Code)
INP // Input first number
STA A // Store it in mailbox A
INP // Input second number
ADD A // Add the stored first number to the second
OUT // Output the sum
HLT // Stop
A DAT
1Computer Systems
1.1Systems Architecture
1.2Memory & Storage
1.2.1Types of Memory
1.2.2Flash Memory
1.2.3Properties of Flash Memory
1.2.4Running Out of Memory
1.2.5Virtual Memory
1.2.6Units of Capacity
1.2.7Calculating Capacity Requirements
1.2.8Solid State Storage
1.2.9Properties of Solid State Media
1.2.10Magnetic Storage
1.2.11Properties of Magnetic Media
1.2.12Examples of Magnetic Storage
1.2.13Optical Storage
1.2.14Properties of Optical Media
1.2.15Examples of Optical Storage
1.2.16Types of Optical Disk
1.2.17Number Bases
1.2.18Converting Number Bases
1.2.19Hexadecimal
1.2.20Using Hexadecimal
1.2.21Converting Denary & Hexadecimal
1.2.22Binary Addition
1.2.23Binary Shifts
1.2.24Representing Text
1.2.25ASCII & Unicode
1.2.26Representing Images
1.2.27Converting Binary & Images
1.2.28Representing Sound
1.2.29Data Compression
1.2.30Grade 9 - Storage
1.2.31Exam-Style Questions - Primary Memory
1.2.32Exam-Style Questions - Storage
1.2.33Exam-Style Questions - Data Conversions
1.2.34Diagnostic Misconceptions - RAM vs ROM
1.2.35Diagnostic Misconceptions - Bits, Nibbles & Bytes
1.2.36Diagnostic Misconceptions - Bits Required to Store
1.2.37End of Topic Test - Computer Systems
1.2.38End of Topic Test - Representation
1.3Computer Networks, Connections & Protocols
1.3.1Benefit of Networks
1.3.2Types of Networks
1.3.3Network Performance
1.3.4Networks: How Do Packets Get Routed?
1.3.5Client-Server Model
1.3.6Pros & Cons of Client-Server Model
1.3.7Peer-to-Peer Model
1.3.8Pros & Cons of Peer-to-Peer Model
1.3.9Network Hardware
1.3.10Transmission Media
1.3.11What is the Internet?
1.3.12URLs
1.3.13DNS & Web Hosting
1.3.14The Cloud
1.3.15Pros & Cons of the Cloud
1.3.16Star & Mesh Network Topologies
1.3.17WiFi
1.3.18WiFi Frequency & Channels
1.3.19WiFi Encryption
1.3.20IP Addresses
1.3.21MAC Addresses
1.3.22Network Protocols
1.3.23Transmission Protocols
1.3.24Application Protocols
1.3.25Layers
1.3.26Advantages of Layering
1.3.27Exam-Style Questions - Networking Models
1.3.28Exam-Style Questions - Network Protocols
1.3.29Diagnostic Misconceptions - LAN vs WAN
1.4Network Security
1.4.1Forms of Attack
1.4.2Penetration Testing
1.4.3Malware
1.4.4How Malware Spreads
1.4.5Social Engineering
1.4.6Phishing
1.4.7Cracking Passwords
1.4.8Denial of Service Attacks
1.4.9Data Interception
1.4.10Methods of Data Interception
1.4.11SQL Injection
1.4.12Network Administration
1.4.13Network Forensics
1.4.14Protecting Against Malware
1.4.15Firewalls
1.4.16User Access Levels
1.4.17Passwords
1.4.18Encryption
1.4.19End of Topic Test - Networks
1.5Systems Software
1.6Ethical, Legal, Cultural & Environmental Concern
1.6.1Open Source Software
1.6.2Proprietary Software
1.6.3Licensing Issues
1.6.4Ethical Issues - The Digital Divide
1.6.5Ethical Issues - Net Neutrality
1.6.6Ethical Issues - Working Conditions
1.6.7Ethical Issues - Censorship
1.6.8Exam-Style Questions - Ethical Issues
1.6.9Data Protection Act 1998
1.6.10Computer Misuse Act (1990)
1.6.11Copyright Designs & Patents Act (1988)
1.6.12Creative Commons Licensing
1.6.13Freedom of Information Act (2000)
1.6.14Cultural Issues
1.6.15Environmental Issues
1.6.16Online Activity Tracking & The Internet of Things
1.6.17Stakeholders
1.6.18Other Impacts of Digital Technology on Society
1.6.19End of Topic Test - Software & Issues
1.6.20Diagnostic Misconceptions - Open Source
2Computational Thinking, Algorithms & Programming
2.1Algorithms
2.1.1Computational Thinking - Abstraction
2.1.2Computational Thinking - Decomposition
2.1.3Algorithmic Thinking
2.1.4Pseudocode
2.1.5Flowchart Diagrams
2.1.6Interpreting Algorithms
2.1.7Correcting Algorithms
2.1.8Completing Algorithms
2.1.9Search Algorithms
2.1.10Binary Search
2.1.11Linear Search
2.1.12Overview of Sort Algorithms
2.1.13Bubble Sort
2.1.14Merge Sort
2.1.15Insertion Sort
2.1.16Exam-Style Questions - Sorting Algorithms
2.2Programming Fundamentals
2.2.1Variable Declaration & Assignment
2.2.2Input & Output
2.2.3Program Flow - Sequence
2.2.4Program Flow - Selection
2.2.5Program Flow - Iteration
2.2.6Arithmetic Operators
2.2.7Relational Operators
2.2.8Boolean Operators
2.2.9Data Types
2.2.10Casting
2.2.11Arrays
2.2.12Strings
2.2.13File Handling
2.2.14Structuring Data - Records
2.2.15Structured Query Language
2.2.16Random Number Generation
2.2.17End of Topic Test - Programming
2.2.18Exam-Style Questions - Translation
2.2.19Diagnostic Misconceptions - Comparison Operators
2.2.20Diagnostic Misconceptions - = & ==
2.2.21Diagnostic Misconceptions - Types of Data
2.2.22Diagnostic Misconceptions - Last Line of Code
2.2.23Diagnostic Misconceptions - Array Index
2.3Producing Robust Programs
2.4Boolean Logic
Jump to other topics
1Computer Systems
1.1Systems Architecture
1.2Memory & Storage
1.2.1Types of Memory
1.2.2Flash Memory
1.2.3Properties of Flash Memory
1.2.4Running Out of Memory
1.2.5Virtual Memory
1.2.6Units of Capacity
1.2.7Calculating Capacity Requirements
1.2.8Solid State Storage
1.2.9Properties of Solid State Media
1.2.10Magnetic Storage
1.2.11Properties of Magnetic Media
1.2.12Examples of Magnetic Storage
1.2.13Optical Storage
1.2.14Properties of Optical Media
1.2.15Examples of Optical Storage
1.2.16Types of Optical Disk
1.2.17Number Bases
1.2.18Converting Number Bases
1.2.19Hexadecimal
1.2.20Using Hexadecimal
1.2.21Converting Denary & Hexadecimal
1.2.22Binary Addition
1.2.23Binary Shifts
1.2.24Representing Text
1.2.25ASCII & Unicode
1.2.26Representing Images
1.2.27Converting Binary & Images
1.2.28Representing Sound
1.2.29Data Compression
1.2.30Grade 9 - Storage
1.2.31Exam-Style Questions - Primary Memory
1.2.32Exam-Style Questions - Storage
1.2.33Exam-Style Questions - Data Conversions
1.2.34Diagnostic Misconceptions - RAM vs ROM
1.2.35Diagnostic Misconceptions - Bits, Nibbles & Bytes
1.2.36Diagnostic Misconceptions - Bits Required to Store
1.2.37End of Topic Test - Computer Systems
1.2.38End of Topic Test - Representation
1.3Computer Networks, Connections & Protocols
1.3.1Benefit of Networks
1.3.2Types of Networks
1.3.3Network Performance
1.3.4Networks: How Do Packets Get Routed?
1.3.5Client-Server Model
1.3.6Pros & Cons of Client-Server Model
1.3.7Peer-to-Peer Model
1.3.8Pros & Cons of Peer-to-Peer Model
1.3.9Network Hardware
1.3.10Transmission Media
1.3.11What is the Internet?
1.3.12URLs
1.3.13DNS & Web Hosting
1.3.14The Cloud
1.3.15Pros & Cons of the Cloud
1.3.16Star & Mesh Network Topologies
1.3.17WiFi
1.3.18WiFi Frequency & Channels
1.3.19WiFi Encryption
1.3.20IP Addresses
1.3.21MAC Addresses
1.3.22Network Protocols
1.3.23Transmission Protocols
1.3.24Application Protocols
1.3.25Layers
1.3.26Advantages of Layering
1.3.27Exam-Style Questions - Networking Models
1.3.28Exam-Style Questions - Network Protocols
1.3.29Diagnostic Misconceptions - LAN vs WAN
1.4Network Security
1.4.1Forms of Attack
1.4.2Penetration Testing
1.4.3Malware
1.4.4How Malware Spreads
1.4.5Social Engineering
1.4.6Phishing
1.4.7Cracking Passwords
1.4.8Denial of Service Attacks
1.4.9Data Interception
1.4.10Methods of Data Interception
1.4.11SQL Injection
1.4.12Network Administration
1.4.13Network Forensics
1.4.14Protecting Against Malware
1.4.15Firewalls
1.4.16User Access Levels
1.4.17Passwords
1.4.18Encryption
1.4.19End of Topic Test - Networks
1.5Systems Software
1.6Ethical, Legal, Cultural & Environmental Concern
1.6.1Open Source Software
1.6.2Proprietary Software
1.6.3Licensing Issues
1.6.4Ethical Issues - The Digital Divide
1.6.5Ethical Issues - Net Neutrality
1.6.6Ethical Issues - Working Conditions
1.6.7Ethical Issues - Censorship
1.6.8Exam-Style Questions - Ethical Issues
1.6.9Data Protection Act 1998
1.6.10Computer Misuse Act (1990)
1.6.11Copyright Designs & Patents Act (1988)
1.6.12Creative Commons Licensing
1.6.13Freedom of Information Act (2000)
1.6.14Cultural Issues
1.6.15Environmental Issues
1.6.16Online Activity Tracking & The Internet of Things
1.6.17Stakeholders
1.6.18Other Impacts of Digital Technology on Society
1.6.19End of Topic Test - Software & Issues
1.6.20Diagnostic Misconceptions - Open Source
2Computational Thinking, Algorithms & Programming
2.1Algorithms
2.1.1Computational Thinking - Abstraction
2.1.2Computational Thinking - Decomposition
2.1.3Algorithmic Thinking
2.1.4Pseudocode
2.1.5Flowchart Diagrams
2.1.6Interpreting Algorithms
2.1.7Correcting Algorithms
2.1.8Completing Algorithms
2.1.9Search Algorithms
2.1.10Binary Search
2.1.11Linear Search
2.1.12Overview of Sort Algorithms
2.1.13Bubble Sort
2.1.14Merge Sort
2.1.15Insertion Sort
2.1.16Exam-Style Questions - Sorting Algorithms
2.2Programming Fundamentals
2.2.1Variable Declaration & Assignment
2.2.2Input & Output
2.2.3Program Flow - Sequence
2.2.4Program Flow - Selection
2.2.5Program Flow - Iteration
2.2.6Arithmetic Operators
2.2.7Relational Operators
2.2.8Boolean Operators
2.2.9Data Types
2.2.10Casting
2.2.11Arrays
2.2.12Strings
2.2.13File Handling
2.2.14Structuring Data - Records
2.2.15Structured Query Language
2.2.16Random Number Generation
2.2.17End of Topic Test - Programming
2.2.18Exam-Style Questions - Translation
2.2.19Diagnostic Misconceptions - Comparison Operators
2.2.20Diagnostic Misconceptions - = & ==
2.2.21Diagnostic Misconceptions - Types of Data
2.2.22Diagnostic Misconceptions - Last Line of Code
2.2.23Diagnostic Misconceptions - Array Index
2.3Producing Robust Programs
2.4Boolean Logic
Unlock your full potential with Seneca Premium
Unlimited access to 10,000+ open-ended exam questions
Mini-mock exams based on your study history
Unlock 800+ premium courses & e-books