Computers Are Your Future Twelfth Edition Chapter 11: Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing.

Slides:



Advertisements
Similar presentations
Computers Are Your Future
Advertisements

Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Computers Are Your Future Twelfth Edition
Programming Creating programs that run on your PC
Programming System development life cycle Life cycle of a program
1 Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Computers Are Your Future © 2006 Prentice Hall, Inc.
Computers: Tools for an Information Age
Computer Programming How Can You Create Your Own Software? Chapter 11.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
1 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall.
McGraw-Hill Technology Education © 2006 by the McGraw-Hill Companies, Inc. All rights reserved CHAPTER PROGRAMMING AND LANGUAGES.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
Your Interactive Guide to the Digital World Discovering Computers 2012.
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Computers Are Your Future Twelfth Edition Chapter 11: Program Development and Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Chapter 13 Programming Languages and Program Development 1.
Program Development and Programming Languages
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Computers Are Your Future Tenth Edition Chapter 11: Programming Languages & Program Development Copyright © 2009 Pearson Education, Inc. Publishing as.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Program development & programming languages Chapter 13.
Programming Languages: Telling the Computers What to Do Chapter 16.
Computers Are Your Future Eleventh Edition
CC111 Lec#5: Program Development 1 Program Development and Programming Languages Lecture 4 Reference :Understanding Computers Chapter 13.
Understanding Computers Ch. 131 Chapter 13 Program Development and Programming Languages.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
Programming Languages 1.07a.  A computer program is a series of instructions that direct a computer to perform a certain task.  A programming language.
Chapter 15 Program Development and Programming Languages.
Computer Concepts 2014 Chapter 12 Computer Programming.
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Chapter 12 Computer Programming. Chapter Contents Chapter 12: Computer Programming 2  Section A: Programming Basics  Section B: Procedural Programming.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
EXPLAIN THE CONCEPT OF PROGRAMMING. Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall2.
Programming and Languages
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1.
Chapter 12: Computer Programming 1 Computer Programming Chapter 12.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Computers Are Your Future Twelfth Edition Chapter 11: Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Programming Languages © 2005 Prentice Hall, Inc. CXC IT Unit 2: Intro. to Programming.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
1 Copyright © 2003 Prentice Hall, IncSlides created by Bob Koziel.
CSCI-235 Micro-Computer Applications
Programming Concepts and Languages
Objectives Overview Differentiate between machine and assembly languages Identify and discuss the purpose of procedural programming languages, and describe.
Chapter 12 Programming Concepts and Languages.
Chapter 1 Introduction(1.1)
and Program Development
Presentation transcript:

Computers Are Your Future Twelfth Edition Chapter 11: Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1

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

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

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

Objectives Explain why defining the problem in a top-down design manner leads to programs that are easier to debug and maintain. Differentiate between problems that can arise in the testing and debugging phase as syntax and logic errors. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 5

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

Programming Languages and How They Work Interface o 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 Hall 7

Development of Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 8

Development of Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 9 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

Development of Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 10

Development of Programming Languages Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 11 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

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

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

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

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

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 o GOTO statements forbidden o Examples: Ada Algol Pascal Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 16

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 17

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

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

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

Development of Programming Languages Object-oriented programming (OOP) o 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 21

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

Development of Programming Languages Program development methods o Rapid application development (RAD) Reuses prebuilt objects Possible because of OOP o Joint application development (JAD) Uses a team approach Involves end users throughout development o 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 23

Development of Programming Languages Middleware o Makes connections between applications on multiple networks o Integral to modern information technology based on XML, Web services, and service-oriented architecture Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 24

A Guide to Programming Languages: One Size Doesn’t Fit All Early high-level languages o COBOL (Common Business-Oriented Language) Used for business applications Current focus is on editing aged code on mainframe computers o Fortran (formula translator) Used for scientific/math/engineering applications Being replaced by object-oriented and formula-solving programs o Mathematica Used to handle all aspects of technical computing in a coherent and unified way Can manipulate a wide range of objects, using only a small number of basic elements Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 25

A Guide to Programming Languages: One Size Doesn’t Fit All Structured and modular languages o Required for large-scale program development o Languages in widespread use: Ada BASIC Visual Basic o Event-driven programming language that executes only in response to user actions C Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 26

A Guide to Programming Languages: One Size Doesn’t Fit All Object-oriented languages o Visual Studio.NET—Microsoft’s answer to Java and JavaScript Visual Basic.Net Visual C++ Visual C# F#—language that combines object-oriented features with the assets of a functional language o Functional language reflects the way people think mathematically—useful in programs that express findings in mathematical form Integrated development environment (IDE) Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 27

A Guide to Programming Languages: One Size Doesn’t Fit All Web-based languages o Not considered programming languages o Tell the browser how to display text and objects o Language types Markup Scripting Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 28

A Guide to Programming Languages: One Size Doesn’t Fit All Markup languages o Composed of a set of codes, or elements, that uses tags to define how text and objects display Tags—markers that usually come in pairs o Content—text that displays, lies between the opening and closing tags Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 29

A Guide to Programming Languages: One Size Doesn’t Fit All Markup languages o HTML (Hypertext Markup Language) Used by Web programmers Supports links to other documents, graphics, and audio and video files. o XML (Extensible Markup Language) Enables programmers to capture specific types of data by creating their own elements Not a replacement for HTML o XHTML (Extensible Hypertext Markup Language Newer version of HTML that uses XML to produce Web pages that are easily accessible by newer portable devices. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 30

A Guide to Programming Languages: One Size Doesn’t Fit All Markup languages (con’t.) o WML (Wireless Markup Language)  enables developers to create pages for wireless devices o CSS (Cascading Style Sheets)  defines the look and formatting of a Web page World Wide Web Consortium (W3C) o International group—develops Web standards o Develops protocols and guidelines that ensure long- term growth for the Web Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 31

A Guide to Programming Languages: One Size Doesn’t Fit All Scripting languages o Create scripts—programs that control Web page actions or responses VBScript ActiveX controls JavaScript ECMAScript AJAX JSON o Used for serialization and transmitting structured data over a network PHP Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 32

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

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

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

The Program Development Life Cycle Phase 2: Designing the program o Program design—identifies components of the program Top-down program design—breaks program into small, manageable, highly focused routines o 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 Hall 36

The Program Development Life Cycle Phase 2: Designing the program (con’t.) o 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 37

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

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

The Program Development Life Cycle Phase 2: Designing the program (con’t.) o 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 40

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

The Program Development Life Cycle Phase 3: Coding the program o Programmers convert algorithms into programming code o 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 Hall 42

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

The Program Development Life Cycle Phase 5: Documenting the program o 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 Hall 44

The Program Development Life Cycle Phase 6: Implementing and maintaining the program o Test the program Have users work with the software Correct errors o 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 Hall 45

Summary 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 46

Summary 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 47

Summary Explain why defining the problem in a top- down design manner leads to programs that are easier to debug and maintain. Differentiate between problems that can arise in the testing and debugging phase as syntax and logic errors. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 48

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright © 2012 Pearson Education, Inc. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 49 Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall