#separator:tab
#html:false
#tags column:4
Algorithm	A finite set of steps to solve a problem		tp-ap-computer-science
Sequencing	Running statements in order		tp-ap-computer-science
Selection	Choosing which code runs based on a condition		tp-ap-computer-science
Iteration	Repeating a block of code		tp-ap-computer-science
Variable	A named place that stores a value		tp-ap-computer-science
Data type	The kind of value, such as integer, string or boolean		tp-ap-computer-science
Boolean	A value that is true or false		tp-ap-computer-science
String	A sequence of characters		tp-ap-computer-science
Integer overflow	A result too big for the number of bits available		tp-ap-computer-science
Round-off error	Small error from limited precision in storing real numbers		tp-ap-computer-science
Function	A named block of code that can be called		tp-ap-computer-science
Procedure	A named group of instructions, possibly with parameters		tp-ap-computer-science
Parameter	A variable in a function definition that receives a value		tp-ap-computer-science
Argument	The actual value passed to a function		tp-ap-computer-science
Return value	The value a function sends back		tp-ap-computer-science
Library	A collection of prewritten code		tp-ap-computer-science
API	A set of rules for how software components interact		tp-ap-computer-science
Abstraction	Hiding detail to manage complexity		tp-ap-computer-science
Modularity	Dividing a program into independent parts		tp-ap-computer-science
Class	A blueprint for creating objects		tp-ap-computer-science
Object	An instance of a class with state and behavior		tp-ap-computer-science
Instance variable	Data stored inside an object		tp-ap-computer-science
Constructor	Code that initializes a new object		tp-ap-computer-science
Method	A function belonging to a class		tp-ap-computer-science
Encapsulation	Keeping data private and exposing it through methods		tp-ap-computer-science
Inheritance	A subclass reuses and extends a superclass		tp-ap-computer-science
Polymorphism	The same method call behaves differently depending on the object		tp-ap-computer-science
Overloading	Methods with the same name but different parameters		tp-ap-computer-science
Overriding	A subclass provides its own version of a superclass method		tp-ap-computer-science
Static method	A method belonging to the class, not an object		tp-ap-computer-science
Array	A fixed-size, ordered collection of items		tp-ap-computer-science
ArrayList	A resizable list in Java		tp-ap-computer-science
List	An ordered collection of elements		tp-ap-computer-science
Index	The position of an item, usually starting at 0		tp-ap-computer-science
2D array	An array of arrays, like a grid		tp-ap-computer-science
Traversal	Visiting each element of a data structure		tp-ap-computer-science
For loop	A loop with a counter and a stopping condition		tp-ap-computer-science
While loop	A loop that repeats while a condition is true		tp-ap-computer-science
Infinite loop	A loop that never ends		tp-ap-computer-science
Nested loop	A loop inside another loop		tp-ap-computer-science
Off-by-one error	A bug from a loop going one step too far or too short		tp-ap-computer-science
Compound condition	Conditions joined with AND, OR or NOT		tp-ap-computer-science
De Morgan's laws	NOT (A and B) equals (NOT A) or (NOT B)		tp-ap-computer-science
Short-circuit evaluation	Stopping evaluation once the result is known		tp-ap-computer-science
Recursion	A method that calls itself		tp-ap-computer-science
Base case	The condition that stops recursion		tp-ap-computer-science
Linear search	Checking each element in order		tp-ap-computer-science
Binary search	Repeatedly halving a sorted list		tp-ap-computer-science
Selection sort	Repeatedly selecting the smallest remaining item		tp-ap-computer-science
Insertion sort	Placing each item into its sorted position		tp-ap-computer-science
Merge sort	Dividing in half, sorting each, and merging		tp-ap-computer-science
Algorithm efficiency	How the work grows with input size		tp-ap-computer-science
Big-O notation	Describes how running time grows as input grows		tp-ap-computer-science
Reasonable time	Polynomial time or better		tp-ap-computer-science
Unreasonable time	Exponential or worse growth		tp-ap-computer-science
Heuristic	An approach that finds a good-enough answer when exact solutions are too slow		tp-ap-computer-science
Undecidable problem	A problem no algorithm can solve for all cases		tp-ap-computer-science
Parallel computing	Running parts of a task at the same time		tp-ap-computer-science
Bit	A binary digit, 0 or 1		tp-ap-computer-science
Byte	Eight bits		tp-ap-computer-science
Binary	Base-2 number system		tp-ap-computer-science
Hexadecimal	Base-16 number system		tp-ap-computer-science
Lossless compression	Reduces size without losing any data		tp-ap-computer-science
Lossy compression	Reduces size by discarding some data		tp-ap-computer-science
Metadata	Data that describes other data		tp-ap-computer-science
Data cleaning	Fixing or removing incorrect data		tp-ap-computer-science
Big data	Datasets too large for ordinary processing		tp-ap-computer-science
Internet	A global network of networks		tp-ap-computer-science
IP address	A numeric address for a device on a network		tp-ap-computer-science
DNS	System that translates domain names to IP addresses		tp-ap-computer-science
Packet	A small unit of data sent across a network		tp-ap-computer-science
TCP/IP	Protocols that route and deliver data across the internet		tp-ap-computer-science
Router	Device that forwards packets between networks		tp-ap-computer-science
Fault tolerance	A network keeps working when parts fail		tp-ap-computer-science
Bandwidth	Maximum data a connection can carry per time		tp-ap-computer-science
Latency	Delay before data transfer begins		tp-ap-computer-science
HTTP	Protocol for the web		tp-ap-computer-science
Encryption	Scrambling data so only authorized parties can read it		tp-ap-computer-science
Symmetric encryption	One shared key encrypts and decrypts		tp-ap-computer-science
Public-key encryption	A public key encrypts; a private key decrypts		tp-ap-computer-science
Phishing	Tricking people into giving up private information		tp-ap-computer-science
Malware	Software designed to cause harm		tp-ap-computer-science
Multifactor authentication	Verifying identity with more than one kind of proof		tp-ap-computer-science
Digital divide	Unequal access to technology		tp-ap-computer-science
Crowdsourcing	Getting contributions from a large group of people online		tp-ap-computer-science
Open source	Software whose code is free to view and modify		tp-ap-computer-science
Bias in algorithms	Systematic unfairness in a program's results		tp-ap-computer-science
Creative Commons	Licenses that let creators share work with set permissions		tp-ap-computer-science
Debugging	Finding and fixing errors		tp-ap-computer-science
Syntax error	Code that breaks the language's rules		tp-ap-computer-science
Logic error	Code that runs but gives wrong results		tp-ap-computer-science
Run-time error	An error that happens while the program is running		tp-ap-computer-science
Testing	Running a program with chosen inputs to check behavior		tp-ap-computer-science
Pseudocode	Informal, language-independent description of an algorithm		tp-ap-computer-science
Flowchart	A diagram of an algorithm's steps		tp-ap-computer-science
Event-driven programming	Code that responds to user actions or messages		tp-ap-computer-science
Simulation	A program that models a real-world system		tp-ap-computer-science
