Topic: pseudocode design

topics > computer science > programming > Group: program design

design languages
compiling pseudocode designs
literate programming
Thesa as a database of modules
reusable programming
stepwise refinement


Program design is usually done in a mixture of programming language and natural language. When formalized these mixtures are called program design languages. A common form is pseudocode design; action is represented in a natural language while control and modularization is represented in a programming language. Program design language is an effective design tool and design documentation language. It is useful for documentation but only as long as the program remains unmodified. The design language can not be directly executed so only consistency checks can indicate correctness. With program modification by new personnel, the design documentation becomes out-of-date. Once a little out-of-date, its usefulness rapidly diminishes.

Advantages-- Flexible language for high-level description, helps in organizing ideas and getting them on paper. Allows many people to implement a designed system. (cbb 5/80)

Subtopic: pseudocode up

Quote: with PDL, a complete, top-down, readable design is produced before writing code; defines interfaces, errors, and procedures [»cainSH_1975]
Quote: use pseudocode in design documentation; keep both versions consistent; use different programmers [»parnDL2_1986]
Quote: the advantages of pseudocode translation are many-to-one expansion, closer to human language, error detecting and correcting [»randS_1957]
Quote: used pseudocode as a program design language; determine requirements, abstract the functions, expand functions, and verify [»vanlP2_1976]
Quote: use Pseudo-code for designing in all stages and levels of detail (except final coding); documents system, helps with modifications [»jardDA5_1981]
Quote: the basic building blocks for programming include stereotypical goals and plans; like pseudocode [»soloE9_1986]

Subtopic: pseudocode as free form text up

Quote: program design language is an informal method of presenting structured program logic in natural English; use indentation, easily converted to executable code [»vanlP2_1976]
Quote: PDL is a pidgin language for structured, top-down design; combines natural language with a formal syntax [»cainSH_1975]
Quote: a design narrative in PDL is text that replaces any valid language construct; e.g., expression or data definition [»nejmBA2_1988]
Quote: Pseudo-code includes free text, using notation appropriate to the application [»jardDA5_1981]
Quote: a deferred development attribute in PDL indicates that the item will be defined in greater detail; e.g., what field is returned [»nejmBA2_1988]
QuoteRef: kralTM5_1975 ;;4-1 program design languages (PDL) free form english with a few control structures and indenting
QuoteRef: schoDV9_1966 ;;"I have been writing programs in outline form, using conventions of indentation to indicate the flow of control

Subtopic: examples up

Quote: the PDL environment includes syntax checker, cross reference, consistency checks, expansion facility, and emulator [»nejmBA2_1988]
Quote: SPL reads like pseudo-code; insert comments whenever drop to a lower level in the program tree [»baxtCJ_1975, OK]
Quote: COMPACT CHART control structure by lines/symbols and processes by sentences/phrases [»hanaS8_1980]
Quote: Pseudo-code combines module interconnection and specification languages with a database language; syntax checked and useful reports [»jardDA5_1981]
Quote: Pseudo-code processor for syntactic and semantic checks, listing, xref, assertions [»jardDA5_1981]
Quote: designed Pseudo-code processor in Pseudo-code, then hand-translated into PL/I; easily developed and good documentation [»jardDA5_1981]
Quote: a Pseudo-code module consists of a heading, a declare section and a body [»jardDA5_1981]
Quote: instead of comments, use definitional text that defines the code to be written [»lingRC6_1975]
Quote: Structured Analysis tools include data flow diagrams, dictionaries, decision tables, and structured English
Quote: DELTA is for writing system descriptions in semiformalized english [»nygaK_1981]
QuoteRef: kralTM5_1975 ;;5-4 Pidgin is a program design language; uses a formal syntax like PL/1
QuoteRef: kralTM5_1975 ;;7-2 recommended program design language --sequence english statements with if, do while, do until, do case, and include

Subtopic: graphical pseudocode up

Quote: schematic pseudocode provides graphical indications for sequential, repetitive, and conditional actions [»plamR7_1981]

Subtopic: lexicon up

Quote: use a lexicon to define terms, functions, constants, and types that are used in multiple displays [»parnDL12_1994]
Quote: use a consensus-driven process to design a vocabulary and a good enough class hierarchy; no optimum classification [»taivA11_1997]

Subtopic: pseudocode metrics up

Quote: after each pseudocode refinement, measure its complexity to evaluate the programming process; called the Partial_Metrics_system [»reynRG11_1987]

Subtopic: pseudocode vs. flowcharts up

Quote: program design language is better than flowcharts for detailed software design [»ramsHR6_1983]
Quote: program design language was preferred over flowcharts: easier to document, modify, implement, and review [»ramsHR6_1983]
Quote: structured flowcharts preferred over pseudocode by 4:1 for learning short, complex algorithms [»scanDA3_1988]
Quote: flow charts contained fewer conditional expressions than designs in program design language [»ramsHR6_1983]
Quote: designs with program design language were more detailed
Quote: PDL replaces flowcharts; easier to produce, easier to change, easier to read
Quote: flowcharts and program design language were equally understood [»ramsHR6_1983]
Quote: hypothesized that structured flowcharts are better than pseudo-code: easier, fewer errors, more confidence, quicker answers, fewer references [»scanDA9_1989]
Quote: with pseudocode, subjects answered significantly fewer questions correctly than with structured flowcharts [»scanDA9_1989]
Quote: pseudocode took about twice as long to understand as structured flowcharts at all levels of complexity [»scanDA9_1989]
Quote: defined pseudocode as a structured flowchart with indentation instead of graphical symbols [»scanDA9_1989, OK]

Subtopic: problems with pseudocode up

Quote: design by functional decomposition aligns poorly with object-oriented code [»clarS11_1999]
Quote: a brief data structure description or half-page diagram was more helpful than detailed pseudocode or detailed flowchart [»shneB1_1982]
QuoteRef: kralTM5_1975 ;;5-1 "Pseudo code a program design lang. becomes quickly outdated due to a lack of conscientious updating"

Related Topics up

Topic: design languages (12 items)
Topic: compiling pseudocode designs (8 items)
Topic: literate programming (16 items)
Topic: Thesa as a database of modules (23 items)
Topic: reusable programming (77 items)
Topic: stepwise refinement
(25 items)

Updated barberCB 1/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.