Professional Documents
Culture Documents
CSC318 1 Introduction, History, Definition
CSC318 1 Introduction, History, Definition
A. A. Habila (Room-GO6)
Department of Computer Science
Federal University Lafia
Introduction
We know that a computer program is a collection of instructions/commands that
We also know that learning a programming language entails getting to know the
While learning the How of programming means learning the skills of developing
Historically, between 1950s and 1960s, programs were written off the top of the
head, like instructing someone to clean the board, open the door, etc, and should
something goes wrong, you just try to patch it (error by error kind of fixing issues)
3rd generation around late 1960s, when hardware became excessivelly more powerful than
could have been anticipated, the usual hit-and-miss approach to programming couldn’t
Software were expected to be do more work, they grew longer in lines reaching thounsands,
many more programmers had to work together on projects, it took longer to deliver in most
cases more than earlier projected, cost of development skyrockted including that of
maintenance.
This chaotic situation was referred to as sofware crisis and the period thereof was tag
software crisis era. A NATO conference was even convened to discuss this particular
Planning and Logical errors in design of the program are so delicate such that
even throughout the entire lifetime of the program, they may not be taken care
of completely. These debugging issues appears inevitable
It should also be noted that issues or problems with a program may be about
life and death hence the sensitivity associated with software programming and
debugging.
Historical Developments cont..
Space Shuttle Columbia with astranauts John Young & Robert Cropper
Both astranauts were inside the rocket and it’s just 20 minutes before lunch
when warning lights flashed at the mission control station.
Attention shifted to the possibility of issues with the over 500,000 interwoven
lines of computer program.
Much of these developments were ignored in places like USA until 1968.
Edsger Dijkstra published a letter titled: Goto statement considered harmful
in ACM in 1966. Dijkstra continued crusade for structured programming for
over 20 years.
A system that automate the newspaper’s file clipping using a list of of index terms, users browse through
abstracts of all the papers articles and then retrieve the full publication from microfiche and thereafter
displayed on a terminal.
The system was used for over 20 months before first error was detected
The project was delivered under budget and release ahead of schedule.
At this point, software developers began paying attention to the gospel of the principles of structured
[Mid-Late 1970s], this development was considered a revolution in programming and one of the most
program would certainly not have GoTo statements in it, but the entirety of the concept is
beyond just doing away with GoTo. It is sure way more than that.
It is actually okay to have a very huge software system which will definitely be made up of
several lines. E.g. Word processors, operating systems, DBMS, enterprise applications, etc.
The issues is, programs of few hundred lines often get unwieldy and difficult to keep track of
A method of designing computer system components and their relationships such that
complexity is minimized. The trouble here is ”method” is not specified in this definition.
Definition of Structured Programming cont..
How does structured programming minimizes program complexity?
i. Top-down analysis for problem solving:
o What is the program doing for you? – the problem it is addressing
o Subdivide a large problem into smaller task such that can be address with ease
o This is possible with the use of various control structures namely: sequential, selective, iterative – A
control stucture represents a unique pattern of execution for a specific set of instruction and guides or
detect the order of its execution.
o If the order in which instructions in a module are executed can be exclusively determined by the aid of
control structures, then the module is said to be structured and the code is described as structured code.
Definition of Structured Programming cont..
Structured programming is therefore about three elements namely:
top-down analysis, modular programming, and structured coding.
Advantages of Structured Programming:
o It is easier and faster to write programs
o Ease of maintenance
The Goal of Structured Programming : emphasis on maximising progreammer productivity and software
systems reliability.
o Some languages have been designed with structured programming principles in mind such that it is
impossible to write unstructured code.
o The ease of writing structure code is largely dependent on the language support.