1/28
These flashcards cover the fundamental concepts of structured programming, including control structures (selective, repetitive, organizational), recursive methods, program modeling (Flowcharts and Nassi-Sheidermann), and software quality processes (testing, debugging, verification, validation, and inspections) based on Dr. S. C. Echezona's lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Structured Program
A program that is easy to write, read, understand, debug, and maintain because it uses specific programming constructs that allow logical and orderly control flow.
Unstructured Program
A program that does not use structured constructs and often relies on unconditional goto statements, making it difficult to read and maintain.
Selective Control Structures
Logical control structures used to transfer control from one part of the program to another in a logical and selective manner, such as the if and switch case statements.
Repetitive Control Structures
Logical control structures used to transfer control from one part of the program to another in a logical and repetitive manner, including while, for, and do while statements.
Organizational Control Structures
Constructs used to organize programs into separate, addressable units that perform specific functions, known as procedures in Pascal or methods in Java.
Recursion
A hybrid control structure that is organizational because it is a separate unit and repetitive because it calls itself to repeat its specific function.
Nested If Statement
An if statement placed inside another if statement used to select an option from more than two alternatives.
Switch Case Statement
A construct that selects an option among multiple alternatives by comparing a variable name to different expression values, often used instead of nested if statements.
Do While Statement
A repetitive structure where the body of the loop is executed at least once before the logical expression is evaluated.
Method
A segment of a Java program that performs a particular task, executes only when called, and can return a value (acting as a function).
Formal Parameters
The parameters used in the definition of a method.
Actual Parameters
The specific internal values or variables passed to a method when it is called.
Flow Control Model
A flowchart diagram using specific symbols to show how control flows in and out of program structures.
Nassi-Sheidermann Model
A block diagram representation of logical control structures, also known as a Structogram, developed by Peter Nassi and Isaac Sheidermann.
Stack
A container that operates on a last-in-first-out basis using Push (adding to the top) and Pop (removing from the top) operations, used by computers to track method calls.
Factorial
A classic recursive problem defined as n!=n×(n−1)×(n−2)×...×1.
Fibonacci Series
A series where each number is the sum of the two previous numbers, defined as fibonacci(n)=fibonacci(n−1)+fibonacci(n−2) with base cases for 0 and 1.
Loop Invariant
A property of a program loop that is true before and after each iteration, used for formal program verification and understanding the purpose of the loop.
Stepwise Refinement
A basic technique for low-level design invented by Niklaus Wirth in 1971, involving taking small, easily defended steps to expand pseudo code into detailed code.
Modular Design
A 'DIVIDE and CONQUER' strategy where a large job is divided into smaller, self-contained units called modules.
Stub
A human being or skeleton code that emulates an unfinished module during the field testing phase of a structured programming project.
White Box Testing
A testing method where the internal logic is known, and input is provided for which the desired result is already expected.
Black Box Testing
Testing based on external specifications and requirements without understanding the detailed code implementations.
Debugging
The process of analyzing and extending a program to find and fix errors so it meets specifications.
Verification
The process of proving a program satisfies its specifications, often summarized as the question: 'Are we building the product right?'
Validation
The process of evaluating software at the end of development to ensure it meets user requirements, summarized as: 'Are we building the right product?'
Defect
An occurrence in the program design or code that fails to meet a specification; commonly referred to as a bug.
Software Inspections
A formalized approach to document reviews where people examine source representations to discover anomalies and defects without executing the code.
Automated Static Analysis
Software tools that parse program text to identify potentially erroneous conditions like uninitialized variables or unreachable code without execution.