© Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages.

Post on 25-Dec-2015

214 views 1 download

Transcript of © Paradigm Publishing Inc. 12-1 Chapter 12 Programming Concepts and Languages.

© Paradigm Publishing Inc. 12-1

Chapter 12Programming Concepts and Languages

© Paradigm Publishing Inc. 12-2

Presentation Overview

• Programming Concepts• Problem-Solving Techniques• The Evolution of Programming Approaches• Programming Development and Documenta

tion Tools• Programming Errors• The Software Development Life Cycle• Major Programming Languages

© Paradigm Publishing Inc. 12-3

Programming Concepts

What makes up a programming language?– Program – instructions telling a computer how to

perform tasks– Programming languages – languages that

communicate with the computer to create programs– Source code – text files that make up a

programming language– Four main computer language programming

elements are variables, executable statements, looping, and decision statements.

© Paradigm Publishing Inc. 12-4

Programming Concepts

High-Level versus Low-Level Languages– Low-level language (machine code) is a binary

language consisting of 1s and 0s; runs faster and takes up less disk space.

– High-level language is similar to natural languages, making it easier to learn and use.

© Paradigm Publishing Inc. 12-5

Programming Concepts

Each generation of programs builds on the contributions of the group of languages that preceded it.

© Paradigm Publishing Inc. 12-6

Programming Concepts

Classic Programming Elements– Variable – data value stored in computer memory– Executable statement –performs an action and

then proceeds to the next statement in sequence– Looping – allows a program to return to a

previously executed instruction and repeat it– Decision statement – point in a program where

different actions may be performed depending on specific conditions

© Paradigm Publishing Inc. 12-7

Programming Concepts

Looping allows a computer program to continuously repeat the same steps, such as a program designed to direct a traffic light to display yellow, red, and green lights at a consistent rate.

© Paradigm Publishing Inc. 12-8

Programming Concepts

Using an if-then statement based on a particular action, such as pushing the crosswalk button, a program can interrupt the looping pattern, making the program more useful.

© Paradigm Publishing Inc. 12-9

Problem-Solving TechniquesTop-down design approach helps programmers break a large project into manageable parts. Breakdown process continues until there are no more steps.

© Paradigm Publishing Inc. 12-10

Problem-Solving Techniques

Problem-Solving Steps1. Identify the problem.

2. Analyze the problem.

3. Brainstorm solutions and choose the best one.

4. Write the algorithm.

5. Prototype the solution.

6. Implement and test the solution.

© Paradigm Publishing Inc. 12-11

Problem-Solving Techniques

Step-by-step pseudocode algorithm for changing a lightbulb.

© Paradigm Publishing Inc. 12-12

The Evolution of Programming Approaches

Structured Programming– Creates groups of instructions as independent

elements.– Structured groups of instructions are built on a

routine, which is a section of a program to handle a function.

– A routine is broken down into steps to accomplish the function.

© Paradigm Publishing Inc. 12-13

The Evolution of Programming Approaches

Modules– Code modules handle separate components of a

program.– Each module is a solid portion of a larger structure.– Modules are reusable, and modularity helps in

tracking down errors.– A macro is a recording of steps to perform a

repetitive task.

© Paradigm Publishing Inc. 12-14

The Evolution of Programming Approaches

Object-Oriented Programming– Object-oriented programming (OOP) defines

each module (object) with definite rules for interfacing and a protected set of variables.

– Protected variables allow a programmer to prevent data from being altered during program execution.

© Paradigm Publishing Inc. 12-15

The Evolution of Programming Approaches

Rapid Application DevelopmentRapid application development (RAD) reduces cost by decreasing time needed to develop a project.

Programmers using RAD follow guidelines• Use visual development (4GL) tools when possible• Rapidly prototype new projects• Approach coding with these priorities – Use existing code first. – Buy someone else’s code second. – Write new code last.

© Paradigm Publishing Inc. 12-16

Programming Development and Documentation Tools

Compilers and Interpreters– Compiler – program that translates programming

language source code into machine code– Interpreter – translates instructions one-by-one as

source code is being executed; identifies errors as they are encountered, including the line containing the error

© Paradigm Publishing Inc. 12-17

Programming Development and Documentation Tools

Debuggers– Debugger – a software tool that helps programmers

find errors quickly.– Allows programmers to examine closely what is

