Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, Java Version, Third Edition.

Slides:



Advertisements
Similar presentations
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
Advertisements

Slides prepared by Rose Williams, Binghamton University Chapter 1 Getting Started 1.1 Introduction to Java.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Chapter 2: Algorithm Discovery and Design
Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, Java Version, Third Edition.
COMP 14 Introduction to Programming Mr. Joshua Stough February 28, 2005 Monday/Wednesday 11:00-12:15 Peabody Hall 218.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Relational Operators Control structures Decisions using “if” statements  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this course.
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Guide To UNIX Using Linux Third Edition
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
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.
Java Review Structure of a graphics program. Computer Graphics and User Interfaces Java is Object-Oriented A program uses objects to model the solution.
Chapter 8 Introduction to High-Level Language Programming.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
1 Chapter 8 Objects and Classes. 2 Motivations After learning the preceding chapters, you are capable of solving many programming problems using selections,
Introduction to High-Level Language Programming
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
Chapter 2 Classes and Methods I Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
A First Program Using C#
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
Invitation to Computer Science 5th Edition
Invitation to Computer Science 5 th Edition Chapter 9 Introduction to High-Level Language Programming.
High-Level Programming Languages: C++
Microsoft Visual Basic 2005: Reloaded Second Edition
CIS Computer Programming Logic
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
Chapter 1: A First Program Using C#. Programming Computer program – A set of instructions that tells a computer what to do – Also called software Software.
Invitation to Computer Science 5 th Edition Chapter C# Programming in C#
Invitation to Computer Science 6th Edition
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science, Java Version, Second Edition.
Goals of Course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices.
Introduction to Programming David Goldschmidt, Ph.D. Computer Science The College of Saint Rose Java Fundamentals (Comments, Variables, etc.)
Chapter 1 Introduction to Computers and C++ Programming Goals: To introduce the fundamental hardware and software components of a computer system To introduce.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
CSE 131 Computer Science 1 Module 1: (basics of Java)
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Chapter 1 Section 1.1 Introduction to Java Slides prepared by Rose Williams, Binghamton University Kenrick Mock, University of Alaska Anchorage.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Using Data Within a Program Chapter 2.  Classes  Methods  Statements  Modifiers  Identifiers.
Invitation to Computer Science 5 th Edition Chapter C++ Programming in C++
C++ Basics C++ is a high-level, general purpose, object-oriented programming language.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
Creating a Java Application and Applet
Introduction to OOP CPS235: Introduction.
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
1.1: Objects and Classes msklug.weebly.com. Agenda: Attendance Let’s get started What is Java? Work Time.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
CSCI 51 Introduction to Programming Dr. Joshua Stough February 24, 2009.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
Chapter 1: Introduction to Computers and Programming.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Chapter 7 Introduction to High-Level Language Programming.
Invitation to Computer Science 5 th Edition Chapter Ada Programming in Ada.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
Chapter 3 Syntax, Errors, and Debugging
Java Programming: Guided Learning with Early Objects
Chapter 8: Introduction to High-Level Language Programming
Chapter 1 Introduction(1.1)
Lecture 13 Introduction to High-Level Programming (S&G, §§7.1–7.6)
Chapter 8 Introduction to High-Level Language Programming.
Presentation transcript:

Chapter 8: Introduction to High-Level Language Programming Invitation to Computer Science, Java Version, Third Edition

Invitation to Computer Science, Java Version, Third Edition 2 Objectives In this chapter, you will learn about Where do we stand? High-level languages Introduction to Java Virtual data storage Statement types

Invitation to Computer Science, Java Version, Third Edition 3 Objectives (continued) Meeting expectations Managing complexity Object-oriented programming Graphical programming The big picture: Software engineering

Invitation to Computer Science, Java Version, Third Edition 4 Where Do We Stand? Early days of computing  Programmers were satisfied with assembly language Programs mostly written by very technically oriented people Later decades  Programmers demanded a more comfortable programming environment Programs were now also written by “nontechie” people

