Glossary

A

Algorithms

Criticality: 3

A finite set of well-defined, step-by-step instructions for accomplishing a task or solving a problem.

Example:

A recipe for baking a cake is an algorithm, providing precise steps to achieve the desired outcome.

D

DNS (Domain Name System)

Criticality: 3

A hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network, translating domain names into IP addresses.

Example:

When you type 'amazon.com' into your browser, DNS translates that name into an IP address so your computer knows where to find the Amazon server.

Data Abstraction

Criticality: 3

The process of simplifying complex data by hiding unnecessary details and exposing only the essential features or functionalities to the user.

Example:

When you use a remote control to change the TV channel, you are using data abstraction because you don't need to know the complex electronic signals being sent, just which button to press.

Debugging Techniques

Criticality: 2

Systematic methods used to find and fix errors (bugs) in computer programs.

Example:

Adding print() statements at various points in your code to see the value of variables is a common debugging technique to trace program execution.

Dictionaries/Maps

Criticality: 3

Unordered collections of data that store items as key-value pairs, allowing data to be retrieved using unique keys rather than numerical indices.

Example:

A phonebook entry like {'name': 'John Doe', 'phone': '555-1234'} is a dictionary where 'name' and 'phone' are keys.

E

Efficiency

Criticality: 3

A measure of how well an algorithm performs in terms of the computational resources it consumes, primarily time (time complexity) and memory (space complexity).

Example:

When choosing between two ways to solve a problem, you might pick the one with better efficiency because it runs faster or uses less memory.

Encryption

Criticality: 3

The process of converting information or data into a code to prevent unauthorized access, making it unreadable without the correct decryption key.

Example:

Your online banking uses encryption to scramble your password and account details so that even if intercepted, they appear as gibberish to unauthorized parties.

Ethical Considerations (of Computing)

Criticality: 2

Moral principles and issues that arise from the development and use of computing technology, including fairness, privacy, and accountability.

Example:

Debates about whether facial recognition technology should be used by law enforcement due to potential for surveillance and bias involve significant ethical considerations.

F

Firewalls

Criticality: 2

A network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules, acting as a barrier between a trusted and untrusted network.

Example:

A school's network might use a firewall to block access to certain websites or prevent malicious software from entering its system.

Functions

Criticality: 3

Named, reusable blocks of code designed to perform a specific task, which can accept input parameters and optionally return a value.

Example:

A function named calculate_area might take length and width as inputs and return the calculated area of a rectangle.

H

HTTP/HTTPS

Criticality: 2

HTTP (Hypertext Transfer Protocol) is for transferring web pages, while HTTPS (HTTP Secure) is its encrypted version, ensuring secure communication over a computer network.

Example:

When you see 'https://' in a website's address bar, it means the site is using HTTPS to encrypt your connection, like when you log into your bank account.

I

IP Addresses

Criticality: 3

A unique numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication.

Example:

Your phone might have an IP address like 192.168.1.105, allowing other devices on the network to send data to it.

Internet

Criticality: 3

A global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices.

Example:

When you browse a website, your computer is connecting to the Internet to retrieve the page from a server.

Iteration (loops)

Criticality: 3

A control structure that allows a block of code to be executed repeatedly, either a fixed number of times or until a certain condition is met.

Example:

A program that prints 'Hello!' ten times uses iteration to repeat the print command.

L

Linear Time (O(n))

Criticality: 3

An algorithm's time complexity where the execution time grows proportionally to the size of the input data.

Example:

If it takes 1 second to process 10 items, it will take 10 seconds to process 100 items in linear time.

Lists/Arrays

Criticality: 3

Ordered collections of items, where each item can be accessed by its numerical index.

Example:

A shopping list like ['milk', 'eggs', 'bread'] is a list where each item has a specific position.

Logarithmic Time (O(log n))

Criticality: 3

An algorithm's time complexity where the execution time grows very slowly as the input size increases, typically by repeatedly halving the problem size.

Example:

Finding a word in a dictionary by repeatedly opening to the middle and eliminating half the pages is an example of an operation that takes logarithmic time.

Logic Errors

Criticality: 2

Errors that occur when the program runs but produces an incorrect or unexpected output because of a flaw in the algorithm or reasoning, rather than a grammatical mistake.

Example:

A program designed to calculate average temperature might have a logic error if it accidentally divides by the number of days minus one instead of the total number of days.

M

Malware

Criticality: 2

Malicious software designed to disrupt, damage, or gain unauthorized access to a computer system, including viruses, worms, and ransomware.

