Big Idea 3 - Algorithms and Programming Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Algorithm

A

A step-by-step procedure or set of rules for solving a specific problem or accomplishing a task within a finite number of steps.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Application Program Interface (API)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Arguments

A

Values that are passed into a function when it is called. They allow us to provide input to the function and customize its behavior.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Binary Search

A

An efficient algorithm used to find a specific value in a sorted list by repeatedly dividing the search space in half.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Boolean value

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Data Abstraction

A

Refers to the process of simplifying complex real-world entities into manageable representations by focusing on their essential characteristics while hiding unnecessary details.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Efficiency

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Heuristic

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Index

A

A data structure that allows for efficient searching and retrieval of specific values within a larger collection of data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Linear/Sequential Search

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Lists

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

MOD operator

A

A mathematical operation that returns the remainder when one number is divided by another.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Modularity

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Nested Conditional Statements

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Problem Instance

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Procedural Abstraction

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Procedures

A

Reusable blocks of code that perform specific tasks when called. They help organize code into smaller sections for better readability and maintainability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Pseudocode

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Selection Statements

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Sequencing

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Simulation

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Software Library

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

String Concatenation

A

Refers to combining two or more strings together to create a new string.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Substring

A

A smaller portion of a larger string extracted based on its starting and ending positions within that string.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Traverse

A

Means to go through each element or item in a collection, such as an array or linked list, and perform some operation on each item.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Variables

A

Containers that hold values or data in a computer program. They can store different types of information such as numbers, text, or boolean values.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

While Loops

A

A type of control structure in programming that allows a set of instructions to be repeated as long as a certain condition is true.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Arrays

A

A data structure that stores a fixed-size sequence of elements of the same type. They allow for efficient storage and retrieval of multiple values using a single variable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Arrow Symbol

A

Also known as the assignment operator, is used in programming to assign a value to a variable. It indicates that the value on the right side of the arrow should be stored in the variable on the left side.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Booleans

A

Represent one of two possible values - True or False. They are often used for logical operations and decision-making in programming.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Complex Numbers

A

Mathematical entities that consist of both real and imaginary parts. They are often used in scientific and engineering calculations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Data Types

A

Refer to the different categories or classifications of data that can be stored and manipulated in a computer program. Each data type has specific characteristics and operations associated with it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Float

A

A data type in programming that represents decimal numbers. It can store both whole and fractional values.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

int

A

A data type that represents whole numbers without any decimal points. It includes both positive and negative numbers, as well as zero.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Quotation Marks

A

Punctuation marks used to indicate direct speech or quotations within a text. They enclose words or phrases spoken by someone else or taken from another source.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Variable

A

A named storage location in computer memory that holds a value which can change during program execution. It allows programmers to store and manipulate different types of data throughout their code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

List

A

A collection of elements that are ordered and can be accessed by their position. It is similar to a shopping list where items are listed in a specific order and can be referred to by their number.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Strings

A

In programming, these are sequences of characters enclosed in quotation marks. They are used to represent text and allow manipulation of words, sentences, or any other textual information within a program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Arithmetic Operators

A

Symbols used in programming languages to perform mathematical calculations such as addition, subtraction, multiplication, division, and modulus (remainder).

40
Q

Iteration

A

Refers to the repetition of a set of instructions until a specific condition is met. It allows programs to perform tasks repeatedly without having to write repetitive code.

41
Q

Modulo operator

A

Represented by the symbol %, is a mathematical operation that returns the remainder when one number is divided by another.

42
Q

Selection

A

Refers to the process of making a decision based on a condition or criteria. It allows the program to choose between different paths of execution.

43
Q

Concatenation

A

Refers to combining two or more strings together to create a new, longer string.

44
Q

Conditional Statements

A

Programming constructs that allow the execution of different blocks of code based on certain conditions. They enable programs to make decisions and perform different actions depending on whether a condition is true or false.

45
Q

else statements

A

Used in programming to specify a block of code that should be executed if the condition of an if statement is false.

46
Q

AND Operator

A

A logical operator that returns true only if both operands are true; otherwise, it returns false.

47
Q

for… in range loop

A

A type of loop that repeats a block of code for a specific number of times. It iterates over a sequence of numbers defined by the range function.

48
Q

Infinite Loops

A

Loops that continue to repeat indefinitely because the condition controlling the loop is always true or there is no condition at all.

49
Q

Iterative Statements

A

Also known as loops, are programming constructs that allow a set of instructions to be repeated multiple times based on a specified condition. They help automate repetitive tasks and make programs more efficient.

50
Q

OR Operator

A

A logical operator that returns true if at least one of its operands is true; otherwise, it returns false.

51
Q

REPEAT UNTIL (condition) loop

A

A type of loop that repeats a block of code until a certain condition becomes true. It checks the condition after executing the code block, ensuring that it runs at least once.

52
Q

while loop

A

A type of conditional looping structure that repeatedly executes a block of code as long as its specified condition remains true. It checks the condition before executing the code block.

53
Q

Algorithms

A

Step-by-step instructions or procedures used to solve a problem or complete a task. They provide a clear set of instructions that can be followed to achieve a specific goal.

54
Q

Compressing Data

A

Refers to reducing its size by encoding it in a more efficient way. It eliminates redundant or unnecessary information, resulting in smaller file sizes that take up less storage space and can be transmitted more quickly.

55
Q

Debugging Process

A

Refers to identifying and fixing errors or bugs in a software program. It involves analyzing the code, locating the source of the problem, and making necessary changes to resolve it.

56
Q

Development and Testing Times

A

Refer to the amount of time spent on creating and refining software applications. Development time includes activities like coding, designing, and implementing features, while testing time involves checking for errors or bugs before releasing the software.

