1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.

Slides:



Advertisements
Similar presentations
Program Development and Programming Languages
Advertisements

Computers Are Your Future
Program Development and Programming Languages
Programming Logic and Design Fourth Edition, Introductory
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Programming and Languages Chapter 13.
Chapter 13 Programming Languages and Program Development
Programming Creating programs that run on your PC
Program Development and Programming Languages
Programming System development life cycle Life cycle of a program
Computers Are Your Future © 2006 Prentice Hall, Inc.
Computer Concepts 5th Edition Parsons/Oja Page 546 CHAPTER 11 Software Engineering Section A PARSONS/OJA Computer Programming.
Computers: Tools for an Information Age
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.
Program Development and Programming Languages
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
Your Interactive Guide to the Digital World Discovering Computers 2012.
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
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.
Program Development and Programming Languages
Programming Languages: Telling the Computers What to Do Chapter 16.
Computers Are Your Future Eleventh Edition
Structured COBOL Programming, Stern & Stern, 9th edition
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
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.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming (CS 102) C++ Programminhg.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
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.
Chapter 1 Introduction to Structured Design. Introduction  System  A combination of people, equipment, and procedures that work together to perform.
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.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
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.
Programming and Languages
Computing System Fundamentals 3.1 Language Translators.
CSC1200 INTRODUCTION TO PROGRAMMING Dr. Maureen Markel
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Alexandria University Faculty of Science Computer Science Department Introduction to Programming C++
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.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Java Programming, 3e Concepts and Techniques Chapter 1 Section 56 – An Introduction to Java.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
CSCI-235 Micro-Computer Applications
Program Development and Programming Languages
Programming Languages and Program Development
Chapter 1 Introduction(1.1)
and Program Development
Programming Logic and Design Eighth Edition
Presentation transcript:

1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER

2 Chapter 13 Understanding Computers, 11 th Edition Learning Objectives Understand the differences between structured programming, object-oriented programming (OOP), and aspect-oriented programming (AOP). Identify and describe the activities involved in the program development life cycle (PDLC). Understand what constitutes good program design and list several tools that can be used by computer professionals when designing a program.

3 Chapter 13 Understanding Computers, 11 th Edition Learning Objectives, Cont’d Explain the three basic control structures and how they can be used to control program flow during execution. Discuss some of the activities involved with coding, debugging, maintaining, documenting, and ensuring the quality of programs. List some tools that can be used to speed up or otherwise facilitate the program development process. Describe several programming languages in use today.

4 Chapter 13 Understanding Computers, 11 th Edition Overview This chapter covers: The most common approaches to program design and development The steps in the program development life cycle (PDLC) Tools that can facilitate program development Programming language categories Popular programming languages

5 Chapter 13 Understanding Computers, 11 th Edition Approaches to Program Design and Development Structured programming: programs are separated into modules or subprograms, and instructions are executed one after the other, calling the subprograms when needed

6 Chapter 13 Understanding Computers, 11 th Edition Approaches to Program Design and Development, Cont’d Object-oriented programming (OOP): programs consist of a collection of objects Objects: contain data and methods to be used with that data Variables: data about the state of an object Methods: perform actions on the object

7 Chapter 13 Understanding Computers, 11 th Edition Approaches to Program Design and Development, Cont’d Object-oriented programming (OOP), cont’d: Polymorphism: Multiple methods with the same name can perform different actions with different types of objects Inheritance: all objects inherit the characteristics of the class in which it belongs Aspect-oriented programming (AOP): functions are clearly separated so program components can be developed and modified individually, and the components can be easily reused

8 Chapter 13 Understanding Computers, 11 th Edition The Program Development Life Cycle (PDLC) Program development: the process of creating programs Program development life cycle (PDLC): the steps involved with creating programs

9 Chapter 13 Understanding Computers, 11 th Edition Problem Analysis Problem analysis: the step in the program development life cycle in which the problem is considered and the program specifications are developed Specifications developed during the SDLC are reviewed by the systems analyst and the programmer Goal: to understand the functions the software must perform Documentation: Program specifications (what it does, timetable, programming language to be used, etc)

