Computers: Understanding Technology, 3e - PowerPoint PPT Presentation

1 / 119
About This Presentation
Title:

Computers: Understanding Technology, 3e

Description:

... in computer memory Executable statement performs an action and then proceeds to the next statement in sequence Looping ... coding with these ... C Major ... – PowerPoint PPT presentation

Number of Views:153
Avg rating:3.0/5.0
Slides: 120
Provided by: Para175
Category:

less

Transcript and Presenter's Notes

Title: Computers: Understanding Technology, 3e


1
Chapter 12
Programming Concepts and Languages
2
Presentation Overview
  • Programming Concepts
  • Problem-Solving Techniques
  • The Evolution of Programming Approaches
  • Programming Development and Documentation Tools
  • Programming Errors
  • The Software Development Life Cycle
  • Major Programming Languages

3
Programming Concepts
  • What makes up a programming language?

4
Programming Concepts
  • What makes up a programming language?
  • Program instructions telling a computer how to
    perform tasks

5
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

6
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

7
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.

8
Programming Concepts
  • High-Level versus Low-Level Languages

9
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.

10
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.

11
Programming Concepts
  • Each generation of programs builds on the
    contributions of the group of languages that
    preceded it.

12
Programming Concepts
  • Classic Programming Elements

13
Programming Concepts
  • Classic Programming Elements
  • Variable data value stored in computer memory

14
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

15
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

16
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

17
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.

18
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.

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

20
Problem-Solving Techniques
  • Problem-Solving Steps

21
Problem-Solving Techniques
  • Problem-Solving Steps
  • Identify the problem.

22
Problem-Solving Techniques
  • Problem-Solving Steps
  • Identify the problem.
  • Analyze the problem.

23
Problem-Solving Techniques
  • Problem-Solving Steps
  • Identify the problem.
  • Analyze the problem.
  • Brainstorm solutions and choose the best one.

24
Problem-Solving Techniques
  • Problem-Solving Steps
  • Identify the problem.
  • Analyze the problem.
  • Brainstorm solutions and choose the best one.
  • Write the algorithm.

25
Problem-Solving Techniques
  • Problem-Solving Steps
  • Identify the problem.
  • Analyze the problem.
  • Brainstorm solutions and choose the best one.
  • Write the algorithm.
  • Prototype the solution.

26
Problem-Solving Techniques
  • Problem-Solving Steps
  • Identify the problem.
  • Analyze the problem.
  • Brainstorm solutions and choose the best one.
  • Write the algorithm.
  • Prototype the solution.
  • Implement and test the solution.

27
Problem-Solving Techniques
  • Step-by-step pseudocode algorithm for changing a
    lightbulb.

28
The Evolution of Programming Approaches
  • Structured Programming

29
The Evolution of Programming Approaches
  • Structured Programming
  • Creates groups of instructions as independent
    elements.

30
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.

31
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.

32
The Evolution of Programming Approaches
  • Modules

33
The Evolution of Programming Approaches
  • Modules
  • Code modules handle separate components of a
    program.

34
The Evolution of Programming Approaches
  • Modules
  • Code modules handle separate components of a
    program.
  • Each module is a solid portion of a larger
    structure.

35
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.

36
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.

37
The Evolution of Programming Approaches
  • Object-Oriented Programming

38
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.

39
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.

40
The Evolution of Programming Approaches
  • Rapid Application Development

41
The Evolution of Programming Approaches
  • Rapid Application Development
  • Rapid application development (RAD) reduces cost
    by decreasing time needed to develop a project.

42
The Evolution of Programming Approaches
  • Rapid Application Development
  • Rapid 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 elses code second.
  • Write new code last.

43
Programming Development and Documentation Tools
  • Compilers and Interpreters

44
Programming Development and Documentation Tools
  • Compilers and Interpreters
  • Compiler program that translates programming
    language source code into machine code

45
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

46
Programming Development and Documentation Tools
  • Debuggers

47
Programming Development and Documentation Tools
  • Debuggers
  • Debugger a software tool that helps programmers
    find errors quickly.

48
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.

49
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.

50
Programming Development and Documentation Tools
  • Document Tools

51
Programming Development and Documentation Tools
  • Document Tools
  • Flowchart provides a visual diagram of an
    algorithm

52
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

53
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

54
Programming Development and Documentation
Tools
  • These symbols are used in flowcharts to represent
    the logic of a program.

55
Programming Development and Documentation
Tools
  • Flowcharts help programmers visualize the steps
    in a software program.

56
Programming Development and Documentation Tools
  • Flowcharts help programmers visualize the steps
    in a software program.

57
Programming Errors
  • What programming errors are in programs?

58
Programming Errors
  • What programming errors are in programs?
  • Syntax errors typing errors or misunderstanding
    of rules of the language

