how company's use your data
The process of hiding the implementation details of a class from the user
The systematic and repeatable errors in a computer system that create unfair outcomes
An incident where sensitive or confidential data is accessed without authorization
A collection of related data used for analysis
The practice of writing software that protects data against unauthorized access and threats
An algorithm is a set of steps or rules to follow to solve a particular problem.
The process of examining data to find trends or answer questions
A specific question that directs the focus of data analysis
A variable defined in a Class, for which each object of the class has its own copy.
A data structure that stores a **fixed** number of elements, all of the same type, one after another like a list.
The position of an element in an array. The first element is at index 0, the second element is at index 1, and so on.
Two or more arrays that share the same index structure to represent related data
A for loop lets us repeat code a **fixed number of times**.
Traversing an array is the process to loop through an array and access each of the elements. Caution must be taken to avoid looping beyond the valid index values.
A loop that is an alternate to a for or while loop that accesses each value in an array starting at the first value and proceeding in order.
A structured set of items or data, often represented as arrays or lists
Reference variables store the address of the value
Accessing each character in a string one at a time using a loop
Two identical values next to each other in an array
Coding practices that prevent unintended behavior or errors
The process of reading information from and writing information to files.
An error related to file access or reading
A Java construct to gracefully handle runtime errors
A method that divides a string based on a delimiter
Extracting and converting data from strings
A keyword that indicates a reference object doesn’t point to any object data.
Automatic conversion between primitive types and their corresponding object wrapper classes
Reverse of autoboxing; automatic conversion from the wrapper class to the primitive type
An object representation of a primitive data type (e.g., Integer, Double)
Methods that convert strings into numeric values
Classes can have multiple methods with the same name, as long as the parameters to those methods are different. Doing this is called "overloading" a method.
ArrayList is a Java class that is like an Array with extra powers. It can automatically resize and comes with other helpful methods.
A list that grows or shrinks as items are added or removed
Checking data before it is used or stored to prevent errors or invalid values
The automatic change in index positions after an item is added or removed
The direction in which a loop progresses through a list
A reusable method designed to perform a specific task as part of a larger program
An edge case is a problem in your code that only occurs in extreme situations.
Traversing two lists at the same time using the same index often to compare.
Following program flow to determine value changes
A 2D Array is an array of arrays, used to represent tables, grids, and matrices.
When a loop is placed within another loop. The total number of runs for a nested loop will be the outer loop * inner loop.
Array values are stored at a particular index and we access elements in the array by referencing this index value. Index values in Arrays start a 0.
Orientation of output in nested structures
The ordering of 2D arrays is row-major order, meaning the first index is the row, and the second index is the col. `arr[2][0]` would access the element on the third row and first column.
The process of traversing a 2D array by accessing all values at the first column in every row, before moving to the next column
A animated model that represents a real-life thing, process, or situation.
Conditional or loop structures that determine flow and behavior in algorithms
The process of traversing a 2D array by accessing all elements in a row before moving on to the next row.
Moving values within rows or columns to new positions
Reversing the order of elements horizontally or vertically
A grid-based plotting system using x and y values
Ensuring data completeness and accuracy (e.g., no missing or duplicate values)
Also called sequential search, a search algorithm that searches for a given value in a list of values. Linear search is less efficient than binary search.
The ability to achieve an end goal with little to no waste.
The value being searched for in a data set
A string comparison rule that differentiates between uppercase and lowercase characters
Sorting algorithm that takes an array of values and sorts it. The idea is to have a sorted part of the list and an unsorted part. On each iteration, selection sort finds the lowest value in the unsorted section of the list and adds it to the end of the sorted part.
Sorting algorithm that sorts an array of values. The idea behind insertion sort is to have a sorted part of the list and an unsorted part. On each iteration of the algorithm, we grab the next unsorted element and place it in its proper position in the sorted section.
A condition that holds true throughout a loop’s execution (e.g., part of the array is always sorted)
A method for reordering data into a specific sequence
At a high level, recursion is when a function (or method) calls itself.
The base case is the simplest form of the recursive problem. The base case can be immediately solved without breaking the problem down any further.
The recursive case is the general form of the recursive problem. In this case the problem needs to be broken down by one step toward the base case, and the algorithm makes a recursive call to itself to solve this slightly smaller problem. This process repeats until the base case is reached.
A tool for tracking variable values and executed lines during program execution
A visual structure used to represent the recursive calls and their results
An error that occurs when recursion doesn't stop properly
Search algorithm that only works on a sorted list. It discards half of the list on each iteration, getting to the solution much faster than Linear Search.
A problem solving approach where you **divide** the problem into several smaller sub-problems of similar form, and keep doing so until the problems are trivially simple to solve (**conquer**)
Merge sort is a recursive sorting algorithm that can be used to sort elements in an array or ArrayList.
The appropriate use of data based on circumstances
A method to find a target in a data structure (e.g., linear, binary)