0% found this document useful (0 votes)
12 views27 pages

Understanding Programming Languages and Processes

Uploaded by

execute1952
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views27 pages

Understanding Programming Languages and Processes

Uploaded by

execute1952
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Programming and Languages

Learning Objectives

1. Define programming of and describe the six steps of


programming.
2. Compare design tools including top-down design, pseudocode,
flowcharts, and logic structures.
3. Describe program testing and the tools for finding and removing
errors.
4. Describe CASE tools and object-oriented software development.
5. Explain the five generations of programming languages.
Introduction

• In this chapter, you focus on Phase 4, Systems Development, of the


systems life cycle and learn about the programming process and some of
the programming languages that are available
• Competent end users need to understand the relationship between
systems development and programming
Programs and Programming

• Program
• A list of instructions for the computer to follow to accomplish the task of
processing data into information
• Statements used in a programming language such as C++, Java, or Python
• Programs can be
• Prewritten/packaged
• Custom-made
• Programming or Software Development
• Actually a problem-solving procedure
• List of instructions for the computer to follow to process data
• Follows a six-step process know as the System Development Life Cycle
Six-Step Software Development Life
Cycle
The six steps are as follows:
1. Program specification
2. Program design
3. Program code
4. Program test
5. Program documentation
6. Program test
Program Specification

• Also called program definition or program analysis


• Five items must be specified:
1. Program’s objectives
2. Desired output
3. Input data required
4. Processing requirements
5. Documentation
Defining Program Specification

• Program objectives
• Requires a clear statement of the problem being
addressed
• Desired output
• The end-user should communicate the inputs and
outputs
• Input data
• Determine the source of the data
• Processing requirements
• Tasks to move input to output
• Program specification document
• Document program specifications
Program Design

Plan a solution using structured programming


techniques
• Techniques
• Top-down design
• Pseudocode
• Flowcharts
• Logic structures
Top-Down Program Design

To identify the program’s processing


steps; called modules
• Each module is made up of logically
related program statements
Pseudocode

An outline of the logic of the program you will write


• Summary of the program before it is written
Flowcharts

Graphically present the detailed


sequence of steps needed to solve a
programming problem
Logic Structures

Sequence Repetition
Enables you to write structured
programs, which take much of the
guesswork out of programming
• Sequential structure Selection
• One program statement follows another
• Selection structure
• A decision must be made
• Repetition structure or Loop
Structure
• Describes a process that may be repeated as long
as certain condition remains true
Program Code

Writing the program is called coding


• Characteristics of a good program
• Reliable
• Produces the correct output
• Catches common input errors
• Well-documented and understandable
• Structured programs – one of the best ways to
code effective programs
• Using logic structure
Coding

Write the program


• A programming language uses a
collection of symbols, words, and
phrases that instruct a computer
to perform specific operations
Programming Languages
Program Test

• Debugging
• The process of testing and
then eliminating errors such
as:
• Syntax errors are a violation of the rules of
programming language
• Logic errors occur when the programmer
uses incorrect calculation or leaves out a
programming procedure
• Testing process involves one or more of
several methods
Program Testing Processes

• Desk checking or Code review


• Printout of program reviewed line by line
• Manual testing with sample data
• Correct and incorrect data manually entered, results evaluated
• Attempt at translation
• Written program goes through translator program on the computer,
must be syntax error free
• Testing sample data on the computer
• Tests for logic errors
• Beta testing
• Testing by a select group of potential users; users provide feedback
Program Documentation

Written descriptions and procedures about a program


and how to use it
• Carried on throughout the programing steps
• Important for people who will use and/or support
the program
• Users need to know how to use the software
• Operators need to know what to do about any error
messages
• Programmers may even remember all the details
• Those taking over the program will need to know
details
Program Maintenance

• 75% of total lifetime cost for an application is for


maintenance
• Ensures program is
• Error-free
• Effective
• Efficient
• Two activity categories
1. Operations
• Patches – programming modification or corrections
• Software updates – significant patches
2. Changing needs
• Agile development – starts with getting the core functionality
working then expands through to customer satisfaction
Case Tools and Object-Oriented
Programming
• Computer-aided software
engineering (CASE)
• Automates portions of the
development process
• Object-oriented software – OOP
• Focuses less on procedures, more on
relationships with previously defined
procedure
• Objects contain both the data and
the processing operations needed to
perform a task
Generations of Programming Languages

• Levels or Generations
• Coding from machine languages to human or natural
languages
• There are five distinct generations
• Lower level is closer to machine language
• Higher level is closer to human-like language
5 Generations

• 1st Gen: Machine languages


• Data represented in 1s and 0s
• 2nd Gen: Assembly languages
• Uses abbreviations or mnemonics that are automatically converted to the appropriate sequence of 1s and 0s
• 3rd Gen: High level procedural languages (3GLs)
• Designed to express the logic – the procedures – that can solve general problems. Translated into machine
language with a compiler or an interpreter
• 4th Gen: Task-oriented languages (4GLs)
• Designed to solve specific problems
• 5th Gen: Problem and Constraint languages (5GL)
• Computer languages that incorporate the concepts of artificial intelligence to allow a person to provide a
system with a problem and some constraints and then request a solution
Generation Samples

• Listed to the right are


samples of each
generation programming
language in order from
the 1st through the 5th
Careers In IT

• Computer programmers create, test,


troubleshoot, update and repair programs
• Employers seek individuals with
• Degree in Computer Science or
Information Systems
• Desired traits include patience,
logical thinking, and attention
to detail
• Computer Programmers can expect to earn
$49,000 to $78,000 annually
A Look to the Future ~
Your Own Programmable Robot

• It may not be to much longer before


you have your own robot
• Hardware components needed to
create are becoming cheaper
Open-Ended Questions (Page 1 of 2)

1. Identify and discuss each of the six steps of programming.

2. Describe CASE tools and OOP. How does CASE assist programmers?

3. What is meant by “generation” in reference to programming languages? What


is the difference between low-level and high-level languages?
Open-Ended Questions (Page 2 of 2)

4. What is the difference between a compiler and an interpreter?

5. What are logic structures? Describe the differences between the three
types.

You might also like