Programming Terminology

102 flashcards by MentisLibrary

The working vocabulary of software development: types and scope, data structures, algorithms and Big O, object-oriented and functional ideas, concurrency, version control, testing and debugging, for programmers in their first year or two.

What is an algorithm?
A finite, unambiguous sequence of steps that transforms an input into a desired output.
What is a variable?
A named reference to a value in memory, which the program can read and, in most languages, change while it runs.
What is a function?
A named, reusable block of code that takes inputs, does work, and usually returns a result.
What is a loop?
A construct that repeats a block of code, either a fixed number of times or until a condition stops holding.
What is an array?
An ordered collection stored in one contiguous block of memory, with elements reached by numeric index.
What is object-oriented programming?
A paradigm that organises code into objects bundling data with the methods that operate on it.
What is debugging?
The process of locating the cause of incorrect behaviour and correcting it.
What is an API?
A defined interface through which one piece of software makes its capabilities available to another.
What is recursion?
A technique in which a function solves a problem by calling itself on a smaller version of the same problem.
What is a class?
A blueprint that defines the data and behaviour shared by every object created from it.
What is inheritance?
A mechanism by which a class takes on the data and behaviour of a parent class and may extend or override it.
What is polymorphism?
The ability of different types to respond to the same call, each in its own way.
What is encapsulation?
Keeping an object's internal data private and exposing only the operations that may be performed on it.
What is a string?
A sequence of characters used to represent text.
What is version control?
A system that records changes to files over time so any earlier state can be recovered and parallel work can be merged.
What is a database?
An organised store of data with a defined structure, supporting efficient querying, updating and concurrent access.
What is SQL?
A declarative language for querying and modifying data in relational databases, describing what you want rather than how to fetch it.
What is asynchronous programming?
Starting an operation that takes time and continuing with other work, handling the result when it arrives.
What is Big O notation?
A way of describing how an algorithm's running time or memory grows as the input grows, ignoring constants.
What is a linked list?
A sequence of nodes, each holding a value and a reference to the next node, with no contiguous memory.
What is a constant?
A named value that cannot be reassigned after it is set.
What is a data type?
A classification that tells the language what kind of value something is and which operations are legal on it.
Static typing vs dynamic typing
Static typing checks types before the program runs; dynamic typing checks them while it runs.
Parameter vs argument
A parameter is the name in the function definition; an argument is the actual value passed in at the call site.
What is a return value?
The value a function hands back to whatever called it, ending the function's execution at that point.
What is a conditional statement?
A construct that runs a block of code only when a condition evaluates to true.
What is scope?
The region of a program in which a given name is visible and can be used.
What is a boolean?
A type with exactly two values, true and false, used for conditions and flags.
What does null mean?
A deliberate absence of a value, meaning the variable points at nothing.
Statement vs expression
An expression evaluates to a value; a statement performs an action and may not produce one.