59
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

60
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)

61
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

62
The Software Development Life Cycle
  • What are the steps in the software development
    life cycle?
  • The software development life cycle involves
    planning, designing, implementing, testing, and
    release of application software.

63
Major Programming Languages
  • Commonly used programming languages

64
Major Programming Languages
  • Machine Code

65
Major Programming Languages
  • Machine Code
  • programming language that computers actually read
    and interpret

66
Major Programming Languages
  • Machine Code
  • programming language that computers actually read
    and interpret
  • machine code written in a binary string of 1s and
    0s

67
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

68
Major Programming Languages
  • Assembly Language

69
Major Programming Languages
  • Assembly Language
  • uses symbols and words to represent elements of
    machine code

70
Major Programming Languages
  • Assembly Language
  • uses symbols and words to represent elements of
    machine code
  • must be converted to machine code by a compiler

71
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

72
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

73
Major Programming Languages
  • COBOL

74
Major Programming Languages
  • COBOL
  • used chiefly for business applications by large
    institutions and companies

75
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

76
Major Programming Languages
  • RPG

77
Major Programming Languages
  • RPG
  • commonly used in business environments

78
Major Programming Languages
  • RPG
  • commonly used in business environments
  • inefficient, but simplifies coding of database
    applications

79
Major Programming Languages
  • RPG
  • commonly used in business environments
  • inefficient, but simplifies coding of database
    applications
  • is familiar to many programmers

80
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

81
Major Programming Languages
  • FORTRAN

82
Major Programming Languages
  • FORTRAN
  • for many years, the language of choice for
    math, science, and engineering projects

83
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

84
Major Programming Languages
  • BASIC

85
Major Programming Languages
  • BASIC
  • high-level language that is friendlier and more
    natural than COBOL or FORTRAN

86
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

87
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.

88
Major Programming Languages
  • Visual Basic (VB)

89
Major Programming Languages
  • Visual Basic (VB)
  • language of choice for developing software
    prototypes or for developing interfaces for
    Windows platforms

90
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

91
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

92
Major Programming Languages
  • C

93
Major Programming Languages
  • C
  • compromise between high-level and low-level
    languages, containing components of BASIC and
    assembly language

94
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

95
Major Programming Languages
  • C

96
Major Programming Languages
  • C
  • superset of C any C program should run in C

97
Major Programming Languages
  • C
  • superset of C any C program should run in C
  • added features such as object-oriented programming

98
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.

99
Major Programming Languages
  • C

100
Major Programming Languages
  • C
  • modern object-oriented language derived from C
    and Java

101
Major Programming Languages
  • C
  • modern object-oriented language derived from C
    and Java
  • combines productivity of Visual Basic with power
    of C

102
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 Microsofts Component Object
    Model (COM)

103
Major Programming Languages
  • Scripting Languages

104
Major Programming Languages
  • Scripting Languages
  • interpreted language that is relatively easy to
    learn and use

105
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

106
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

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

108
Major Programming Languages
  • DHTML

109
Major Programming Languages
  • DHTML
  • allows Web page designers to alter contents of
    Web page screen dynamically

110
Major Programming Languages
  • DHTML
  • allows Web page designers to alter contents of
    Web page screen dynamically
  • allows viewer actions to change contents of a Web
    page

111
Major Programming Languages
  • DHTML
  • allows Web page designers to alter contents of
    Web page screen dynamically
  • allows viewer actions to change contents of a Web
    page
  • displays faster than HTML

112
Major Programming Languages
  • DHTML
  • allows Web page designers to alter contents of
    Web page screen dynamically
  • allows viewer actions to change contents of a Web
    page
  • displays faster than HTML
  • higher quality appearance and more graphically
    responsive to user actions

113
Major Programming Languages
  • XHTML

114
Major Programming Languages
  • XHTML
  • allows Web pages to separate their content from
    the format supported by a Web page

115
Major Programming Languages
  • XHTML
  • allows Web pages to separate their content from
    the format supported by a Web page
  • screens with different sizes and resolutions can
    display the same Web page content without the Web
    designer having to write specialized versions for
    each

116
Major Programming Languages
  • Wireless Markup Language (WML)

117
Major Programming Languages
  • Wireless Markup Language (WML)
  • created specifically for small systems such as
    cell phones and handheld computers

118
Major Programming Languages
  • Wireless Markup Language (WML)
  • created specifically for small systems such as
    cell phones and handheld computers
  • allows designers to build pages that work for
    small screens with limited display and input
    capabilities

119
On the Horizon
  • Based on the information presented in this
    chapter and your own experience, what do you
    think is on the horizon?
Write a Comment
User Comments (0)
About PowerShow.com