Logical Construction of Programs - LCP

Course Title

Logical Construction of Programs - LCP


4 days


40% Lecture,  60% Workshop





*        Overview

*        Who should attend

*        Objectives

*        Prerequisites

*        Recommended Courses

*        Frequently Asked Questions

*        Inquiry/Booking

*        Customisation



This course teaches the Logical Construction of Programs (LCP). 

This program design technique, also known as the Warnier Method, is a variant of Jackson’s Structured Programming technique (JSP).  An other variant of this technique is known in the US under the name Warnier-Orr.

LCP is a data-driven program design technique.  It replaces the intuitive, trial-and-error approach to programming with a disciplined approach, based on logical rules.  Thus “the art of programming” is really transformed into an engineering discipline.

Invaluable for structuring large batch programs, LCP is a powerful technique for any kind of program or procedure (including the most neglected but nevertheless equally important human/manual procedures).

More than 50% of the time in the class is dedicated to exercises. Most of them guide the students through all the steps of LCP from output data structure to pseudo-code.

LCP results in robust, highly maintainable programs.  Real life experience shows that, after many years, LCP-designed programs are still highly maintainable (even by newcomers to the particular system) while the non-LCP programs in the same system prove "non-maintainable" and frequently have to be rewritten.

And after many years, many former students declare that because LCP is a logical and natural approach, they still could not conceive to write a program without first making an LCP design.  The effect is that most of their programs are “zero-defect”.

Who should attend

·         Trainee Programmers (any language, including OO languages)

·         Experienced Programmers (in any language, including OO languages) wanting

§       to improve their productivity as well as the reliability, robustness and maintainability of their programs

§       to be able to maintain and enhance programs rapidly and safely

§       to be able to prepare the conversion of legacy programs to new languages e.g. COBOL programs to Java programs.


By the end of the course the participant should be able:

·         to design reliable, robust, maintainable programs (in pseudocode)

·         to re-engineer unstructured legacy code into structured code, mostly without recoding.



Introduction to Information Technology.  Understanding of concepts such as program, file, data base, operating system

Recommended Courses


*       LCP workshop and mentoring – focusing on how to translate the structured English program into real code and how to do the testing.


Students’ Comments

This course completely changed my perspective.  Ed Mountier, Graduate Trainee, Pearl Assurance

Frequently Asked Questions




Course Outline


The hierarchical organisation of data

Simple repetitive structures

Detailed organisation of a programme.  Pseudo-code

·         Input statements

·         Control statements

·         Pre-control statements

·         Calculation statements

·         Output statements

·         Reorder statements by sequence

·         Desk-checking the program

Simple alternative structures

Complex repetitive structures

Complex mixed structures

Complex alternative structures

Advanced topics

·         More than one physical input file

·         Structure clashes and inversion

·         Recognition problems and backtracking

·         Optimisation of complex-alternative structures

·         JSP vs LCP

·         LCP vs Process Driven Structured Design


Enhancement and maintenance








Wayland Informatics Limited -- Home
104 Stamford Avenue, Milton Keynes, UK, MK6 3LQ
Please click here to send us questions or comments about this web site or send mail to webmaster@wayland-informatics.com
Copyright © 2000 Wayland Informatics Limited
Last modified: 16 August 2000