EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012...
-
Upload
barnard-horn -
Category
Documents
-
view
213 -
download
0
Transcript of EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012...
![Page 1: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/1.jpg)
CAPE INFORMATION TECHNOLOGY
UNIT 1
EXPLAIN THE CONCEPT OF PROGRAMMING
![Page 2: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/2.jpg)
Programming Languages and Program Development
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 2
![Page 3: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/3.jpg)
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 Hall 3
![Page 4: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/4.jpg)
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 Hall 4
![Page 5: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/5.jpg)
Programming Languages and How They Work
ProgrammingProcess used to create software programs
ProgrammersPeople who use programming languages to
create software applications
Programming languagesConsist of a vocabulary and a set of rules
called syntax
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 5
![Page 6: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/6.jpg)
Programming Languages and How They Work
InterfacePoint 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 Hall 6
![Page 7: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/7.jpg)
Development of Programming Languages
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 7
![Page 8: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/8.jpg)
Development of Programming Languages
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 8
• Compilers and interpreterso 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
![Page 9: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/9.jpg)
Development of Programming Languages
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 9
• Compilers and interpreterso Compiler—utility program translates source
code into object codeo 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
![Page 10: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/10.jpg)
Development of Programming Languages
Five generations of programming languagesMachineAssemblyProceduralNonproceduralNatural
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 10
![Page 11: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/11.jpg)
Development of Programming Languages
• First-generation languagesMachine language
○ Based on binary numbers○ Only programming language that a
computer understands directly○ Machine dependent
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 11
![Page 12: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/12.jpg)
Development of Programming Languages
• Second-generation languageAssembly 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 driversPrograms to control devices attached to a computer and
game console programs
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 12
![Page 13: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/13.jpg)
Development of Programming Languages
• Third-generation languagesHigh-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 Hall 13
![Page 14: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/14.jpg)
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 Hall 14
![Page 15: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/15.jpg)
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 Hall 15
![Page 16: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/16.jpg)
Development of Programming Languages• Procedural
languageso Provide detailed
instructions that are designed to carry out a specific action such as printing a formatted report
• Nonprocedural languageso Do not require
programmers to use step-by-step instructions
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 16
![Page 17: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/17.jpg)
Development of Programming Languages
• Fourth-generation languagesNonprocedural languagesDo not require step-by-step proceduresExamples
○ 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 Hall 17
![Page 18: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/18.jpg)
Development of Programming Languages
• Fifth-generation languages Natural languageStill being perfectedNonproceduralUse everyday language to program
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 18
![Page 19: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/19.jpg)
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 Hall 19
![Page 20: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/20.jpg)
Development of Programming Languages
Object-oriented programming (OOP) (con’t.)Class—blueprint or prototype from which objects
are madeInheritance—ability to pass on characteristics
from a class to subclasses
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 20
![Page 21: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/21.jpg)
Development of Programming Languages
Program development methodsRapid 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 Hall 21
![Page 22: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/22.jpg)
The Program Development Life Cycle
Program development life cycle (PDLC)Organized plan for managing the
development of softwareConsists of six phases, from problem
definition through program implementation and maintenance
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 22
![Page 23: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/23.jpg)
The Program Development Life Cycle
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 23
![Page 24: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/24.jpg)
The Program Development Life Cycle
Phase 1: Defining the problemDefine the problem the program will solveDefine the program specifications, including
decisions regarding data input, required processing, output, and the user interface
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 24
![Page 25: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/25.jpg)
The Program Development Life Cycle
Phase 2: Designing the programProgram design—identifies components of the
program○ Top-down program design—breaks program
into small, manageable, highly focused routinesProcedures, 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 Hall 25
![Page 26: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/26.jpg)
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 Hall 26
![Page 27: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/27.jpg)
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
solutionNesting
○ Process of embedding control structures within one another
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 27
![Page 28: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/28.jpg)
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 Hall 28
![Page 29: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/29.jpg)
The Program Development Life Cycle
Phase 3: Coding the programProgrammers convert algorithms into
programming codeSyntax 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 Hall 29
![Page 30: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/30.jpg)
The Program Development Life Cycle
Phase 4: Testing and debugging the programAll errors, not just syntax errors, must be
removedLogic errors
○ Relate to problems in the solution’s design○ Cause incorrect output○ Program still runs despite logic errors
Syntax errors and logic errors—bugsDebugging—process of eliminating errors
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 30
![Page 31: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/31.jpg)
The Program Development Life Cycle
Phase 5: Documenting the programDocumentation 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 Hall 31
![Page 32: EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.](https://reader035.fdocuments.us/reader035/viewer/2022070404/56649f335503460f94c50a1a/html5/thumbnails/32.jpg)
The Program Development Life Cycle
Phase 6: Implementing and maintaining the programTest 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 featuresCopyright © 2012 Pearson Education, Inc.
Publishing as Prentice Hall 32