Invitation to Computer Science 5 th Edition Chapter 9 Introduction to High-Level Language Programming.

Slides:



Advertisements
Similar presentations
Starting Out with C++, 3 rd Edition 1 Chapter 1. Introduction to Computers and Programming.
Advertisements

COSC 120 Computer Programming
McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 14 Programming and Languages.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, Java Version, Third Edition.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Computers: Tools for an Information Age
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Chapter 1 Introduction to C Programming. 1.1 INTRODUCTION This book is about problem solving with the use of computers and the C programming language.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Chapter 6: An Introduction to System Software and Virtual Machines
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, C++ Version, Fourth Edition.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Programming and Languages Chapter Competencies (Page 1 of 2) Describe the six steps of programming Discuss design tools including top-down design,
McGraw-Hill Technology Education © 2006 by the McGraw-Hill Companies, Inc. All rights reserved CHAPTER PROGRAMMING AND LANGUAGES.
1414 CHAPTER PROGRAMMING AND LANGUAGES. © 2005 The McGraw-Hill Companies, Inc. All Rights Reserved Competencies Describe the six steps of programming.
Copyright 2003 Scott/Jones Publishing Brief Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
CS102 Introduction to Computer Programming
Powered by DeSiaMore1 Programming Concepts David T. Makota Department of Computing & Information Technology (CIT) The Institute of Finance Management Dar.
1 Chapter-01 Introduction to Computers and C++ Programming.
Introduction to High-Level Language Programming
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Chapter Introduction to Computers and Programming 1.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
COP1220/CGS2423 Introduction to C++/ C for Engineers Professor: Dr. Miguel Alonso Jr. Fall 2008.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Chapter 1: Preliminaries. Objectives In this chapter, you will learn about: Unit analysis Exponential and scientific notations Software development Algorithms.
Invitation to Computer Science 6th Edition
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
Computer Systems Organization CS 1428 Foundations of Computer Science.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Computing Essentials 2014 Programming and Languages © 2014 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Software Basics. Some Pioneers Charles Babbage Analytical Engine Countess Ada Lovelace First Programmer ? John Von Neumann storing instructions in memory.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
1 Programming Fundamentals How to Program in C++ How to Program in C++
Lecture 11: 10/1/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Programming and Languages
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Introduction to High-Level Language Programming Presented By Omar Y. Tahboub Computer Science Department Kent State University.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
CS-303 Introduction to Programming
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 1 An Overview of Computers and Programming Languages.
©Brooks/Cole, 2003 Chapter 1 Introduction. ©Brooks/Cole, 2003 Figure 1-1 Data processor model This model represents a specific-purpose computer not a.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Chapter 1: Introduction to Computers and Programming.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
Invitation to Computer Science 6th Edition
CSCI-235 Micro-Computer Applications
C++ Programming: From Problem Analysis to Program Design
An Introduction to Visual Basic .NET and Program Design
Chapter 8: Introduction to High-Level Language Programming
Chapter 1 Introduction(1.1)
The Programming Process
Chapter 1: Preliminaries
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

Invitation to Computer Science 5 th Edition Chapter 9 Introduction to High-Level Language Programming

Invitation to Computer Science, 5th Edition2 Objectives In this chapter, you will learn about: The language progression A family of languages Two examples in five-part harmony Feature analysis Meeting expectations Software engineering

The Language Progression Using computers to solve problems –Often involves writing programs in a high-level programming language Invitation to Computer Science, 5th Edition33

Where Do We Stand and What Do We Want? Disadvantages of assembly language –Programmer must “manually” manage the movement of data items –Programmer must take a microscopic view of a task, breaking it down into tiny subtasks at the level of what is going on in individual memory locations –Assembly language program is machine specific –Statements are not natural-language-like Invitation to Computer Science, 5th Edition44

Where Do We Stand and What Do We Want? (continued) Expectations of a program written in a high-level language –Programmer need not manage the details of the movement of data items within memory –The programmer can take a macroscopic view of tasks, thinking at a higher level of problem solving Invitation to Computer Science, 5th Edition5

6 Getting Back to Binary Compiler –Converts high-level language instructions into machine language instructions Linker –Inserts requested object code from code libraries into the object code for the requesting program

Invitation to Computer Science, 5th Edition7 Figure 9.1 Transitions of a High-Level Language Program

Invitation to Computer Science, 5th Edition8 A Family of Languages Procedural languages –Program consists of sequences of statements that manipulate data items –Follow directly from the Von Neumann computer architecture –Random access memory stores and fetches values to and from memory cells

Invitation to Computer Science, 5th Edition9 Two Examples in Five-Part Harmony Favorite number –Figure 9.2 shows pseudocode algorithm –Algorithm implemented in Ada (Figure 9.3), C++ (Figure 9.4), C# (Figure 9.5), Java (Figure 9.6), and Python (Figure 9.7)

