Glossary
Algorithm Efficiency
A measure of how well an algorithm performs in terms of the resources it consumes, primarily time and memory, as the input size grows.
Example:
When choosing between two ways to sort data, you'd consider their algorithm efficiency to pick the faster or less memory-intensive one.
Algorithms
A precise, unambiguous, and finite step-by-step set of instructions designed to solve a specific problem or perform a computation.
Example:
A recipe for baking a cake is an algorithm because it provides clear, ordered steps to achieve a specific outcome.
Arguments
The actual values that are passed into a function or procedure when it is called, corresponding to its parameters.
Example:
When you call greet('Alice'), 'Alice' is the argument passed to the name parameter.
Bias in Algorithms
Systematic and repeatable errors in a computer system that create unfair outcomes, often reflecting biases present in the data used to train the algorithm or in its design.
Example:
If a hiring algorithm disproportionately favors male candidates because it was trained on historical data from a male-dominated industry, it exhibits bias in algorithms.
Big Data
Extremely large and complex datasets that cannot be easily processed or analyzed by traditional data processing applications, often revealing patterns and trends.
Example:
Analyzing millions of customer transactions to predict buying habits involves working with Big Data.
Binary
A base-2 number system that computers use to store and process data, using only two symbols: 0 and 1.
Example:
The letter 'A' might be represented in binary as 01000001.
Booleans
A data type that represents truth values, limited to either `True` or `False`.
Example:
A light switch can be either ON (True) or OFF (False), which is a Boolean state.
Cybersecurity
The practice of protecting computer systems, networks, and data from digital attacks, damage, or unauthorized access.
Example:
Using strong passwords and antivirus software are key practices in cybersecurity to protect your personal information.
DNS (Domain Name System)
A hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network, translating human-readable domain names into IP addresses.
Example:
When you type 'google.com' into your browser, DNS translates that name into Google's numerical IP address.
Data Abstraction
The process of hiding complex implementation details and exposing only the essential information or functionality to the user.
Example:
When you use a remote control, you're benefiting from data abstraction; you don't need to know the TV's internal electronics to change the channel.
Data Collection
The process of gathering and measuring information on targeted variables in an established systematic fashion, which then enables one to answer relevant questions and evaluate outcomes.
Example:
A fitness tracker performing data collection records your steps, heart rate, and sleep patterns.
Data Security
The practice of protecting digital information from unauthorized access, corruption, or theft throughout its entire lifecycle.
Example:
Implementing strong passwords and two-factor authentication are measures taken for data security.
Data Structures
Ways of organizing and storing data in a computer so that it can be accessed and modified efficiently.
Example:
A library's catalog, which organizes books by title, author, and genre, is a form of data structure.
Dictionaries
An unordered, mutable collection of data stored as key-value pairs, where each key is unique and maps to a specific value.
Example:
A phone book acts like a dictionary, mapping names (keys) to phone numbers (values).
Encryption
The process of converting information or data into a secret code to prevent unauthorized access, making it unreadable without the correct key.
Example:
When you send a secure message online, encryption scrambles the text so only the intended recipient can read it.
Floating-Point Numbers
Numbers that include a decimal point, representing real numbers with fractional parts.
Example:
A temperature reading of 98.6 degrees Fahrenheit is a floating-point number.
For Loops
A type of iteration that repeats a block of code a specific, predetermined number of times or for each item in a sequence.
Example:
A for loop can be used to print numbers from 1 to 10, executing the print command exactly ten times.
Functions
Reusable blocks of code designed to perform a specific task and typically return a value after execution.
Example:
A function named calculate_area might take width and height as inputs and return the computed area of a rectangle.
IP Addresses
Unique numerical labels assigned to each device connected to a computer network that uses the Internet Protocol for communication.
Example:
Your computer's IP address is like its street address on the internet, allowing data to be sent to the correct destination.
Indexing (Strings)
The process of accessing individual characters within a string by their position, starting from 0 for the first character.
Example:
In the word 'Python', using indexing to get the character at position 0 would return 'P'.
Integers
Whole numbers that can be positive, negative, or zero, without any fractional or decimal components.
Example:
The number of students in a class, like 25, is an integer.
Iteration (Loops)
A control structure that allows a block of code to be repeated multiple times, either a specific number of times or until a condition is met.
Example:
To print each item on a shopping list, you would use iteration to go through the list one by one.
Lists
An ordered, mutable collection of items, where each item can be of any data type.
Example:
A shopping list containing 'milk', 'eggs', and 'bread' is a list of items.
Malware
Malicious software, such as viruses, worms, and trojans, designed to disrupt computer operations, gather sensitive information, or gain unauthorized access to computer systems.
Example:
A computer infected with a virus is suffering from malware that can corrupt files or steal data.
Negative Impacts of Computing
Detrimental effects of computer technology on society, including issues like job displacement, social isolation, and algorithmic bias.
Example:
Excessive screen time leading to reduced face-to-face interaction is a negative impact of computing.
Parameters
Variables listed inside the parentheses in a function or procedure definition, acting as placeholders for values that will be passed in.
Example:
In def greet(name):, name is a parameter that expects a value when the function is called.
Phishing
A fraudulent attempt to obtain sensitive information, such as usernames, passwords, and credit card details, by disguising oneself as a trustworthy entity in an electronic communication.
Example:
An email pretending to be from your bank asking for your login credentials is a common example of phishing.
Positive Impacts of Computing
Beneficial effects of computer technology on society, such as improved communication, education, and healthcare.
Example:
The ability to learn new skills online through educational platforms is a positive impact of computing.
Privacy Concerns
Issues related to the collection, storage, use, and sharing of personal data, and the potential for misuse or unauthorized access.
Example:
Worrying about how a social media company uses your personal photos highlights privacy concerns.
Procedures
Reusable blocks of code that perform a specific task but do not return a value.
Example:
A procedure named display_greeting might simply print 'Welcome!' to the screen without needing to send back any data.
Routing
The process of selecting a path for traffic in a network or between multiple networks, determining how data packets travel across the internet.
Example:
When you send an email, routing ensures it takes the most efficient path through various servers to reach the recipient.
Searching Algorithms
Algorithms designed to find a specific item within a collection of data.
Example:
When you look up a word in a dictionary, you're performing a mental searching algorithm to locate it.
Selection (if/else)
A control structure that allows a program to choose which block of code to execute based on whether a given condition is true or false.
Example:
Using selection, a program can decide to display 'Good morning!' if it's before noon, else display 'Good afternoon!'.
Sequencing
The default flow of a program where code statements are executed in the order they appear, one after another.
Example:
A recipe follows sequencing: first mix ingredients, then bake, then cool.
Sorting Algorithms
Algorithms used to arrange elements of a list or array in a specific order, such as numerical or alphabetical.
Example:
Organizing a deck of cards from lowest to highest value involves a sorting algorithm.
Space Complexity
A measure of the amount of memory or storage space an algorithm requires to run to completion, relative to its input size.
Example:
If an algorithm needs to store a copy of all its input data, it has higher space complexity than one that processes data piece by piece.
String Concatenation
The operation of joining two or more strings together end-to-end to form a single, longer string.
Example:
If you have 'Web' and 'site', string concatenation would combine them into 'Website'.
String Slicing
Extracting a specific portion or substring from a larger string using start and end indices.
Example:
From the word 'Programming', you could use string slicing to get 'gram' by specifying the correct start and end positions.
Strings
An ordered sequence of characters, typically used to represent text.
Example:
Your name, 'Alice', is stored as a string of characters.
Time Complexity
A measure of how the runtime of an algorithm scales with the size of its input, often expressed using Big O notation.
Example:
An algorithm that takes longer to process more data has higher time complexity; for instance, doubling the data might quadruple the time.
Variables
Named storage locations in a computer's memory that hold values, which can be changed during program execution.
Example:
You might use a variable named score to keep track of a player's points in a game.
While Loops
A type of iteration that repeatedly executes a block of code as long as a specified condition remains true.
Example:
A while loop could keep asking a user for input 'until' they enter the correct password.