1/39
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Algorithm
A procedure used for solving problems or planning for a task.
Pseudocode vs. Flowcharts
Pseudocode uses structured text (e.g., BEGIN/END); flowcharts use visual diagrams with standardized shapes.
Sequence
An algorithm structure where instructions are executed in a linear, step-by-step order.
Binary Selection
A decision structure with exactly two possible paths (True or False) based on a condition.
Multi-way Selection
Also called a case structure; offers multiple possible paths or choices (more than two).
Pretest Loop
An iteration loop that checks the condition before running the loop's code.
Post-test Loop
An iteration loop that runs the code first, then checks the condition to repeat.
Subroutine
An algorithm split into smaller, reusable parts called by the main program when needed.
Identifying Stored Data
Look at inputs, outputs, repeatedly used values, running totals, counts, or flags.
Divide and Conquer (Algorithm Design)
A strategy where a problem is divided into smaller, independent parts solved separately and combined.
Binary Search (Divide and Conquer Example)
Searching a sorted list by checking the middle, ignoring half, and repeating on the remaining half.
Benefits of Divide and Conquer
Improves efficiency, handles large datasets, and reduces processing time.
Backtracking (Algorithm Design)
A strategy where a solution is built step-by-step, undoing choices if a problem is met.
Password Validation (Backtracking Example)
Checking rules in order; if one fails, going back to change it and re-testing.
Benefits of Backtracking
Useful for multiple possible solutions, ensuring constraints, and validating complex conditions.
Divide and Conquer vs. Backtracking
Divide and Conquer splits independent parts for speed; Backtracking builds step-by-step and undoes choices.
Desk Checking
Manually walking through an algorithm step-by-step using a table of variables to find logical errors.
Peer Checking
Having another person review your algorithm or code to find logical errors or mistakes.
Desk Checking vs. Peer Checking
Desk checking is manual self-evaluation using a variable table; peer checking is review by another person.
Function
A subroutine that performs a calculation and returns a value to the caller.
Procedure
A subroutine that performs a sequence of actions without returning a value.
Char vs. String
A char stores a single character (1 byte); a string stores multiple characters representing words or sentences.
Boolean
A data type set to True or False, used for decision making and program flow.
Real
A data type used to represent numbers containing fractions or decimal points (e.g., 3.14).
Single Precision Floating Point
A 32-bit (4 bytes) data type storing decimal values in scientific notation with ~7 decimal digits of accuracy.
Integer
A data type storing positive or negative whole numbers; decimal parts are removed (truncated).
Date and Time
Handled via Python's datetime module to store calendar dates, clock times, and measure durations.
Array
A data type holding multiple values in order, accessed using a position index.
Record
A data type storing related pieces of information together, where each field can have different data types.
Record (Program Example)
Using dictionaries with keys like 'question', 'options', and 'correct_answer' to group related question data.
Tree
A hierarchical data structure with a top root node and child/leaf nodes.
Sequential Files
Streams of data stored one after another in order, read sequentially by the system.
Waterfall Model
A structured software development approach where each stage must finish before the next begins.
Stages of Waterfall Model
Requirements, specifications, design, development, integration, testing/debugging, installation, and maintenance.
When to Use Waterfall
When requirements are fixed, clear, highly regulated, or the team is distributed.
Agile Model
A flexible, collaborative approach focused on regular modifications and evolving software.
Sprint (Agile)
A small, focused development stage targeting a specific part of a project.
When to Use Agile
When requirements are uncertain, fast delivery is prioritized, and close collaboration is possible.
Waterfall vs. Agile (Handling Change)
Waterfall changes requirements midway (expensive); Agile treats change as a normal part of development.
Waterfall vs. Agile (Client Feedback)
Waterfall clients see the product at the end; Agile clients see it after every sprint.