CSC422 Structured Programming Lecture Notes

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

1/28

flashcard set

Earn XP

Description and Tags

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.

Last updated 12:58 PM on 5/30/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

29 Terms

1
New cards

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.

2
New cards

Unstructured Program

A program that does not use structured constructs and often relies on unconditional goto statements, making it difficult to read and maintain.

3
New cards

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.

4
New cards

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.

5
New cards

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.

6
New cards

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.

7
New cards

Nested If Statement

An if statement placed inside another if statement used to select an option from more than two alternatives.

8
New cards

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.

9
New cards

Do While Statement

A repetitive structure where the body of the loop is executed at least once before the logical expression is evaluated.

10
New cards

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).

11
New cards

Formal Parameters

The parameters used in the definition of a method.

12
New cards

Actual Parameters

The specific internal values or variables passed to a method when it is called.

13
New cards

Flow Control Model

A flowchart diagram using specific symbols to show how control flows in and out of program structures.

14
New cards

Nassi-Sheidermann Model

A block diagram representation of logical control structures, also known as a Structogram, developed by Peter Nassi and Isaac Sheidermann.

15
New cards

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.

16
New cards

Factorial

A classic recursive problem defined as n!=n×(n1)×(n2)×...×1n! = n \times (n-1) \times (n-2) \times \text{...} \times 1.

17
New cards

Fibonacci Series

A series where each number is the sum of the two previous numbers, defined as fibonacci(n)=fibonacci(n1)+fibonacci(n2)\text{fibonacci}(n) = \text{fibonacci}(n-1) + \text{fibonacci}(n-2) with base cases for 0 and 1.

18
New cards

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.

19
New cards

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.

20
New cards

Modular Design

A 'DIVIDE and CONQUER' strategy where a large job is divided into smaller, self-contained units called modules.

21
New cards

Stub

A human being or skeleton code that emulates an unfinished module during the field testing phase of a structured programming project.

22
New cards

White Box Testing

A testing method where the internal logic is known, and input is provided for which the desired result is already expected.

23
New cards

Black Box Testing

Testing based on external specifications and requirements without understanding the detailed code implementations.

24
New cards

Debugging

The process of analyzing and extending a program to find and fix errors so it meets specifications.

25
New cards

Verification

The process of proving a program satisfies its specifications, often summarized as the question: 'Are we building the product right?'

26
New cards

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?'

27
New cards

Defect

An occurrence in the program design or code that fails to meet a specification; commonly referred to as a bug.

28
New cards

Software Inspections

A formalized approach to document reviews where people examine source representations to discover anomalies and defects without executing the code.

29
New cards

Automated Static Analysis

Software tools that parse program text to identify potentially erroneous conditions like uninitialized variables or unreachable code without execution.