10 Chapter 13 Understanding Computers, 11 th Edition Program Design Program design: the step in the program development life cycle in which the program specifications are expanded into a complete design of the new program Program design tools Structure charts (depict the overall organization of a program) Program flowcharts (show graphically step-by-step how a computer program will process data

11 Chapter 13 Understanding Computers, 11 th Edition

12 Chapter 13 Understanding Computers, 11 th Edition Program Design, Cont’d Program design tools, cont’d Pseudocode: uses English-like statements to outline the logic of a program

13 Chapter 13 Understanding Computers, 11 th Edition Program Design, Cont’d Program design tools, cont’d Data modeling: illustrates the data in an application Often used when designing an object-oriented program Each object is identified along with its corresponding class, class properties, and variables

14 Chapter 13 Understanding Computers, 11 th Edition

15 Chapter 13 Understanding Computers, 11 th Edition Control structure: a pattern for controlling the flow of logic in a computer program Sequence control structure (series of procedures that follow one another) Selection control structure If-then-else Case Repetition control structure Do-while Do-until Program Design, Cont’d

16 Chapter 13 Understanding Computers, 11 th Edition

17 Chapter 13 Understanding Computers, 11 th Edition

18 Chapter 13 Understanding Computers, 11 th Edition Program Design, Cont’d Good program design = essential Saves time Creates better programs Good program design principles: Be specific (all things the program must do need to be specified One-entry-point/one-exit-point rule No infinite loops or other logic errors (should trace flowchart to check logic) Documentation: Design specifications (expressed using flowcharts, pseudocode, structure charts, data models)

19 Chapter 13 Understanding Computers, 11 th Edition

20 Chapter 13 Understanding Computers, 11 th Edition Program Coding Coding: the process of writing the programming language statements to create a computer program Need to choose a programming language; consider: Suitability Integration Standards Programmer availability Portability Development speed

21 Chapter 13 Understanding Computers, 11 th Edition Program Coding, Cont’d Coding standards: a list of rules designed to standardize programming styles Make programs more universally readable and easier to maintain Includes the proper use of comments to: Identify the programmer and last modification date Explain variables used in the program Identify the main parts of the program

22 Chapter 13 Understanding Computers, 11 th Edition

23 Chapter 13 Understanding Computers, 11 th Edition Program Coding, Cont’d Reusable code: generic code segments that can be used over and over again with minor modifications Can greatly reduce development time Data Dictionary: contains information about the data used in a program, such as the names, descriptions, and rules of usage for every variable and data item used in the program Can help consistency during coding Documentation: Documented source code (including comments)

24 Chapter 13 Understanding Computers, 11 th Edition Program Debugging and Testing Debugging: the process of ensuring a program is free of errors (bugs) Before they can be debugged, coded programs need to be translated into executable code Source code: coded program before it is compiled Object code: machine language version of a program Language translator: program that converts source code to machine language

25 Chapter 13 Understanding Computers, 11 th Edition Program Debugging and Testing, Cont’d Types of language translators Compilers (combines program with other object modules and creates a finished executable program) Interpreters (translates one line of code at one time) Assemblers (convert assembly language programs into machine language)

26 Chapter 13 Understanding Computers, 11 th Edition Program Debugging and Testing, Cont’d Preliminary debugging Syntax errors: occur when the programmer has not followed the rules of the programming language Program won’t run; usually an error message is displayed Logic errors: occur when the logic in a program is wrong Program will run but produces incorrect results Dummy print statements can help locate logic errors

27 Chapter 13 Understanding Computers, 11 th Edition

28 Chapter 13 Understanding Computers, 11 th Edition Program Debugging and Testing, Cont’d Testing: occurs after the program appears to be correct to find any additional errors Should use good test data Tests conditions that will occur when the program is implemented Should check for coding omissions (product quantity allowed to be < 0, etc.) Alpha test (inside organization) Beta test (outside testers) Documentation: Completed program package (user’s manual, description of software commands, troubleshooting guide to help with difficulties, etc.)

29 Chapter 13 Understanding Computers, 11 th Edition Program Implementation and Maintenance Program implementation: implemented as part of the SDLC Once the system containing the program is up and running, the implementation process is complete Program maintenance: process of updating software so it continues to be useful Very costly Documentation: Amended program package

30 Chapter 13 Understanding Computers, 11 th Edition Tools for Facilitating Program Development Application Lifecycle Management (ALM): describes complete systems that can be used to create and manage an application throughout its entire lifecycle, from design through testing

31 Chapter 13 Understanding Computers, 11 th Edition Tools for Facilitating Program Development Application generator: software product that enables users to code new applications quickly Macro recorders (record and play back a series of keystrokes) Report and form generators: GUI tools that enables individuals to prepare reports and forms quickly Often built into database programs

32 Chapter 13 Understanding Computers, 11 th Edition

33 Chapter 13 Understanding Computers, 11 th Edition Tools for Facilitating Program Development Software-asset management tools: designed to help facilitate reusable code Store and organized tested software components so they can be inserted into new applications quickly and efficiently Device software development tools: assist with developing software to be used on devices, such as cars, ATM machines, consumer devices, etc.

34 Chapter 13 Understanding Computers, 11 th Edition Programming Languages Programming language: a set of rules used to write computer programs Programs are written using a programming software package for the selected programming language Categories of programming languages Low-level languages (difficult to code in; machine dependent) Machine language (1s and 0s) Assembly language (includes some words and symbols)

35 Chapter 13 Understanding Computers, 11 th Edition

36 Chapter 13 Understanding Computers, 11 th Edition Programming Languages Categories of programming languages, cont’d High-level languages (closer to natural languages; easier to write in) Includes third-level procedural languages such as BASIC, COBOL, Pascal, and C, as well as newer object-oriented languages such as C++, C#, and Java) Fourth-generation languages (4GLs): even closer to natural languages and easier to work with than 3GLs Includes structured query language (SQL) used with databases

37 Chapter 13 Understanding Computers, 11 th Edition Programming Languages Categories of programming languages, cont’d Natural programming languages (user can communicate in their native language) Doesn’t have to follow program syntax In the infancy stage Visual programming languages (uses a graphical programming environment) User can use mouse and graphical interface and the code is automatically generated Visual versions of many programming languages

38 Chapter 13 Understanding Computers, 11 th Edition Popular Programming Languages FORTRAN: high-level programming language used for mathematical, scientific, and engineering applications Efficient

39 Chapter 13 Understanding Computers, 11 th Edition COBOL: designed for business transaction processing Being phased out in many organ- izations Popular Programming Languages, Cont’d

40 Chapter 13 Understanding Computers, 11 th Edition Pascal: used to teach structured programming; especially appropriate for use in math and science appli- cations Popular Programming Languages, Cont’d

41 Chapter 13 Understanding Computers, 11 th Edition BASIC: easy-to-learn, high-level programming language that was developed to be used by beginning programmers Visual Basic: object-oriented, fourth-generation version of BASIC Popular Programming Languages, Cont’d

42 Chapter 13 Understanding Computers, 11 th Edition C, C++, and C#: versions of the highly efficient C programming language C++ and C# are object- oriented Popular Programming Languages, Cont’d

43 Chapter 13 Understanding Computers, 11 th Edition Java: high-level, object-oriented programming language frequently used for Web-based applications Platform independence is one of Java’s biggest advantages Any operating system or browser that understands Java bytecode (compiled Java programs) can run Java applications Is one of the most popular programming languages today Popular Programming Languages, Cont’d

44 Chapter 13 Understanding Computers, 11 th Edition

45 Chapter 13 Understanding Computers, 11 th Edition Java, cont’d Java applets: small programs that are designed to be inserted into Web pages and run using a Java- enabled Web browser The.class file containing the applet’s code must be stored with the Web site files HTML code is used to insert the applet and specify parameters to customize the applet Java applets that run on the server instead of on the client computer are called servlets Popular Programming Languages, Cont’d

46 Chapter 13 Understanding Computers, 11 th Edition

47 Chapter 13 Understanding Computers, 11 th Edition

48 Chapter 13 Understanding Computers, 11 th Edition Summary Approaches to Program Design and Development The Program Development Life Cycle (PDLC) Tools for Facilitating Program Development Programming Languages