Example:

Clicking on a suspicious link could download malware that secretly logs your keystrokes or encrypts your files for ransom.

Modularity

Criticality: 2

The practice of dividing a computer program into separate, independent, and interchangeable components, often functions or modules, to simplify development and maintenance.

Example:

Building a complex robot by designing separate components for movement, sensing, and speaking, rather than one giant piece, demonstrates modularity.

N

Negative Impacts (of Computing)

Criticality: 2

Detrimental effects of computing technology on individuals, society, and various fields.

Example:

The rise of automated factories leading to fewer manufacturing jobs is an example of a negative impact of computing, specifically job displacement.

Nested Conditionals

Criticality: 2

A programming construct where one conditional statement (like an `if` or `else if`) is placed inside another conditional statement, allowing for more complex decision-making.

Example:

An online store might use nested conditionals to first check if an item is in stock, and then if the customer has enough credit to purchase it.

P

Packets

Criticality: 2

Small units of data that are transmitted across a network, containing a portion of the data along with addressing and control information.

Example:

When you send a text message, it's broken into tiny packets that travel separately and reassemble at the recipient's phone.

Phishing

Criticality: 2

A type of cyberattack where attackers attempt to trick individuals into revealing sensitive information, often through deceptive emails or fake websites that mimic legitimate entities.

Example:

An email pretending to be from your bank asking you to 'verify your account details' by clicking a link is a common example of phishing.

Positive Impacts (of Computing)

Criticality: 2

Beneficial effects of computing technology on individuals, society, and various fields.

Example:

The ability to instantly video call family members across the globe is a significant positive impact of computing on communication.

Primitive Types

Criticality: 2

Basic data types that represent single, fundamental values, such as whole numbers (integers), decimal numbers (floats), true/false values (booleans), and single letters (characters).

Example:

In a game, a player's score might be an integer, their health a float, whether they are alive a boolean, and their initial a character.

Procedures

Criticality: 1

A named block of code that performs a specific task, similar to a function, but typically does not return a value.

Example:

A procedure named display_message might simply print a message to the screen without needing to return any data.

Q

Quadratic Time (O(n^2))

Criticality: 3

An algorithm's time complexity where the execution time grows proportionally to the square of the input data size.

Example:

If an algorithm takes 1 second for 10 items, it might take 100 seconds for 100 items if it runs in quadratic time.

R

Routers

Criticality: 2

Networking devices that forward data packets between computer networks, directing traffic based on IP addresses.

Example:

When you send an email, a router helps guide the data packets from your computer through various networks until they reach the recipient's mail server.

S

SMTP/POP3/IMAP

Criticality: 1

Protocols used for email communication: SMTP (Simple Mail Transfer Protocol) sends emails, while POP3 (Post Office Protocol 3) and IMAP (Internet Message Access Protocol) retrieve them.

Example:

When you click 'send' on an email, SMTP is the protocol that handles getting it from your outbox to the recipient's server.

Searching Algorithms

Criticality: 3

Algorithms designed to find a specific item within a collection of items.

Example:

Looking for a specific book in a library by checking every single shelf is like a linear search, while using the library's sorted catalog and going directly to the correct section is like a binary search.

Selection (if/else)

Criticality: 3

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:

An app that displays 'Good morning!' if the time is before noon, and 'Good afternoon!' otherwise, uses selection.

Sequence

Criticality: 2

A control structure where program instructions are executed one after another in the order they are written.

Example:

A program that first asks for your name, then your age, and then prints a greeting, follows a sequence of steps.

Sorting Algorithms

Criticality: 2

Algorithms that arrange elements of a list in a specific order, such as numerical or alphabetical.

Example:

Arranging a deck of shuffled playing cards from lowest to highest value is a task that could be done using a sorting algorithm.

Strings

Criticality: 2

A sequence of characters, typically used to represent text, enclosed in quotation marks.

Example:

Your name, 'Alice Smith,' is stored as a string in a database.

Syntax Errors

Criticality: 2

Errors that occur when the rules of the programming language's grammar are violated, preventing the code from being compiled or interpreted.

Example:

Forgetting a semicolon at the end of a line in some languages, or misspelling a keyword like prnt instead of print, would cause a syntax error.

T

TCP/IP

Criticality: 3

A suite of communication protocols used to interconnect network devices on the internet, where TCP manages reliable data transmission and IP handles addressing and routing.

Example:

When you download a file, TCP/IP ensures that all parts of the file arrive correctly and in the right order, even if some packets take different routes.