Big Idea 3 - Algorithms and Programming Flashcards
Algorithm
A step-by-step procedure or set of rules for solving a specific problem or accomplishing a task within a finite number of steps.
Application Program Interface (API)
A set of rules and protocols that allow different software applications to communicate with each other. It specifies how certain tasks can be performed, what data formats are accepted, and what responses are expected.
Arguments
Values that are passed into a function when it is called. They allow us to provide input to the function and customize its behavior.
Binary Search
An efficient algorithm used to find a specific value in a sorted list by repeatedly dividing the search space in half.
Boolean value
A data type that can only have two possible values - true or false. It is often used in programming to make decisions and control the flow of a program.
Data Abstraction
Refers to the process of simplifying complex real-world entities into manageable representations by focusing on their essential characteristics while hiding unnecessary details.
Efficiency
Refers to how well a program or algorithm utilizes resources, such as time and memory. It measures the ability of a program to accomplish its task with minimal wasted resources.
Heuristic
A problem-solving approach or algorithm that uses practical rules or guidelines to find a solution, even if it may not be the most optimal or guaranteed to be correct.
Index
A data structure that allows for efficient searching and retrieval of specific values within a larger collection of data.
Linear/Sequential Search
An algorithm used to find the position/index of an element within an unordered list by checking each element one by one until the desired element is found or all elements have been checked.
Lists
Ordered collections of items in computer programming. They allow you to store multiple values under one variable name and access them using their position or index.
MOD operator
A mathematical operation that returns the remainder when one number is divided by another.
Modularity
An approach where complex systems are divided into smaller modules or components that can be developed independently but work together as part of the larger system.
Nested Conditional Statements
Refer to the practice of placing one conditional statement inside another. This allows for more complex decision-making in a program by evaluating multiple conditions.
Problem Instance
Refers to a specific example or input of a problem that needs to be solved. It includes all the necessary information and data required to find a solution.
Procedural Abstraction
Refers to breaking down complex tasks into smaller, more manageable procedures or functions. It helps in organizing code and making it easier to understand and maintain.
Procedures
Reusable blocks of code that perform specific tasks when called. They help organize code into smaller sections for better readability and maintainability.
Pseudocode
A simplified programming language that uses plain English to outline the logic of a program. It helps programmers plan and organize their code before writing it in an actual programming language.
Selection Statements
Used in programming to make decisions based on certain conditions. They allow the program to choose between different paths of execution depending on whether a condition is true or false.
Sequencing
Refers to the order in which code statements are executed. It determines the flow of a program, with each statement being executed one after another.
Simulation
Refers to the process of creating a model or representation of a real-world system or phenomenon on a computer. It allows users to observe and analyze the behavior of the system under different conditions without actually interacting with the real thing.
Software Library
A collection of pre-written code and resources that can be used by developers to add specific functionality to their own programs. It provides reusable components and functions that save time and effort in coding.
String Concatenation
Refers to combining two or more strings together to create a new string.
Substring
A smaller portion of a larger string extracted based on its starting and ending positions within that string.