57
Q

Route-finding Algorithm

A

An algorithm used to determine the best path or route between two points on a map. It calculates the most efficient way to reach the destination while considering factors like distance, time, and obstacles.

58
Q

Sorting a List

A

Refers to the process of arranging the elements in a list in a specific order, such as ascending or descending. It involves comparing and rearranging the elements based on their values.

59
Q

Append

A

Adding an element at the end of an existing data structure or sequence.

60
Q

For Loop

A

A control flow statement that allows you to repeatedly execute a block of code based on a specified number of iterations. It consists of an initialization, condition, and increment/decrement.

61
Q

Insert

A

Refers to adding an element into an existing data structure at a specific position.

62
Q

Len (function)

A

Used in programming languages to determine the length or size of a data structure, such as a string or list.

63
Q

Linear Search

A

A simple searching algorithm that checks each element in a list or array one by one until the target value is found or the end of the list is reached.

64
Q

Loop

A

A programming construct that allows for repeated execution of code until certain conditions are met. It helps automate repetitive tasks and saves time and effort.

65
Q

Partial Traversal

A

Refers to the process of visiting only a portion of the nodes in a data structure, such as a tree or graph. It involves exploring some nodes while skipping others.

66
Q

Range (Function)

A

Generates an ordered sequence of numbers within specified boundaries. It can be used in loops to iterate over a sequence of numbers or to create lists.

67
Q

Remove

A

Refers to the action of deleting or taking out an element from a data structure, such as a list or set.

68
Q

Binary Search Algorithm

A

An efficient searching algorithm that repeatedly divides a sorted list into halves, eliminating half of the remaining elements at each step, until it finds the target value or determines it does not exist.

69
Q

Linear Search Algorithm

A

A simple searching algorithm that sequentially checks each element in a list until it finds the target value or reaches the end of the list.

70
Q

Sequential Search

A

Also known as linear search, is a simple searching algorithm that checks each element in a list one by one until the desired element is found or the end of the list is reached.

71
Q

Sorted Data Set

A

Refers to a collection of data arranged in ascending or descending order based on some criteria, such as numerical values or alphabetical order.

72
Q

Parameters

A

Variables that are used to pass values into a function. They act as placeholders for the actual values that will be provided when the function is called.

73
Q

Return Statement

A

Used in a function to specify the value that should be returned when the function is called. It allows the function to send a value back to the code that called it.

74
Q

Importing

A

Refers to the process of bringing in external code or modules into a program. It allows access to functions, classes, and variables defined in other files.

75
Q

Software Libraries

A

Collections of pre-written code that provide a set of functions and procedures for developers to use in their own programs. They help simplify the development process by providing ready-made solutions for common tasks.

76
Q

module

A

A module refers to a file containing reusable code that can be imported into other programs. Modules help organize code by separating functionality into distinct files.

77
Q

random.randint

A

A function in Python that generates random integers within a specified range. It takes two arguments - the lowest possible value and the highest possible value - and returns a randomly chosen integer between them.

78
Q

Simulations

A

Computer programs or models that imitate real-world scenarios or processes. They allow users to observe and interact with virtual environments to gain insights, test hypotheses, or make predictions.

79
Q

Abstraction

A

The process of simplifying complex systems by focusing on the essential details and hiding unnecessary complexities.

80
Q

Random Number Generators

A

Algorithms used in computer programs to generate sequences of numbers that appear random but are generated based on specific rules.

81
Q

Approximate Solution

A

A solution that is not exact or precise, but rather an estimation or close enough answer to a problem. It provides a reasonable and practical result without the need for complete accuracy.

82
Q

Computational Resources

A

Refer to the hardware and software components necessary for performing computations or running programs.

83
Q

Decision Problem

A

A computational problem that requires a yes or no answer, such as determining whether a given number is prime.

84
Q

Exponential Efficiency

A

Refers to an algorithm or function whose running time grows exponentially with respect to its input size. In other words, as the input gets larger, this type of algorithm experiences rapid growth in its execution time.

85
Q

Factorial Efficiency

A

Refers to an algorithm or function whose running time grows factorially with respect to its input size. In other words, as the input gets larger, this type of algorithm experiences extremely rapid growth in its execution time.

86
Q

Input Size

A

Refers to the amount of data provided as input to an algorithm or program.

87
Q

Instance

A

An instance refers to each individual occurrence or example within a larger set or class.

88
Q

Optimization Problem

A

Involves finding the best solution among many possible solutions, often by maximizing or minimizing an objective function.

89
Q

Polynomial Efficiency

A

Refers to an algorithm or function that has a time complexity that can be represented by a polynomial equation. This means that the running time of the algorithm grows at a rate proportional to some power of the input size.

90
Q

Prime Number

A

Any positive integer greater than 1 that has no divisors other than 1 and itself.

91
Q

Shortest Path

A

The shortest path refers to the route with the minimum total distance between two points in a graph or network.

92
Q

Sorting

A

Refers to arranging elements in ascending or descending order based on certain criteria, such as numerical value or alphabetical order.

93
Q

Alan Turing

A

Was a British mathematician, logician, and computer scientist who is widely considered the father of theoretical computer science and artificial intelligence. He made significant contributions to the development of modern computing by creating the concept of a universal machine, known as the “Turing machine,” which laid the foundation for modern computers.

94
Q

Decidable Problem

A

A computational problem for which there exists an algorithm that can determine whether a given input has a specific property or satisfies a certain condition.

95
Q

Halting Problem

A

Refers to the question of whether an arbitrary program will halt (terminate) or run forever when executed on some input.

96
Q

Undecidable Problem

A

A computational problem for which no algorithm can determine whether a given input has a specific property or satisfies a certain condition.