Presentation is loading. Please wait.

Presentation is loading. Please wait.

EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.

Similar presentations


Presentation on theme: "EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2."— Presentation transcript:

1 EXPLAIN THE CONCEPT OF PROGRAMMING

2 Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2

3 Objectives  Explain what a programming language is and how it works.  Explain the development of programming languages over the years and the benefits and drawbacks of high- level programming languages.  Explain how object-oriented languages attempt to remedy the shortcomings of earlier languages. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall3

4 Objectives  List several popular object-oriented languages and explain their advantage over older languages.  List the six phases of the program development life cycle (PDLC) and explain why the PDLC is needed. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall4

5 Programming Languages and How They Work  Programming Process used to create software programs  Programmers People who use programming languages to create software applications  Programming languages Consist of a vocabulary and a set of rules called syntax Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall5

6 Programming Languages and How They Work  Interface Point of interaction between components, such as the interaction between a user’s screen and the computer code, which results when running a program Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall6

7 Development of Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall7

8 Development of Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall8 Compilers and interpreters o Source code—programming instructions in the original form needed to translate a form that the computer can understand o Code—programming instructions created by the programmers o High-level language—language that mimics English; does not require a programmer to understand the intimate details of how hardware, especially the processor, handles data

9 Development of Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall9 Compilers and interpreters o Compiler—utility program translates source code into object code o Executable program—code transformed from object code ready to run programs that do not need to be altered o Interpreter—translation program that does not produce object code—translates one line of source code at a time; executes the translated instruction

10 Development of Programming Languages  Five generations of programming languages Machine Assembly Procedural Nonprocedural Natural Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall10

11 Development of Programming Languages First-generation languages Machine language ○ Based on binary numbers ○ Only programming language that a computer understands directly ○ Machine dependent Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall11

12 Development of Programming Languages Second-generation language Assembly language ○ Low-level language ○ Programs use: Mnemonics—brief abbreviations for program instructions make assembly language easier to use Base-10 (decimal) numbers ○ Must be translated into machine language by an assembler ○ Occasionally used to create device drivers Programs to control devices attached to a computer and game console programs Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall12

13 Development of Programming Languages Third-generation languages High-level languages—do not require programmers to know details relating to the processing of data Easier to read, write, and maintain than assembly and machine languages Source code must be translated by a language translator Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall13

14 Development of Programming Languages Third-generation languages (con’t.) o Spaghetti code—difficult to follow, messy in design, prone to errors due to numerous GOTO statements o Structured programming—set of quality standards; programs more verbose but more readable, reliable, and maintainable GOTO statements forbidden Examples: - Ada - Algol - Pascal Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall14

15 Development of Programming Languages Third-generation languages (con’t.) o Modular programming—dividing larger programs into separate modules, each takes care of a specific function o Information hiding—also known as encapsulation, modular programming makes it possible to hide details in sensitive applications o Programming languages include: Fortran C Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall15

16 Development of Programming Languages Procedural languages o Provide detailed instructions that are designed to carry out a specific action such as printing a formatted report Nonprocedural languages o Do not require programmers to use step-by-step instructions Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall16

17 Development of Programming Languages Fourth-generation languages Nonprocedural languages Do not require step-by-step procedures Examples ○ Report generators (database reports) ○ Query languages SQL (Structured query language)—enables users to phrase simple or complex requests for data Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall17

18 Development of Programming Languages Fifth-generation languages Natural language Still being perfected Nonprocedural Use everyday language to program Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall18

19 Development of Programming Languages  Object-oriented programming (OOP) Programming technique based on data being conceptualized as objects ○ Object—unit of computer information that defines a data element that is used to model real-world objects ○ Attributes define the data ○ Procedures or operations are called methods Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall19

20 Development of Programming Languages  Object-oriented programming (OOP) (con’t.) Class—blueprint or prototype from which objects are made Inheritance—ability to pass on characteristics from a class to subclasses Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall20

21 Development of Programming Languages  Program development methods Rapid application development (RAD) ○ Reuses prebuilt objects ○ Possible because of OOP Joint application development (JAD) ○ Uses a team approach ○ Involves end users throughout development Agile software development techniques—use collaboration between teams to develop solutions to meet customer needs and company goals Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall21

22 The Program Development Life Cycle  Program development life cycle (PDLC) Organized plan for managing the development of software Consists of six phases, from problem definition through program implementation and maintenance Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall22

23 The Program Development Life Cycle Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall23

24 The Program Development Life Cycle  Phase 1: Defining the problem Define the problem the program will solve Define the program specifications, including decisions regarding data input, required processing, output, and the user interface Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall24

25 The Program Development Life Cycle  Phase 2: Designing the program Program design—identifies components of the program ○ Top-down program design—breaks program into small, manageable, highly focused routines Procedures, functions, or subroutines ○ Structured design uses control structures— logical elements assembled in blocks of code that determine how subroutines will be programmed Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall25

26 The Program Development Life Cycle  Phase 2: Designing the program (con’t.) Basic control structures categories ○ Sequence control structure—code performed in line- by-line order ○ Selection control structure—also called a conditional or branch structure, this is a portion of code that leads to a block of code based on conditions being met ○ Case control structure—portion of code that branches to extensive conditional coding ○ Repetition control structure—also known as looping or iteration, this is a portion of code that repeats Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall26

27 The Program Development Life Cycle  Phase 2: Designing the program (con’t.) Algorithm ○ Combination of control structures ○ Step-by-step description of how to arrive at a solution Nesting ○ Process of embedding control structures within one another Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall27

28 The Program Development Life Cycle  Phase 2: Designing the program (con’t.) Program design tools ○ Structured charts—also called hierarchy charts, show top-down design of programs ○ Flowcharts—use diagrams to show the logic of a program ○ Unified Modeling Language (UML)—variation of flowcharting used to illustrate and document object- oriented systems during development ○ Pseudocode—uses a stylized form of writing to describe logic Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall28

29 The Program Development Life Cycle  Phase 3: Coding the program Programmers convert algorithms into programming code Syntax errors ○ Mistakes in the construction of the programming commands ○ Must be corrected for the program to run appropriately Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall29

30 The Program Development Life Cycle  Phase 4: Testing and debugging the program All errors, not just syntax errors, must be removed Logic errors ○ Relate to problems in the solution’s design ○ Cause incorrect output ○ Program still runs despite logic errors Syntax errors and logic errors—bugs Debugging—process of eliminating errors Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall30

31 The Program Development Life Cycle  Phase 5: Documenting the program Documentation includes: ○ Overview of program functionality ○ Tutorials ○ Thorough explanation of main features ○ Reference documentation of program commands ○ Description of error messages ○ Program design work, including structure charts, pseudocode, and flowcharts Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall31

32 The Program Development Life Cycle  Phase 6: Implementing and maintaining the program Test the program ○ Have users work with the software ○ Correct errors Program maintenance ○ Fix program errors discovered by users ○ Conduct periodic evaluations on a regular basis ○ Make modifications as needed to update the program or add features Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall32


Download ppt "EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2."

Similar presentations


Ads by Google