Invitation to Computer Science, Java Version, Third Edition 5 High-Level Languages High-level programming languages  Called third-generation languages  Created to overcome deficiencies of assembly language Expectations of a high-level language program  The programmer need not manage the details of the movement of data items within memory nor exactly where those items are stored

Invitation to Computer Science, Java Version, Third Edition 6 High-level Languages (continued) Expectations of a high-level language program (continued)  Programmer can take a macroscopic view of tasks; “primitive operations” can be larger  Program will be portable  Programming statements will be closer to standard English and use standard mathematical notation

Invitation to Computer Science, Java Version, Third Edition 7 Transition of a High-level Language Program High-level langauge program compiler Low-level code Second translator Object code in machine langauge linker Complete object code Executable module loaded into memory HarwareResultes

Invitation to Computer Science, Java Version, Third Edition 8 Introduction to Java: A Simple Java Program Comments  Give information to human readers of code Class header  Announces that a class is about to be defined Class  A collection of methods Method  A section of code that performs a service

Invitation to Computer Science, Java Version, Third Edition 9 Figure 8.2 A Simple Java Program

Invitation to Computer Science, Java Version, Third Edition 10 Running a Java Program File containing the Java code  Same name as the class  File extension.java  Example: TravelPlanner.java Running a Java program  Program compiled Example: File TravelPlanner.class created  Translation to object code completed; program linked, loaded, and executed

Invitation to Computer Science, Java Version, Third Edition 11 Virtual Data Storage Identifiers  Names in a programming language Keyword  Has a special meaning in Java Java is a case-sensitive, free-format language Variable  A named location in memory  Must be declared before it can be used

Invitation to Computer Science, Java Version, Third Edition 12 Figure 8.4 Some of the Java Primitive Data Types

Invitation to Computer Science, Java Version, Third Edition 13 Virtual Data Storage (continued) An array  Groups together a collection of memory locations, all storing data of the same type Figure 8.5 A 12-Element Array Hits

Invitation to Computer Science, Java Version, Third Edition 14 Statement Types Input/output statements  Input statement Collects a specific value from the user for a variable within the program  Output statement Writes a message or the value of a program variable to the user’s screen or to a file

Invitation to Computer Science, Java Version, Third Edition 15 Statement Types (continued) Assignment statement  Assigns a value to a program variable Control statement  Directs the flow of control Can cause it to deviate from the usual sequential flow

Invitation to Computer Science, Java Version, Third Edition 16 Input Statements A prompt  A message that tells the user what kind of input the program wants Console class  Not a standard Java class; written for this book  Can be used to handle both the prompt and the retrieval of the value in one statement

Invitation to Computer Science, Java Version, Third Edition 17 Input Statements (continued) Methods  readInt  readDouble  readChar Syntax variable1 = Console.readInt(prompt); variable2 = Console.readDouble(prompt); variable3 = Console.readChar(prompt);

