An error in the sequence of words or rules in a program that prevents the program from running.
An algorithm is a set of steps or rules to follow to solve a particular problem.
Java method that lets us print out a line of output to the user
Java method that lets us print output to the user, without ending the line printed.
String is a Java type that represents a string of characters (text)
The rules for writing code in a specific programming language
A symbol or container that holds a value.
Primitive types are the basic, simple data types that are inherent to Java (int, double, char, and boolean)
A boolean is a true or false value.
Reference variables store the address of the value
A way to classify the kind of information you can use in programming, like numbers, words, or true/false values.
The process of changing the value stored in a variable.
The modulus operator (written as % in most programming languages) divides two numbers and returns the remainder.
When two integers are divided, the decimal values are truncated, or chopped off.
Escape sequences are characters with special meanings.
A combination of numbers, operators, and sometimes variables that computes a value.
To trim some digits of a float or double-type number or some characters of a string from the right.
A class within java.util. It contains code specifically designed to help with user input.
A line of code that assigns a value to a variable using the = operator
A temporary memory area where input from the user is stored before being processed.
Casting is turning something of one type into another type
The order in which mathematical expressions should be evaluated. Starts with Parentheses, Exponents, Multiplications and Division, Addition and Subtraction.
The difference between the calculated approximation of a number and its exact mathematical value due to rounding.
An error that occurs when the result of an integer operation does not fit within the allocated memory space.
To remove the digits to the right of the decimal point without rounding.
Increase the value of a variable by one. variable++;
Decrease the value of a variable by one. variable--;
Allows programmers to shortcut variable assignments that include the variable being assigned a new value: x = x + y; shortcut: x += y;
Commenting out code makes the computer ignore it, so it does not run.
Assumptions we make about what must be true before a method is called.
What should be true after a method is called
//This is a single line comment
/* This is a multi- Line comment*/
/** 1. One sentence description of code’s function. 2. Preconditions 3. Postconditions 4. Block tags */
A method is a way to teach the computer a new command
A variable that receives a value passed into a method from outside the method.
A method's signature is the name of the method and the parameter list.
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.
Indicates what type value is being returned from the method
A return type that means the method does not return a value.
An instance method is a method that defines the behavior of an object. It defines an action that the object can perform.
Static methods are the methods in Java that can be called without creating an object of class. Static methods are called using the dot operator along with the class name unless they are defined in the enclosing class.
The process of hiding the implementation details of a class from the user
Organizing code into smaller, reusable pieces
The Math class is part of the java.lang package and contains only static methods.
Can be manipulated to produce a random int or double in a defined range.
Math function that takes the square root of the inputted parameters
An API (application programming interface) is a set of tools for building programs.
Returns the value of the first argument raised to the power of the second
Formula to scale `Math.random()` to a desired range
A class is a template, or a blueprint, from which Java objects are created. All Java programs start with a class.
An object is a single instance of a Java class. An object has both state and behavior.
If a class A extends the class B, then B is the superclass of A.
When a subclass extends a superclass, the subclass inherits all of the static methods, static variables, and public instance methods of the superclass. This is called inheritance.
Managing complexity by "abstracting away" information and detail, in order to focus on the relevant concepts.
Create an instance of a class object.
An object’s characteristics.
A constructor is a special method of a Class that constructs a new object (a new instance) of the Class and sets the initial values for the instance variables.
toString is a special method you write in your class that returns a String representation of the object.
When a class has more than one constructor with the same name, but different parameter lists.
Concatenation is another word for combining. Concatenating Strings is when we add Strings together.
A substring is a smaller sequence of characters in a larger String.
Unable to change. Strings in Java are immutable, meaning you can't change it once you make it. If you take a substring of a String, or concatenate something to a String, the result is a *brand new* String, rather than a modification of the original.
The automatic process of transforming a variables data type. This occurs when a primitive and String object are concatenated by changing the primitive value to a String object type.
A message in your code that explains what is going on.
Documentation is the reference for how to use different methods and classes
A collection of modules and packages.
Using a condition to determine which part of an algorithm is executed.
A diagram made up of shapes and arrows used to display the order of steps in a program or process.
Helps the reader recognize similar items.
An if statement lets you ask a question to the program and only run code if the answer is true.
Control structure that lets us run either one section of code or another depending on a test.
Choosing between different paths based on a condition.
The process of placing if statements within if statements.
A structure that checks multiple mutually exclusive conditions.
A Boolean expression that combines two or more conditions using logical operators
A logical operator that returns true if both conditions are true
A logical operator that returns true if at least one condition is true
A logical operator that negates a Boolean value, turning true into false and vice versa
To rewrite code for improved readability or efficiency without changing behavior.
Laws that define how we can negate an AND statement and how we can negate an OR statement
A truth table is a table used in logic for comparing Boolean expressions.
Equality operator (==) compares the references (addresses in memory) of 2 objects
Checks if two objects have the same content or state.
Two expressions that produce the same truth value for all inputs.
A loop that has no way of stopping, and will keep looping forever.
Repetition of instructions a specified number of times, or until a condition is met.
Breaks out of a while loop and executes statements that immediately follow while loop.
Keyword used in methods to return a value back to the initial program that called the method.
A for loop lets us repeat code a **fixed number of times**.
The part of a loop that specifies the starting point, ending condition, and increment
A variable used to keep track of how many times a loop has run
A variable used to keep a running total inside a loop.
Accessing each character in a string one at a time using a loop
A built-in set of Java methods for character-based operations
A for loop written, or “nested”, inside of another for loop. For example:
The loop that controls the number of full passes
The loop that runs completely for each outer loop cycle
Orientation of output in nested structures
The `break;` statement breaks out of the current loop, without executing any more code in the loop.
The number of times a statement is executed by the program.
The ability to achieve an end goal with little to no waste.
A tool for tracking variable values and executed lines during program execution
Evaluating how long a program takes to run or how many steps it performs
The value returned from a function when the function is called.
`boolean` is a Java type that can either be true or false
== , !=. <. > , <=, >= These allow for the comparison or primitive type values. The result of these expressions can be stored as a Boolean value.
Using structured thinking and boolean operations to solve problems.
When a loop is placed within another loop. The total number of runs for a nested loop will be the outer loop * inner loop.
The process of planning the structure and components of a program before coding.
A variable that holds data associated with a class.
When all programs and code will work as intended.
Software that is available for anyone to access and modify.
Software that is owned by an individual or company.
Unexpected effects that occur when a program is used in the real world.
Acknowledging the original author when using or adapting someone else’s code.
A variable defined in a Class, for which each object of the class has its own copy.
An instance method that allows the client to **get** the value of an instance variable on an object.
An instance method that allows the client to **set** the value of an instance variable on an object.
A keyword that determines whether a variable or method is visible outside the class (`private`, `public`).
Creating classes that include instances of other classes as fields.
When an object is passed as a parameter, both the parameter and the instance refer to the same object.
Creating a new object using the data from a parameter object to avoid shared references.
A method called on the Class, rather than on a specific object of the Class.
A variable that stores the memory location of an object.
A class containing only static methods that perform operations on other objects.
The ability of an object’s internal state to be changed.
Supplying data (including objects) to a method when it is called.
Prevents variables from changing value.
A variable shared by all instances of a class.
A method that belongs to the class, not an object.
Defines which part of the program a variable can be accessed from.
If two variables within the same scope have the same name, the variable with the more specific scope will be called.
A variable that is defined in a method or constructor. It only exists in the context of the method that it belongs to.
Makes a call to the current object in a class file. Allows programmers to specify which objects and instance variables should be called.
When a parameter name hides an instance variable name, requiring `this` for clarity.
how company's use your data
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
The process of examining data to find trends or answer questions
A specific question that directs the focus of data analysis
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
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
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
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.
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.
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 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 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)