happening when a program runs.– Usually an integral component of compilers and

interpreters.

© Paradigm Publishing Inc. 12-18

Programming Development and Documentation Tools

Document Tools– Flowchart – provides a visual diagram of an

algorithm– CASE tools – help programming team schedule and

coordinate its operations– Comment – informal message inserted into a

program usually to explain source code to later users

© Paradigm Publishing Inc. 12-19

Programming Development and Documentation Tools

These symbols are used in flowcharts to represent the logic of a program.

© Paradigm Publishing Inc. 12-20

Programming Development and Documentation Tools

Flowcharts help programmers visualize the steps in a software program.

© Paradigm Publishing Inc. 12-21

Programming Development and Documentation Tools

Flowcharts help programmers visualize the steps in a software program.

© Paradigm Publishing Inc. 12-22

Programming Errors

What programming errors are in programs?– Syntax errors – typing errors or misunderstanding of

rules of the language– Logic errors – program instructs computer to

perform an action incorrectly– Run-time errors – mistakes that occur when an

application is running (crash or infinite loop)– Style errors – poorly written programming code that

may cause dissatisfaction with program

© Paradigm Publishing Inc. 12-23

The Software Development Life CycleWhat are the steps in the software development life cycle?

The software development life cycle involves planning, designing, implementing, testing, and release of application software.

© Paradigm Publishing Inc. 12-24

Major Programming Languages

Commonly used programming languages

© Paradigm Publishing Inc. 12-25

Major Programming Languages

Machine Code– programming language that computers actually read

and interpret– machine code written in a binary string of 1s and 0s– difficult to memorize the long binary strings that

comprise the machine code

© Paradigm Publishing Inc. 12-26

Major Programming Languages

Assembly Language– uses symbols and words to represent elements of

machine code– must be converted to machine code by a compiler– runs fastest and uses least memory– programs are difficult to write and development times

are lengthened

© Paradigm Publishing Inc. 12-27

Major Programming Languages

COBOL– used chiefly for business applications by large

institutions and companies– is slow and cumbersome language, but has large body

of existing code and many programmers know the language

© Paradigm Publishing Inc. 12-28

Major Programming Languages

RPG– commonly used in business environments– inefficient, but simplifies coding of database

applications– is familiar to many programmers– often used on midrange and mainframe computers

© Paradigm Publishing Inc. 12-29

Major Programming Languages

FORTRAN– for many years, the language of choice for math,

science, and engineering projects– still in use today in factories and laboratories

© Paradigm Publishing Inc. 12-30

Major Programming Languages

BASIC– high-level language that is friendlier and more natural

than COBOL or FORTRAN.– runs slowly, but faster to develop for programmers.

This sequence of code will print the numbers 1 to 10.

© Paradigm Publishing Inc. 12-31

Major Programming Languages

Visual Basic (VB)– language of choice for developing software

prototypes or for developing interfaces for Windows platforms

– quick and easy to develop, but run slowly and is demanding of RAM and disk space

– supports graphic interfaces

© Paradigm Publishing Inc. 12-32

Major Programming Languages

C– compromise between high-level and low-level

languages, containing components of BASIC and assembly language

– not as easy to read as BASIC, but runs considerably faster and uses less space

© Paradigm Publishing Inc. 12-33

Major Programming Languages

C++– superset of C; any C program should run in C++.– added features such as object-oriented programming.

This sequence of code will print the numbers 1 to 10.

© Paradigm Publishing Inc. 12-34

Major Programming Languages

C#– modern object-oriented language derived from C++

and Java– combines productivity of Visual Basic with power of

C++– allows use of features in Microsoft.NET framework,

C, and Microsoft’s Component Object Model (COM)

© Paradigm Publishing Inc. 12-35

Major Programming Languages

Scripting Languages– interpreted language that is relatively easy to learn and

use– explains what a computer should do in English-like

terms but not precisely how the computer should do it– Hypertext Markup Language (HTML), JavaScript,

VBScript, and perl are scripting languages

© Paradigm Publishing Inc. 12-36

Major Program-ming LanguagesThis sequence of code directs a browser to display buttons users can click to change the background color within the Web browser window.

© Paradigm Publishing Inc. 12-37

On the Horizon

Based on the information presented in this chapter and your own experience, what do you think is on the horizon?