Eg public class TravelPlanner { public static void main(String[] args) { int speed = 1; double distance = 0; double time; speed = Console.readInt("Enter speed in mph:"); distance = Console.readDouble("Enter your distance in miles;"); time = distance/speed; System.out.print("At " + speed + "mph, it will take " + time + "hours to travel " + distance + " miles"); } Invitation to Computer Science, Java Version, Third Edition 18

Invitation to Computer Science, Java Version, Third Edition 19 Output Statements Output to the screen System.out.println(string); The string can be  Empty System.out.println();  Literal string System.out.println("Here's your answer." );  Composed of two or more items System.out.println("Give me " + 5);

Invitation to Computer Science, Java Version, Third Edition 20 The Assignment Statement General form variable = expression; Expression is evaluated first; the result is written into the memory location specified on the left

Invitation to Computer Science, Java Version, Third Edition 21 The Assignment Statement (continued) Examples B = 2; Suppose that B is an integer variable A = B + C; Suppose that A, B, and C are integer variables Letter = 'm'; Suppose that Letter is a variable of type char

Type casting: happen when an integer value is assigned to a double value. Initialize variable as soon as they they declared, like:  int count = 0; Invitation to Computer Science, Java Version, Third Edition 22

Invitation to Computer Science, Java Version, Third Edition 23 Control Statements Types of control mechanisms  Sequential Instructions are executed in order  Conditional The choice of which instructions to execute next depends on some condition  Looping A group of instructions may be executed many times

Invitation to Computer Science, Java Version, Third Edition 24 Control Statements (continued) Sequential is default mode of execution Conditional flow of control  Evaluation of a Boolean condition (also called a Boolean expression)  The programming statement to execute next is based on the value of the Boolean condition (true or false)

Invitation to Computer Science, Java Version, Third Edition 25 Control Statements (continued) Conditional flow of control (continued)  if-else statement if (Boolean condition) S1; else S2;  if variation of the if-else statement if (Boolean condition) S1; S1, S2 may be compound statement (may have serval statements)

Invitation to Computer Science, Java Version, Third Edition 26 Figure 8.10 Conditional Flow of Control (If-Else)

Invitation to Computer Science, Java Version, Third Edition 27 Figure 8.11 If-Else with Empty Else

Comparison Operator SymbolExampleExample Result ==2==5F <2<5T <=2<=5T >2>5F >=2>=5F !=2!=5T Invitation to Computer Science, Java Version, Third Edition 28

Boolean Operator OperatorSymbolEgEg result AND&&(2 7)F OR||(2 7)T NOT!!(2==5)T Invitation to Computer Science, Java Version, Third Edition 29

public class TravelPlanner { public static void main(String[] args) { int speed = 1; double distance = 0; double time; int hours = 0; int minutes = 0; char choice = 'M'; speed = Console.readInt("Enter speed in mph:"); distance = Console.readDouble("Enter your distance in miles;"); choice = Console.readChar("Decimal hours or hours and mins"); if (choice == 'D') { time = distance/speed; System.out.print("At " + speed + "mph, it will take " + time + "hours to travel " + distance + " miles"); } else { time = distance/speed; hours = (int) time; minutes = (int)((time - hours)*60); System.out.print("At " + speed + "mph, it will take " + hours + " hours " + minutes + " minutes " + distance + " miles"); } Invitation to Computer Science, Java Version, Third Edition 30

Invitation to Computer Science, Java Version, Third Edition 31 Control Statements (continued) Looping (iteration)  The loop body may be executed repeatedly based on the value of the Boolean condition  while statement while (Boolean condition) S1;

Invitation to Computer Science, Java Version, Third Edition 32 Figure 8.13 While Loop

public class TravelPlanner { public static void main(String[] args) { int speed = 1; double distance = 0; double time; int hours = 0; int minutes = 0; char choice = 'M'; char more = 'Y'; more = Console.readChar("Want to plan a trip? (Y or N):"); while (more == 'Y') { speed = Console.readInt("Enter speed in mph:"); distance = Console.readDouble("Enter your distance in miles;"); choice = Console.readChar("Decimal hours or hours and mins: "); if (choice == 'D') { time = distance / speed; System.out.print("At " + speed + " mph, it will take " + time + " hours to travel " + distance + " miles "); } else { time = distance / speed; hours = (int) time; minutes = (int) ((time - hours) * 60); System.out.print("At " + speed + " mph, it will take " + hours + " hours " + minutes + " minutes " + distance + " miles "); } System.out.println(); more = Console.readChar("Want to plan another trip? (Y or N):"); } Invitation to Computer Science, Java Version, Third Edition 33

Another Example Algorithm (Psudo code) Get value for user’s choice about continuing While user wants to continue, do the following steps Get value for pool radius Get value for choice of task If taske choice is circumference Compute pool circumference print output Else (task to aread) Compute pool area print output Get value for user’s choice about continuing Stop Invitation to Computer Science, Java Version, Third Edition 34

public class SportsWorld { public static void main(String[] args) { double radius = 0.0; double circumference = 0.0; double area = 0.0; char taskToDo = ' '; char more = 'Y'; more = Console.readChar("Want to process a pool? (Y or N):"); while (more == 'Y') { System.out.println(); radius = Console.readDouble("Enter the value of radius:"); System.out.println("Enter your choice of task: "); taskToDo = Console.readChar("C to circumference; A to compute area "); if (taskToDo == 'C') { circumference = 2 * Math.PI * radius; System.out.print("The circumference for a pool of radius " + radius + " is " + circumference); } else { area = Math.PI * radius * radius; System.out.print("The area for a pool of radius " + radius + " is " + area); } System.out.println(); more = Console.readChar("Want to process another trip? (Y or N):"); } Invitation to Computer Science, Java Version, Third Edition 35

Invitation to Computer Science, Java Version, Third Edition 36 Meeting Expectations Java meets the four expectations for a high-level programming language Expectations  The programmer need not manage the details of the movement of data items within memory nor pay any attention to where specifically they are stored

Invitation to Computer Science, Java Version, Third Edition 37 Meeting Expectations (continued) Expectations (continued)  The programmer can take a macroscopic view of tasks, thinking at a higher level of problem solving  Programs written in high-level languages will be portable rather than machine-specific  Programming statements in a high-level language Will be closer to standard English Will use standard mathematical notation

Invitation to Computer Science, Java Version, Third Edition 38 Managing Complexity: Divide and Conquer Divide and conquer  Divide the problem into small pieces  In a computer program Divide the code into modules or subprograms, each of which does some part of the overall task Empower these modules to work together to solve the original problem

Invitation to Computer Science, Java Version, Third Edition 39 Figure 8.20 Structure Charts

Invitation to Computer Science, Java Version, Third Edition 40 Using Methods Method  A module of code in Java  Named using ordinary Java identifiers  By custom, name starts with a lowercase letter

Invitation to Computer Science, Java Version, Third Edition 41 Using Methods (continued) Two types of methods  void method Does not pass any value back to the main method  nonvoid method Returns a single new value back to the main method Overall form of a method invocation method-identifier(argument list) (same class) class-identifier.method-identifier(argument list) (different class)

public class SportsWorld { public static void main(String[] args) { double radius = 0.0; double circumference = 0.0; double area = 0.0; char taskToDo = ' '; char more = 'Y'; more = Console.readChar("Want to process a pool? (Y or N):"); while (more == 'Y') { System.out.println(); radius = Console.readDouble("Enter the value of radius:"); System.out.println("Enter your choice of task: "); taskToDo = Console.readChar("C to circumference; A to compute area "); System.out.println(); if (taskToDo == 'C') { circumference = doCircumference(radius); System.out.print("The circumference for a pool of radius " + radius + " is " + circumference); } else { area = doArea(radius); System.out.print("The area for a pool of radius " + radius + " is " + area); } System.out.println(); more = Console.readChar("Want to process another trip? (Y or N):"); } 42

public static double doCircumference(double radius) { double circumference = 0; circumference = 2 * Math.PI * radius; return circumference; } public static double doArea(double radius) { double area = 0; area = Math.PI * radius * radius; return area; } public static void Prompt(double radius) { System.out.println(“radius: “ + radius); } Invitation to Computer Science, Java Version, Third Edition 43

Invitation to Computer Science, Java Version, Third Edition 44 Writing Methods General form of the method header scope-indicator return-indicator identifier(parameter list) Arguments in Java are passed by value A variable declared within a method can be used only within that method Return statement  Syntax return expression;

Invitation to Computer Science, Java Version, Third Edition 45 Figure 8.27 Some Java Terminology

Invitation to Computer Science, Java Version, Third Edition 46 Object-Oriented Programming: What Is It? Object-oriented programming (OOP)  A program is a simulation of some part of the world that is the domain of interest  Each object is an example drawn from a class of similar objects Key elements of OOP  Encapsulation A class consists of its subtask modules and its properties, and both components are “encapsulated” with the class

Invitation to Computer Science, Java Version, Third Edition 47 What Is It? (continued) Key elements of OOP (continued)  Inheritance Once a class A of objects is defined, a class B of objects can be defined as a “subclass” of A  Polymorphism One name, the name of the service to be performed, has several meanings, depending on the class of the object providing the service

Invitation to Computer Science, Java Version, Third Edition 48 Java and OOP Java is an object-oriented programming language Objects: Instances of a class Instance variables: Properties Instance methods: Services Static method  Can be invoked by giving the class name, a dot, the method name, and a list of arguments. Use class to call static method

Invitation to Computer Science, Java Version, Third Edition 49 Java and OOP (continued) Syntax to request an object to invoke a method object-identifier.method-identifier(argument list) Calling object  The object that invokes a method

package myproject; public class SportsWorld { public static void main(String[] args) { double newRadius = 0.0; char taskToDo = ' '; char more = 'Y'; Circle SwimmingPool = new Circle(); more = Console.readChar("Do you want to prcess a new pool? (Y or N): "); while (more == 'Y') { System.out.println(); newRadius = Console.readDouble("Enter the value to the radius of the pool: "); SwimmingPool.setRadius(newRadius); System.out.println("Enter your choice of task."); taskToDo = Console.readChar("C to compue ciucumference, A to compute area: "); System.out.println(); if (taskToDo == 'C') System.out.println("the ciccumference for a pool radius " + SwimmingPool.getRadius() + " is " + SwimmingPool.doCircumference()); else System.out.println("the area for a pool radius " + SwimmingPool.getRadius() + " is " + SwimmingPool.doAreaY()); more = Console.readChar("Do you want to prcess a new pool? (Y or N): "); } Invitation to Computer Science, Java Version, Third Edition 50

public class Circle { public void setRadius(double value) { radius =value; } public double getRadius() { return radius; } public double doCircumference() { return 2 * Math.PI * radius; } public double doArea() { return Math.PI * radius * radius; } private double radius; } Invitation to Computer Science, Java Version, Third Edition 51

One more example public class Circle { public void setRadius(double value) { radius =value; } public double getRadius() { return radius; } public double doCircumference() { return 2 * Math.PI * radius; } public double doArea() { return Math.PI * radius * radius; } private double radius; } Invitation to Computer Science, Java Version, Third Edition 52

public class Rectangle { public void setWidth(double value) { width =value; } public void setHeight(double value) { height =value; } public double getWidth() { return width; } public double getHeitgh() { return height; } public double doArea() { return width * height; } protected double width, height; } Invitation to Computer Science, Java Version, Third Edition 53

public class Square { public void setSide(double value) { side = value; } public double getSide() { return side * side; } public double doArea() { return side * side; } private double side; } Invitation to Computer Science, Java Version, Third Edition 54

public class Square2 extends Rectangle{ public void setSide(double value) { width = value; height = value; } Invitation to Computer Science, Java Version, Third Edition 55

public class Ceometry { public static void main(String[] args) { Circle joe = new Circle(); joe.setRadius(23.5); System.out.println("The area of a circle with radius " + joe.getRadius() + " is " + joe.doArea()); Rectangle luis = new Rectangle(); luis.setWidth(12.4); luis.setHeight(18.1); System.out.println("The area of a rectangle with dimensions " + luis.getWidth() + " and " + luis.getHeight() + " is " + luis.doArea()); Square anna = new Square(); anna.setSide(3); System.out.println("The area of a square with side " + anna.getSide() + " is " + anna.doArea()); Square2 tyler = new Square2(); tyler.setSide(4.2); System.out.println("The area of a square with side " + tyler.getWidth() + " is " + tyler.doArea()); } Invitation to Computer Science, Java Version, Third Edition 56

Invitation to Computer Science, Java Version, Third Edition 57 What Have We Gained? Two major advantages of OOP  Software reuse  A more natural “world view”

Invitation to Computer Science, Java Version, Third Edition 58 Graphical Programming: Graphics Hardware Bitmapped display  The screen is made up of thousands of individual picture elements, or pixels, laid out in a two- dimensional grid Frame buffer  Memory that stores the actual screen image Terminal hardware displays the frame buffer value of every individual pixel on the screen

Invitation to Computer Science, Java Version, Third Edition 59 Figure 8.34 Pixel Numbering System in a Bitmapped Display

Invitation to Computer Science, Java Version, Third Edition 60 Graphics Software Graphics library  Contains a collection of software routines that control the setting and clearing of pixels Abstract Windowing Toolkit (AWT)  Contains routines that allow users to create powerful interfaces Swing components  Even more powerful GUI components than AWT

Invitation to Computer Science, Java Version, Third Edition 61 Graphics Software (continued) Graphics class  Contains drawing commands that allow you to Draw geometric shapes (lines, rectangles, ovals, polygons, and so on) Set, change, and define colors Fill in or shade objects Create text in a range of fonts and sizes Produce graphs and charts

Eg import java.awt.*; public class Graph { public static void main(String[] args) { Frame f = new Frame("Eg 1"); f.setSize(500, 500); f.setVisible(true); Graphics g; g = f.getGraphics(); g.setColor(Color.blue); while (true) { g.drawLine(168, 112, 112, 168); g.drawOval(100, 100, 80, 80); g.drawString("No Entry", 112, 145); } Invitation to Computer Science, Java Version, Third Edition 62

Other functions drawRect(int x, int y, int width, int height); drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight); fillRect(int x, int y, int width, int height); fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight); fillOvel(int x, int y, int width, int height); Invitation to Computer Science, Java Version, Third Edition 63

Invitation to Computer Science, Java Version, Third Edition 64 The Big Picture: Software Engineering Software life cycle  The overall sequence of steps needed to complete a large-scale software project  Implementation represents a relatively small part of the cycle

Invitation to Computer Science, Java Version, Third Edition 65 Figure 8.36 Steps in the Software Development Life Cycle

Invitation to Computer Science, Java Version, Third Edition 66 Scaling Up Programs written by students  No longer than a few hundred lines Real-world programs  2, 3, or 4 orders of magnitude larger Large-scale software development  Extensive planning and design needed  A team of programmers needed  Software engineering

Invitation to Computer Science, Java Version, Third Edition 67 The Software Life Cycle Each step in the software development life cycle  Has a specific purpose and activities  Should result in a written document The feasibility study Problem specification Program design

Invitation to Computer Science, Java Version, Third Edition 68 The Software Life Cycle (continued) Algorithm selection or development, and analysis Coding Debugging Testing, verification, and benchmarking Documentation Maintenance

Invitation to Computer Science, Java Version, Third Edition 69 Modern Environments Integrated Development Environment (IDE) speeds program development by providing  A text editor  A file manager  A compiler  A linker and loader  Tools for debugging

Invitation to Computer Science, Java Version, Third Edition 70 Summary In a high-level language, the programmer  Need not manage storage nor movement of data values in memory  Can use more powerful program instructions that are more like natural language  Can write a much more portable program Java is an object-oriented, high-level programming language

Invitation to Computer Science, Java Version, Third Edition 71 Summary (continued) In Java, an if-else statement can be used to create a conditional flow of control In Java, a while loop can be used for iteration Software life cycle: Overall sequence of steps needed to complete a large-scale software project