Programming Languages - Business and Computer Science

Chapter
13
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Learning Objectives
1. Define programming of and describe the six steps of
2.
Computing Essentials 2015
3.
4.
5.
programming.
Compare design tools including top-down design, pseudocode,
flowcharts, and logic
structures.
Describe program testing and the tools for finding and removing
errors.
Describe CASE tools and object-oriented software development.
Explain the five generations of programming languages.
13-2
Introduction
• In this chapter, you focus on Phase 4, Systems Development, of the
Computing Essentials 2015
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
13-3
Computing Essentials 2015
Programs and Programming
Program
A problem-solving procedure
• A list of instructions to
accomplish a task
• Prewritten/packaged
• Custom-made
Programming
• A list of instructions for the
computer to follow to process
data
• Software Development Life
Cycle
Software Development Life Cycle
13-4
Step 1: Program Specification
Computing Essentials 2015
• Also called program definition or program analysis
• Five steps to complete in the process
13-5
Program Specification in Step 1
Computing Essentials 2015
• Program objectives
• Desired output
• Input data
• Processing requirements
• Program specifications document
13-6
Step 2: Program Design
• Plan a solution using structured programming techniques
Top-down design
Pseudocode
Flowcharts
Logic structures
Computing Essentials 2015
•
•
•
•
13-7
Top-Down Program Design
Computing Essentials 2015
• Identify the program modules required
Return
13-8
Pseudocode
Computing Essentials 2015
• Provide an outline of the logic and summarize the program you will write
Return
13-9
Flowcharts
• Graphically present the
Computing Essentials 2015
detailed sequence of steps
needed to solve a
programming problem
Flowchart Symbols
Return
13-10
Logic Structures
• Sequential structure
• Selection structure
• Repetition structure
Selection
Computing Essentials 2015
Sequence
Repetition
13-11
Step 3: Program Code
Computing Essentials 2015
Coding
• Writing the program
• Characteristics of a good program
• Reliable
• Produces the correct output
• Catches common input errors
• Well-documented and understandable
• Structured Programs
• Logic structures
13-12
Coding in Step 3
• Write the program
• Programming
Computing Essentials 2015
languages
13-13
Step 4: Program Test
• Debugging
• Test code
• Eliminate errors
Computing Essentials 2015
• Syntax errors
• Logic errors
• Testing process
13-14
Step 5: Program Documentation
• Written descriptions about a program
• Carried on throughout the programing
steps
• Important for people who will use
Computing Essentials 2015
and/or support the program
• Users
• Operators
• Programmers
13-15
Step 6: Program Maintenance
• 75% of total lifetime cost
• Ensures program is
• Error-free
• Effective
• Efficient
• Two activity categories
Computing Essentials 2015
• Operations
• Patches
• Software updates
• Changing needs
• Agile development
13-16
Case Tools and Object-Oriented Programming
• Computer-aided software
engineering (CASE)
• Automates portions of the
development process
• Object-oriented software –
OOP
Computing Essentials 2015
• Focuses less on procedures,
more on relationships
• Objects contain both the data
and the processing operations
needed to perform a task
CASE Tool: Providing code generation assistance
13-17
Generations of Programming Languages
• Levels or Generations
• Coding from machine languages to human or natural
languages
Computing Essentials 2015
• There are five distinct generations
• Lower level is closer to machine language
• Higher level is closer to human-like language
13-18
Generations of Programming Languages (Cont.)
• 1st Gen: Machine languages
• 2nd Gen: Assembly languages
Computing Essentials 2015
• 3rd Gen: High level procedural languages (3GLs)
• 4th Gen: Task-oriented languages (4GLs)
• 5th Gen: Problem and Constraint languages (5GL)
13-19
Careers In IT
• Computer programmers create, test,
troubleshoot, update and repair programs
• Employers seek individuals with
Computing Essentials 2015
• 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 $89,000 annually
13-20
A Look to the Future ~ Your Own Programmable Robot
• It may not be to much longer
Computing Essentials 2015
before you have your own robot
• Hardware components needed to
create are becoming cheaper
13-21
Open-Ended Questions (Page 1 of 2)
1. Identify and discuss each of the six steps of programming.
Computing Essentials 2015
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?
13-22
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 logic
Computing Essentials 2015
types.
13-23