Programming Fundamentals

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/39

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 7:38 AM on 7/5/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

40 Terms

1
New cards

Algorithm

A procedure used for solving problems or planning for a task.

2
New cards

Pseudocode vs. Flowcharts

Pseudocode uses structured text (e.g., BEGIN/END); flowcharts use visual diagrams with standardized shapes.

3
New cards

Sequence

An algorithm structure where instructions are executed in a linear, step-by-step order.

4
New cards

Binary Selection

A decision structure with exactly two possible paths (True or False) based on a condition.

5
New cards

Multi-way Selection

Also called a case structure; offers multiple possible paths or choices (more than two).

6
New cards

Pretest Loop

An iteration loop that checks the condition before running the loop's code.

7
New cards

Post-test Loop

An iteration loop that runs the code first, then checks the condition to repeat.

8
New cards

Subroutine

An algorithm split into smaller, reusable parts called by the main program when needed.

9
New cards

Identifying Stored Data

Look at inputs, outputs, repeatedly used values, running totals, counts, or flags.

10
New cards

Divide and Conquer (Algorithm Design)

A strategy where a problem is divided into smaller, independent parts solved separately and combined.

11
New cards

Binary Search (Divide and Conquer Example)

Searching a sorted list by checking the middle, ignoring half, and repeating on the remaining half.

12
New cards

Benefits of Divide and Conquer

Improves efficiency, handles large datasets, and reduces processing time.

13
New cards

Backtracking (Algorithm Design)

A strategy where a solution is built step-by-step, undoing choices if a problem is met.

14
New cards

Password Validation (Backtracking Example)

Checking rules in order; if one fails, going back to change it and re-testing.

15
New cards

Benefits of Backtracking

Useful for multiple possible solutions, ensuring constraints, and validating complex conditions.

16
New cards

Divide and Conquer vs. Backtracking

Divide and Conquer splits independent parts for speed; Backtracking builds step-by-step and undoes choices.

17
New cards

Desk Checking

Manually walking through an algorithm step-by-step using a table of variables to find logical errors.

18
New cards

Peer Checking

Having another person review your algorithm or code to find logical errors or mistakes.

19
New cards

Desk Checking vs. Peer Checking

Desk checking is manual self-evaluation using a variable table; peer checking is review by another person.

20
New cards

Function

A subroutine that performs a calculation and returns a value to the caller.

21
New cards

Procedure

A subroutine that performs a sequence of actions without returning a value.

22
New cards

Char vs. String

A char stores a single character (1 byte); a string stores multiple characters representing words or sentences.

23
New cards

Boolean

A data type set to True or False, used for decision making and program flow.

24
New cards

Real

A data type used to represent numbers containing fractions or decimal points (e.g., 3.14).

25
New cards

Single Precision Floating Point

A 32-bit (4 bytes) data type storing decimal values in scientific notation with ~7 decimal digits of accuracy.

26
New cards

Integer

A data type storing positive or negative whole numbers; decimal parts are removed (truncated).

27
New cards

Date and Time

Handled via Python's datetime module to store calendar dates, clock times, and measure durations.

28
New cards

Array

A data type holding multiple values in order, accessed using a position index.

29
New cards

Record

A data type storing related pieces of information together, where each field can have different data types.

30
New cards

Record (Program Example)

Using dictionaries with keys like 'question', 'options', and 'correct_answer' to group related question data.

31
New cards

Tree

A hierarchical data structure with a top root node and child/leaf nodes.

32
New cards

Sequential Files

Streams of data stored one after another in order, read sequentially by the system.

33
New cards

Waterfall Model

A structured software development approach where each stage must finish before the next begins.

34
New cards

Stages of Waterfall Model

Requirements, specifications, design, development, integration, testing/debugging, installation, and maintenance.

35
New cards

When to Use Waterfall

When requirements are fixed, clear, highly regulated, or the team is distributed.

36
New cards

Agile Model

A flexible, collaborative approach focused on regular modifications and evolving software.

37
New cards

Sprint (Agile)

A small, focused development stage targeting a specific part of a project.

38
New cards

When to Use Agile

When requirements are uncertain, fast delivery is prioritized, and close collaboration is possible.

39
New cards

Waterfall vs. Agile (Handling Change)

Waterfall changes requirements midway (expensive); Agile treats change as a normal part of development.

40
New cards

Waterfall vs. Agile (Client Feedback)

Waterfall clients see the product at the end; Agile clients see it after every sprint.