CIE · IGCSE
Your journey to excellence inComputer Science
By Revision Genie
I want to study…
Start learning
Start with the first Computer Science lesson.
Why Computers Use Binary
1Why Computers Use BinaryRead next2The Denary Number SystemRead next3The Binary Number SystemRead next4The Hexadecimal Number SystemRead next5Converting Denary to BinaryRead next6Converting Denary to HexadecimalRead next7Converting Binary to HexadecimalRead next8Converting Hexadecimal to BinaryRead next9Benefits of Using HexadecimalRead next10Adding Two Binary NumbersRead next11Understanding Binary OverflowRead next12Logical Binary ShiftsRead next13Two's Complement RepresentationRead next14Representing Text with ASCIIRead next15Representing Text with UnicodeRead next16How Computers Represent SoundRead next17Sample Rate and Resolution EffectsRead next18How Computers Represent ImagesRead next19Image Resolution and Colour DepthRead next20Measuring Data Storage UnitsRead next21Calculating Image File SizeRead next22Calculating Sound File SizeRead next23Purpose of Data CompressionRead next24Lossless Compression MethodsRead next25Lossy Compression MethodsRead next
Understanding Data Packets
1Understanding Data PacketsRead next2Structure of a Data PacketRead next3Packet Switching ProcessRead next4Serial Data TransmissionRead next5Parallel Data TransmissionRead next6Simplex Transmission MethodRead next7Half-Duplex Transmission MethodRead next8Full-Duplex Transmission MethodRead next9Suitability of Transmission MethodsRead next10Universal Serial Bus (USB) InterfaceRead next11Advantages of USB InterfaceRead next12Error Detection in Data TransmissionRead next13Causes of Errors in TransmissionRead next14Parity Check MethodRead next15Checksum MethodRead next16Echo Check MethodRead next17Check Digit for Error DetectionRead next18Applications of Check DigitsRead next19Automatic Repeat Query (ARQ)Read next20Positive and Negative Acknowledgements in ARQRead next21Timeout in ARQ MechanismRead next22Purpose of Encryption in Data TransmissionRead next23Symmetric Encryption ProcessRead next24Asymmetric Encryption ProcessRead next25Public and Private Keys in EncryptionRead next
The Role of the CPU
1The Role of the CPURead next2What is a Microprocessor?Read next3Von Neumann Architecture ComponentsRead next4The Fetch-Decode-Execute CycleRead next5Cores, Cache, and Clock SpeedRead next6Instruction Sets in CPUsRead next7Embedded Systems OverviewRead next8Examples of Embedded SystemsRead next9Defining Input DevicesRead next10Examples of Input DevicesRead next11Defining Output DevicesRead next12Examples of Output DevicesRead next13What is a Sensor?Read next14Types of Sensors and Their DataRead next15Selecting Sensors for ContextsRead next16Primary Storage DefinitionRead next17RAM and ROM DifferencesRead next18Why Computers Need RAM and ROMRead next19Secondary Storage DefinitionRead next20Magnetic Storage OperationRead next21Optical Storage OperationRead next22Solid-State Storage OperationRead next23Virtual Memory: Creation and UseRead next24Why Virtual Memory is NecessaryRead next25Cloud Storage DefinitionRead next26Advantages of Cloud StorageRead next27Disadvantages of Cloud StorageRead next28Network Interface Cards (NICs)Read next29Media Access Control (MAC) Address StructureRead next30Purpose of MAC AddressesRead next31Internet Protocol (IP) Address TypesRead next32Purpose of IP AddressesRead next33IPv4 vs IPv6 CharacteristicsRead next34Role of Routers in NetworksRead next35How Routers Assign IP AddressesRead next36Connecting Local Networks to the InternetRead next
System Software vs Application Software
1System Software vs Application SoftwareRead next2Examples of System SoftwareRead next3Examples of Application SoftwareRead next4Roles of an Operating SystemRead next5Managing Files in an Operating SystemRead next6Handling Interrupts in an Operating SystemRead next7Providing an Interface in an Operating SystemRead next8Managing Peripherals and DriversRead next9Memory Management in an Operating SystemRead next10Multitasking in an Operating SystemRead next11System Security Features in an Operating SystemRead next12Managing User Accounts in an Operating SystemRead next13Hardware, Firmware, and Operating SystemsRead next14How Applications Run on Operating SystemsRead next15Interrupts: Definition and ExamplesRead next16Software Interrupts: Division by Zero ExampleRead next17Hardware Interrupts: Keyboard and Mouse ExampleRead next18Interrupt Service Routine (ISR) ProcessRead next19High-Level Programming LanguagesRead next20Low-Level Programming LanguagesRead next21Assembly Language and MnemonicsRead next22Assembler: Translating Assembly to Machine CodeRead next23Compilers: Operation and FeaturesRead next24Interpreters: Operation and FeaturesRead next25Advantages of Compilers vs InterpretersRead next26Disadvantages of Compilers vs InterpretersRead next27Integrated Development Environments (IDEs)Read next28Code Editors in IDEsRead next29Run-Time Environment in IDEsRead next30Translators in IDEsRead next31Error Diagnostics in IDEsRead next32Auto-Completion Features in IDEsRead next33Auto-Correction Features in IDEsRead next34Prettyprint in IDEsRead next
The Internet vs. World Wide Web
1The Internet vs. World Wide WebRead next2What is a URL?Read next3Components of a URLRead next4HTTP Protocol BasicsRead next5HTTPS Protocol BasicsRead next6How Web Browsers WorkRead next7Functions of Web BrowsersRead next8Bookmarks and Navigation ToolsRead next9Cookies: Definition and PurposeRead next10Session Cookies vs. Persistent CookiesRead next11How Web Pages Are RetrievedRead next12Role of DNS in Web BrowsingRead next13Role of IP Addresses in Web BrowsingRead next14Role of Web Servers in Web BrowsingRead next15HTML Rendering in BrowsersRead next16Introduction to Digital CurrencyRead next17Uses of Digital CurrencyRead next18What is Blockchain?Read next19Blockchain for Digital Currency TransactionsRead next
Defining Cyber Security
1Defining Cyber SecurityRead next2Brute Force AttackRead next3Data InterceptionRead next4Distributed Denial of Service (DDoS) AttackRead next5Hacking TechniquesRead next6Understanding MalwareRead next7Viruses in Cyber SecurityRead next8Worms and Their ImpactRead next9Trojan Horse MalwareRead next10Spyware ThreatsRead next11Adware CharacteristicsRead next12Ransomware ExplainedRead next13Pharming AttacksRead next14Phishing ScamsRead next15Social Engineering TacticsRead next16Access Levels for SecurityRead next17Anti-Malware SolutionsRead next18Anti-Virus Software UsageRead next19Anti-Spyware ToolsRead next20Authentication MethodsRead next21Username and Password SecurityRead next22Biometric AuthenticationRead next23Two-Step VerificationRead next24Automating Software UpdatesRead next25Identifying Suspicious CommunicationRead next26URL Checking for SecurityRead next27Firewalls and Their RoleRead next28Privacy Settings for ProtectionRead next29Proxy Servers in SecurityRead next30Secure Socket Layer (SSL) ProtocolRead next
Introduction to Automated Systems
1Introduction to Automated SystemsRead next2Sensors in Automated SystemsRead next3Microprocessors in Automated SystemsRead next4Actuators in Automated SystemsRead next5Collaborative Use of Sensors, Microprocessors, and ActuatorsRead next6Advantages of Automated SystemsRead next7Disadvantages of Automated SystemsRead next8Automated Systems in IndustryRead next9Automated Systems in TransportRead next10Automated Systems in AgricultureRead next11Automated Systems in Weather MonitoringRead next12Automated Systems in GamingRead next13Automated Systems in LightingRead next14Automated Systems in Science ApplicationsRead next15Introduction to RoboticsRead next16Characteristics of RobotsRead next17Mechanical Structure of RobotsRead next18Electrical Components in RobotsRead next19Programming RobotsRead next20Roles of Robots in IndustryRead next21Roles of Robots in TransportRead next22Roles of Robots in AgricultureRead next23Roles of Robots in MedicineRead next24Roles of Robots in Domestic ApplicationsRead next25Roles of Robots in EntertainmentRead next26Advantages of Using RobotsRead next27Disadvantages of Using RobotsRead next28Introduction to Artificial Intelligence (AI)Read next29Characteristics of Artificial IntelligenceRead next30Data Collection in AI SystemsRead next31Rules for Using Data in AI SystemsRead next32Reasoning in AI SystemsRead next33Learning and Adaptation in AI SystemsRead next34Expert Systems in AIRead next35Components of Expert SystemsRead next36Knowledge Base in Expert SystemsRead next37Rule Base in Expert SystemsRead next38Inference Engine in Expert SystemsRead next39Interfaces in Expert SystemsRead next40Introduction to Machine LearningRead next41Basic Operation of Machine LearningRead next42Automatic Adaptation in Machine LearningRead next43Simulating Intelligent Behavior with AIRead next
The Program Development Life Cycle
1The Program Development Life CycleRead next2Stages of Analysis in DevelopmentRead next3Abstraction in Problem AnalysisRead next4Decomposition of ProblemsRead next5Identifying Requirements in AnalysisRead next6Designing Solutions with FlowchartsRead next7Using Structure Diagrams in DesignRead next8Writing Pseudocode for SolutionsRead next9Coding Solutions from DesignsRead next10Iterative Testing During CodingRead next11Validation of Input DataRead next12Types of Validation ChecksRead next13Implementing Range ChecksRead next14Implementing Type ChecksRead next15Implementing Format ChecksRead next16Verification of Input DataRead next17Double Entry Verification ChecksRead next18Visual Verification ChecksRead next19Testing with Normal DataRead next20Testing with Extreme DataRead next21Testing with Abnormal DataRead next22Boundary Testing ExplainedRead next23Trace Tables for Dry-Running AlgorithmsRead next24Documenting Algorithm Steps in Trace TablesRead next25Finding Errors in AlgorithmsRead next26Correcting Errors in AlgorithmsRead next27Standard Methods of SolutionRead next28Linear Search AlgorithmRead next29Bubble Sort AlgorithmRead next30Totalling in AlgorithmsRead next31Counting in AlgorithmsRead next32Finding Maximum Values in AlgorithmsRead next33Finding Minimum Values in AlgorithmsRead next34Finding Average Values in AlgorithmsRead next35Writing Algorithms in PseudocodeRead next36Amending Pseudocode AlgorithmsRead next37Writing Algorithms Using FlowchartsRead next38Amending Flowchart AlgorithmsRead next39Common Algorithm Design TrapsRead next40Debugging Algorithms EffectivelyRead next41Examining Algorithm PurposeRead next42Using Subsystems in Problem DecompositionRead next43Designing Solutions Using SubsystemsRead next44Exam Scenario-Based Algorithm DesignRead next
Understanding Variables and Constants
1Understanding Variables and ConstantsRead next2Basic Data Types in ProgrammingRead next3Using Input and Output StatementsRead next4Concept of Sequence in ProgramsRead next5Selection with IF StatementsRead next6Selection with CASE StatementsRead next7Iteration with FOR LoopsRead next8Iteration with WHILE LoopsRead next9Iteration with REPEAT LoopsRead next10String Handling TechniquesRead next11Arithmetic Operators in ProgrammingRead next12Logical Operators in ProgrammingRead next13Boolean Operators in ProgrammingRead next14Using Nested StatementsRead next15Procedures: Definition and UseRead next16Functions: Definition and UseRead next17Parameters in Procedures and FunctionsRead next18Local vs Global VariablesRead next19Using Library RoutinesRead next20Creating Maintainable ProgramsRead next21Using Meaningful IdentifiersRead next22Commenting Syntax EffectivelyRead next23Declaring One-Dimensional ArraysRead next24Declaring Two-Dimensional ArraysRead next25Using Arrays for Data StorageRead next26Reading and Writing Array ValuesRead next27Purpose of File Handling in ProgramsRead next28Opening and Closing FilesRead next29Reading Data from FilesRead next30Writing Data to FilesRead next31Program Development Life Cycle OverviewRead next32Analysis Stage of Program DevelopmentRead next33Design Stage of Program DevelopmentRead next34Coding Stage of Program DevelopmentRead next35Testing Stage of Program DevelopmentRead next36Understanding Subsystems and DecompositionRead next37Designing Solutions with FlowchartsRead next38Designing Solutions with PseudocodeRead next39Designing Solutions with Structure DiagramsRead next40Standard Methods of SolutionRead next41Validation Checks on Input DataRead next42Verification Checks on Input DataRead next43Types of Test DataRead next44Using Trace Tables for Dry RunsRead next45Identifying Errors in AlgorithmsRead next46Correcting Errors in AlgorithmsRead next47Writing Algorithms in PseudocodeRead next48Writing Algorithms in Program CodeRead next49Writing Algorithms in FlowchartsRead next
What Is a Database?
1What Is a Database?Read next2Fields and Records ExplainedRead next3Single-Table Databases OverviewRead next4Database Design PrinciplesRead next5Choosing Database FieldsRead next6Data Types in DatabasesRead next7Text/Alphanumeric Data TypeRead next8Character Data TypeRead next9Boolean Data TypeRead next10Integer Data TypeRead next11Real Data TypeRead next12Date/Time Data TypeRead next13What Is a Primary Key?Read next14Selecting a Primary KeyRead next15Why Primary Keys Are ImportantRead next16Introduction to SQLRead next17SQL Syntax BasicsRead next18Using SELECT in SQL QueriesRead next19Using FROM in SQL QueriesRead next20Using WHERE in SQL QueriesRead next21Using ORDER BY in SQL QueriesRead next22Using SUM in SQL QueriesRead next23Using COUNT in SQL QueriesRead next24Combining SQL Clauses EffectivelyRead next25Reading SQL Query OutputsRead next26Completing SQL ScriptsRead next27SQL Querying Step-by-StepRead next28Common SQL Errors and FixesRead next29Validating Data in DatabasesRead next30Database Design Exam TipsRead next
Introduction to Boolean Logic
1Introduction to Boolean LogicRead next2Logic Gate SymbolsRead next3The NOT GateRead next4The AND GateRead next5The OR GateRead next6The NAND GateRead next7The NOR GateRead next8The XOR GateRead next9Functions of Logic GatesRead next10Binary Inputs and OutputsRead next11Creating Logic Circuits from StatementsRead next12Creating Logic Circuits from Truth TablesRead next13Creating Logic Circuits from ExpressionsRead next14Completing Truth Tables from StatementsRead next15Completing Truth Tables from ExpressionsRead next16Completing Truth Tables from Logic CircuitsRead next17Writing Logic Expressions from StatementsRead next18Writing Logic Expressions from CircuitsRead next19Writing Logic Expressions from Truth TablesRead next20Simplifying Logic ExpressionsRead next21Designing Logic Circuits with Multiple InputsRead next22Common Exam Traps in Logic CircuitsRead next23Using Logic Gates in Real-World ApplicationsRead next24Interpreting Complex Logic CircuitsRead next25Troubleshooting Logic CircuitsRead next26Key Differences Between Logic GatesRead next27Constructing Circuits with Up to Three InputsRead next28Truth Table for Three InputsRead next29Examining Binary Outputs in DepthRead next30Practical Uses of XOR GatesRead next31Understanding Gate LimitationsRead next32Binary Logic in Computational SystemsRead next33Exam Tips for Boolean Logic QuestionsRead next34Introduction to Logic Circuit DesignRead next35Step-by-Step Logic Circuit DesignRead next