1/22
Vocabulary flashcards covering the stages of problem-solving, algorithm characteristics, analysis methods, and code testing techniques based on the lecture transcript.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Problem
A situation where there is a difference between the current state and the desired goal, and a solution is needed to bridge that gap.
Algorithm
A finite set of instructions that, if followed, accomplishes a particular task.
Unambiguous
A characteristic of an algorithm where every step is clear, easy to understand, and leads to only one meaning.
Finiteness
An algorithm characteristic requiring the process to eventually stop after a finite number of steps.
Feasibility
An algorithm characteristic where each step must be practical and possible with the available resources.
Independent
An algorithm characteristic stating that step-by-step directions should be independent of any programming code.
Natural Language
A language spoken, written, or signed by humans for general purpose communication; sometimes used to express algorithms but can be open to interpretations.
Pseudocode
A description of an algorithm where regular programming language is augmented with natural language or compact mathematical notation to make it easier for humans to read.
Flowcharts
A schematic representation of an algorithm or a process.
A Priori Analysis
Theoretical analysis done before implementing an algorithm to predict performance by assuming all other factors are constant; often measured using Big O Notation.
A Posteriori Analysis
Empirical analysis performed after the algorithm is implemented and executed to collect actual statistics like running speed and storage required.
Space Complexity
The amount of memory space required by an algorithm during its life cycle.
Fixed Part (Space Complexity)
The portion of space required to store certain data or variables that is independent of the size of the problem.
Variable Part (Space Complexity)
The space needed by variables whose size is dependent on the size of the input problem.
Time Complexity
The amount of time required by the algorithm to run to completion, often measured by its worst case.
Worst Case
The maximum amount of time an algorithm may require for a given input size.
Asymptotic Notation
Language that allows analysis of an algorithm's running time by identifying its behavior (growth rate) as the input size increases.
Statement Coverage
A type of dynamic testing used to verify that no line of code remains untested.
Branch Coverage
A type of dynamic testing to ensure all decision outcomes in the code are executed properly.
Cyclomatic Complexity
A technique used during dynamic testing to check for the complexity of the code.
Static Testing
A testing method involving code inspection, walkthroughs, reviews, and audits without executing the program.
Code Walkthrough
A static testing process that requires the programmer to explain the code step-by-step.
Code Audit
An independent evaluation of source code to check for compliance with organizational standards.