Computing
81 articlesAlgorithms
17- Algorithm Complexityβ β β
Algorithm complexity measures how the running time or memory usage of an algorithm grows as the size of its input increases. Big-O notation is the standard way to express this.
- Space Complexityβ β β
Space complexity describes how much memory an algorithm needs relative to its input size. Alongside time complexity, it helps you evaluate whether an algorithm is practical for a given situation.
- Time Complexityβ β β
Time complexity describes how the running time of an algorithm grows as the input size increases. Using Big O notation, you can compare algorithms and predict which will perform better on large datasets.
- Drawing Flowchartsβ β
Drawing a flowchart means turning an algorithm into a clear visual diagram using the correct symbols, decision paths, and loop structures. A well-drawn flowchart communicates logic better than code alone.
- Flowchart Symbolsβ
Flowchart symbols are standardised shapes used to represent different types of steps in an algorithm. Learning the standard symbols lets you read and draw flowcharts clearly and consistently.
- Flowchartsβ
A flowchart is a visual diagram that uses standard shapes and arrows to represent the steps and decisions in an algorithm or process.
- Algorithms & Complexity FundamentalsNewβ
Study of problem-solving approaches, algorithm design, and computational complexity analysis.
- Pseudocode Structuresβ β
Pseudocode structures β sequence, selection, and iteration β are the three building blocks used to express any algorithm. Mastering them lets you plan solutions to complex problems clearly.
- Pseudocodeβ
Pseudocode is an informal, plain-English way of describing an algorithm's steps without worrying about the exact rules of any programming language.
- Writing Pseudocodeβ
Pseudocode is an informal way of describing an algorithm using plain language and programming-like structure. It lets you plan your logic before worrying about the syntax of a real programming language.
- Binary Searchβ β
Binary search finds a target value in a sorted list by repeatedly halving the search space. It is dramatically faster than linear search for large datasets.
- Linear Searchβ
Linear search checks each item in a list one by one until it finds the target or reaches the end. It is the simplest search algorithm and works on any list, sorted or unsorted.
- Searching Algorithmsβ β
Searching algorithms find a specific item within a collection of data. The two most fundamental approaches are linear search and binary search.
- Bubble Sortβ β
Bubble sort is a simple sorting algorithm that repeatedly swaps adjacent items that are in the wrong order. It is a great first algorithm to study because its logic is easy to follow step by step.
- Insertion Sortβ β β
Insertion sort builds a sorted list one item at a time by inserting each new item into its correct position among the already-sorted items. It works especially well on small or nearly-sorted lists.
- Selection Sortβ β
Selection sort finds the smallest item in the unsorted portion of a list and moves it into place, one item at a time. It is easy to understand and always makes the same number of comparisons.
- Sorting Algorithmsβ β
Sorting algorithms arrange a list of items into a defined order. Understanding how they work helps you choose the right one for a given task.
Data
19- Binary Additionβ β
Binary addition follows the same rules as normal addition, but only uses the digits 0 and 1.
- Binary Numbersβ β
Binary is a number system that uses only 0s and 1s. It is the language of computers because electronic circuits naturally represent two states: off and on.
- Bytes and Bitsβ
A bit is the smallest unit of data in computing, and 8 bits make one byte.
- Hexadecimalβ β
Hexadecimal is a base-16 number system that computer scientists use as a shorthand for binary.
- Compressionβ β
Compression reduces the size of files by encoding the data more efficiently. There are two main types: lossless compression, which preserves every bit of data, and lossy compression, which permanently removes some data to achieve smaller sizes.
- Lossless Compressionβ β
Lossless compression reduces file size without losing any data, allowing the original file to be perfectly reconstructed.
- Lossy Compressionβ β
Lossy compression reduces file size by permanently removing some data, achieving much smaller files at the cost of some quality.
- Run-Length Encodingβ β
Run-Length Encoding (RLE) is a simple lossless compression method that replaces consecutive repeated values with a count and a single value.
- ASCII and Character Encodingβ β
ASCII is a standard that assigns a unique number to each character so computers can store and share text.
- Data Representationβ β
All data in a computer is stored as binary, but different types of data β text, images, and sound β are encoded in very different ways.
- Pixels and Imagesβ β
Digital images are made up of tiny squares called pixels, each storing colour data as binary numbers.
- Caesar Cipherβ
The Caesar cipher is one of the oldest encryption methods, shifting each letter in a message by a fixed number of positions in the alphabet.
- Encryptionβ β
Encryption transforms readable data into an unreadable form so that only authorised parties can access it. It is the foundation of secure communication on the internet.
- HTTPS and Secure Webβ β
HTTPS uses encryption to protect data travelling between your browser and a website, keeping your passwords and personal information safe.
- Symmetric Encryptionβ β β
Symmetric encryption uses the same key to both encrypt and decrypt data, making it fast but requiring the key to be shared securely.
- File Typesβ
A file type (or file format) defines how data is organised and stored in a file. Different types are designed for different kinds of content, such as text, images, audio, and data tables.
- Image Formatsβ β
Different image file formats use different methods to store pixel data, balancing quality, file size, and transparency support.
- Text Filesβ
A text file stores data as plain characters using a character encoding like ASCII or UTF-8.
- Data & Representation FundamentalsNewβ
Study of how data is stored, represented, and processed in computers, including binary, compression, and encryption.
Glossary
6- Algorithmβ
An algorithm is a step-by-step set of instructions for solving a problem or completing a task.
- Bitβ
A bit is the smallest unit of data in computing, representing a single binary digit: either 0 or 1.
- Computing Quick ReferenceNewβ
Key definitions and terms across computing topics for quick lookup and concept reinforcement.
- Functionβ
A function is a named, reusable block of code that performs a specific task and can be called multiple times.
- Variableβ
A variable is a named storage location in a program that holds a value which can change during execution.
- Operating Systemβ
An operating system (OS) is system software that manages computer hardware, software resources, and provides services for programs.
Programming
21- Boolean Expressionsβ β
A Boolean expression is any expression that evaluates to either True or False. Understanding Boolean logic is essential for writing conditions and controlling program flow.
- Conditionalsβ
Conditionals allow a program to make decisions by running different blocks of code depending on whether a condition is true or false.
- If-Else Statementsβ
An if-else statement lets a program make decisions and follow different paths based on whether a condition is true or false. Decision-making is at the heart of every useful program.
- Logical Operatorsβ β
Logical operators (and, or, not) combine Boolean expressions to create more powerful conditions. They are essential for writing programs that can handle complex real-world rules.
- Data Typesβ
Every value in a program has a data type that determines what kind of information it holds and what operations can be performed on it.
- Lists and Arraysβ β
A list stores multiple values in a single variable in a specific order. Lists are one of the most powerful data structures in Python and appear in almost every real program.
- Stringsβ
Strings store and manipulate text in programs. Python has a rich set of string operations that make it easy to process names, messages, and any other text data.
- Type Conversionβ β
Type conversion changes a value from one data type to another. Python provides built-in functions to convert between integers, floats, strings, and Booleans.
- Built-in Functionsβ
Python comes with dozens of ready-made functions you can use immediately without writing any extra code. Knowing the most common ones saves time and makes your programs more readable.
- Functionsβ
Functions let you group a block of code under a name so you can reuse it anywhere in your program. They are the key to writing clean, organised, and maintainable code.
- Parameters and Argumentsβ β
Parameters let functions accept input values, making them reusable for different situations. Understanding the difference between parameters and arguments is key to writing flexible code.
- Return Valuesβ β
A return value is the result a function sends back to the code that called it. Return values let functions produce data that can be stored, printed, or used in further calculations.
- Programming FundamentalsNewβ
Introduction to programming concepts and structures including variables, functions, loops, and conditionals.
- For Loopsβ β
A for loop repeats a block of code a known number of times, or once for each item in a collection. It is the most common type of loop in Python.
- Loopsβ
Loops let a program repeat a block of code multiple times without writing it out over and over. They are one of the most powerful tools in programming.
- Nested Loopsβ β β
A nested loop is a loop placed inside another loop. They are used to work with grids, tables, and any situation that requires repeating a repetition.
- While Loopsβ β
A while loop repeats a block of code for as long as a condition remains true. It is perfect when you do not know in advance how many times you need to repeat.
- Assignment and Expressionsβ
Assignment stores a value in a variable. Expressions calculate new values using operators. Together they are the engine behind almost every program.
- Constantsβ
A constant is a named value that never changes while a program is running. Using constants makes code easier to read, maintain, and debug.
- Variable Scopeβ β
Scope determines which parts of a program can see and use a variable. Understanding scope prevents confusing bugs and helps you write cleaner code.
- Variablesβ
A variable is a named container that stores data in a program. Understanding variables is the first step to writing meaningful code.
Systems
18- The CPUβ
The CPU (Central Processing Unit) is the main chip in a computer that carries out instructions and performs calculations.
- Hardwareβ
Hardware refers to the physical components that make up a computer system. Understanding the main components and their roles is essential for studying how computers work.
- RAM and Memoryβ
RAM is the computer's short-term working memory, storing programs and data that are currently being used.
- Storage Devicesβ
Storage devices permanently save programs and data even when the computer is switched off.
- Computer Systems FundamentalsNewβ
Study of computer hardware, networking, operating systems, and security principles.
- How the Internet Worksβ β
The internet is a global network of computers that communicate using agreed protocols to share data and services.
- IP Addressesβ β
An IP address is a unique numerical label assigned to every device on a network, allowing data to be sent to the right destination.
- Networkingβ β
A computer network connects devices so they can communicate and share resources. Understanding networks is essential for grasping how the internet, cloud services, and everyday communication work.
- Data Packetsβ β
Data packets are small chunks that large messages are broken into for transmission across a network, then reassembled at the destination.
- File Managementβ
File management is how an operating system organises, stores, names, and provides access to files on a storage device.
- Multitaskingβ β
Multitasking allows an operating system to run multiple programs at the same time by rapidly switching the CPU between them.
- Operating Systemsβ β
An operating system is the core software that manages a computer's hardware and provides services for all other programs. Without it, no other software could run.
- Malware and Virusesβ β
Malware is malicious software designed to damage, disrupt, or gain unauthorised access to computer systems.
- Strong Passwordsβ
A strong password is one of the most effective ways to protect your online accounts from unauthorised access.
- Cybersecurityβ β
Cybersecurity is the practice of protecting computer systems, networks, and data from unauthorised access, damage, or attack. Understanding common threats and defences is essential for every digital citizen.
- Application Softwareβ
Application software consists of programs designed to help users perform specific tasks, such as word processing, browsing, or gaming.
- Softwareβ
Software is the set of instructions that tells a computer what to do. It is divided into system software, which manages the hardware, and application software, which serves the user's needs.
- System Softwareβ
System software manages the hardware and provides a platform for application software to run.