Invitation to Computer Science, 5th Edition10 Figure 9.2 Pseudocode Algorithm for Favorite Number

Invitation to Computer Science, 5th Edition11 Figure 9.3 Ada Program for Favorite Number

Invitation to Computer Science, 5th Edition12 Figure 9.4 C++ Program for Favorite Number

Invitation to Computer Science, 5th Edition13 Figure 9.5 C# Program for Favorite Number

Invitation to Computer Science, 5th Edition14 Figure 9.6 Java Program for Favorite Number

Invitation to Computer Science, 5th Edition15 Figure 9.6 Java Program for Favorite Number (continued)

Invitation to Computer Science, 5th Edition16 Figure 9.7 Python Program for Favorite Number

Invitation to Computer Science, 5th Edition17 Data Cleanup (Again) In this problem: –Input is a set of integer data values that may contain 0s, and 0s are considered to be invalid data –Output is to be a clean data set where the 0s have been eliminated

Invitation to Computer Science, 5th Edition18 Figure 9.8 The Converging-Pointers Algorithm for Data Cleanup

Invitation to Computer Science, 5th Edition19 Figure 9.9 Ada Converging- Pointers Algorithm

Invitation to Computer Science, 5th Edition20 Figure 9.9 Ada Converging- Pointers Algorithm (continued)

Invitation to Computer Science, 5th Edition21 Figure 9.10 C++ Converging- Pointers Algorithm

Invitation to Computer Science, 5th Edition22 Figure 9.10 C++ Converging-Pointers Algorithm (continued)

Invitation to Computer Science, 5th Edition23 Figure 9.11 C# Converging-Pointers Algorithm

Invitation to Computer Science, 5th Edition24 Figure 9.11 C# Converging- Pointers Algorithm (continued)

Invitation to Computer Science, 5th Edition25 Feature Analysis If you have studied one (or more) of the online chapters for Ada, C++, C#, Java, or Python: –Compare them with the features of the other languages by scanning Figure 9.15

Invitation to Computer Science, 5th Edition26 Figure 9.15 Feature Analysis of Five High-Level Languages

Invitation to Computer Science, 5th Edition27 Figure 9.15 Feature Analysis of Five High- Level Languages (continued)

Invitation to Computer Science, 5th Edition28 Figure 9.15 Feature Analysis of Five High-Level Languages (continued)

Invitation to Computer Science, 5th Edition29 Figure 9.15 Feature Analysis of Five High- Level Languages (continued)

Invitation to Computer Science, 5th Edition30 Figure 9.15 Feature Analysis of Five High- Level Languages (continued)

Invitation to Computer Science, 5th Edition31 Figure 9.15 Feature Analysis of Five High- Level Languages (continued)

Invitation to Computer Science, 5th Edition32 Meeting Expectations Expectations for programs written in a high-level programming language –Programmer need not manage details of the movement of data items within memory or pay any attention to exactly where those items are stored –Programmer can take a macroscopic view of tasks, thinking at a higher level of problem solving

Invitation to Computer Science, 5th Edition33 Meeting Expectations (continued) Expectations for programs written in a high-level programming language (continued) –Programs written in a high-level language will be portable rather than machine specific –Programming statements in a high-level language will be closer to natural language and will use standard mathematical notation

Invitation to Computer Science, 5th Edition34 The Big Picture: Software Engineering Software development life cycle –Overall sequence of steps needed to complete a large-scale software project Studies have shown that on big projects: –Initial implementation of the program may occupy only 10–20% of the total time –25–40% of time is spent on problem specification and program design –40–65% is spent on tasks that follow implementation

Invitation to Computer Science, 5th Edition35 Figure 9.16 Steps in the Software Development Life Cycle

Invitation to Computer Science, 5th Edition36 Scaling Up Figure 9.17 categorizes software products in terms of : –Size –Number of programmers needed for development –Duration of the development effort Software engineering –Large-scale software development

Invitation to Computer Science, 5th Edition37 Figure 9.17 Size Categories of Software Products

Invitation to Computer Science, 5th Edition38 The Software Development Life Cycle The feasibility study Problem specification Program design Algorithm selection or development, and analysis Coding

Invitation to Computer Science, 5th Edition39 The Software Development Life Cycle (continued) Debugging Testing, verification, and benchmarking Documentation Maintenance

Invitation to Computer Science, 5th Edition40 Modern Environments Integrated Development Environment –Lets programmer perform a number of tasks within the shell of a single application program Rapid prototyping –Allows miscommunications between the user and the programmer to be identified and corrected early in the development process

Invitation to Computer Science, 5th Edition41 Summary In a high-level language, the programmer: –Need not manage storage –Can think about the problem at a higher level –Can use more powerful program instructions that are more like natural language –Can write a much more portable program

Invitation to Computer Science, 5th Edition42 Summary (continued) Software development life cycle –Overall sequence of steps needed to complete a large-scale software project