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.