J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, D.S. Malik D.S. Malik.

Slides:



Advertisements
Similar presentations
Chapter 1 An Overview of Computers and Programming Languages.
Advertisements

ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
Overview of Computers & Programming Languages Chapter 1.
 2005 Pearson Education, Inc. All rights reserved Introduction.
Chapter 1: An Overview of Computers and Programming Languages J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 24, 2005.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
COMP 14 Introduction to Programming
Chapter 1: An Overview of Computers and Programming Languages
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
CHAPTER 1: AN OVERVIEW OF PROGRAMMING INSTRUCTOR: MOHAMMAD MOJADDAM How to Program in C++
CHAPTER 1 AN OVERVIEW OF COMPUTERS AND PROGRAMMING LANGUAGES.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet, and the Web Outline 1.1 Introduction 1.2 What Is a.
Computer Programming-1 CSC 111 Chapter 1 : Introduction.
Chapter 1: An Overview of Computers and Programming Languages.
CSC 111 Java Programming I. Java Programming: From Problem Analysis to Program Design, Second Edition  Instructor – Salwa Hamad Al-Jasser  Office.
About the Presentations The presentations cover the objectives found in the opening of each chapter All chapter objectives are listed in the beginning.
Chapter 1 An Overview of Computers and Programming Languages.
EGR 2261 Engineering Problem Solving Using C and C++ Professor Nick Reeder.
CISC105 General Computer Science Class 1 – 6/5/2006.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Chapter 1: An Overview of Computers and Programming Languages
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
Introduction to Computer Systems and the Java Programming Language.
Java Programming, Second Edition Chapter One Creating Your First Java Program.
Chapter 1: An Overview of Computers and Programming Languages
CHAPTER 3 GC Java Fundamentals. 2 BASICS OF JAVA ENVIRONMENT  The environment  The language  Java applications programming Interface API  Various.
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition D.S. Malik D.S. Malik.
CHAPTER 1 INTRODUCTION 2 nd Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 1: An Overview of Computers and Programming Languages.
1 Chapter 1 Programming Languages Evolution of Programming Languages To run a Java program: Java instructions need to be translated into an intermediate.
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
C++ Programming: Program Design Including Data Structures, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1 An Overview of Computers and Programming Languages.
1 Chapter 1 Java –Originally for intelligent consumer-electronic devices –Then used for creating Web pages with dynamic content –Now also used for: Develop.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Introduction to Programming By: Prof. Muhammad Abu Baker Siddique 2 nd Lecture 1.
Chapter 1 Introduction 2nd Semester H
Java Programming: From the Ground Up
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1 – Introduction to Computers, the Internet, and the Web
GC101 Introduction to computer and program
Chapter 3 GC 101 Java Fundamentals.
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: An Overview of Computers and Programming Languages
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: An Overview of Computers and Programming Languages
About the Presentations
Java programming lecture one
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
Chapter 1: An Overview of Computers and Programming Languages
Introduction CSC 111.
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Computer Programming-1 CSC 111
Presentation transcript:

J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, D.S. Malik D.S. Malik

Java Programming: From Problem Analysis to Program Design, Second Edition 2 Chapter 1: An Overview of Computers and Programming Languages Chapter 1: An Overview of Computers and Programming Languages

Chapter 1: Overview  Components of a computer system  The language of a computer  Evolution of programming languages.  Processing a Java program  Problem-solving technique  Structured and object-oriented design methodologies Java Programming: From Problem Analysis to Program Design, Second Edition3

Introduction  Computers have greatly affected our daily lives—  helping us complete many tasks.  Computer programs (software) are designed specifically for each task.  Software is created with programming languages.  Java is an example of a programming language. Java Programming: From Problem Analysis to Program Design, Second Edition4

An Overview of the  History of Computers  1950s: Very large devices available to a select few.  1960s: Large corporations owned computers.  1970s: Computers got smaller and cheaper.  1990s: Computers got cheaper and faster and were found in most homes. Java Programming: From Problem Analysis to Program Design, Second Edition5

Elements of a Computer System  A computer has two components:  Hardware  Software Java Programming: From Problem Analysis to Program Design, Second Edition6

Hardware Components of a Computer  Central processing unit (CPU)  Main memory Java Programming: From Problem Analysis to Program Design, Second Edition7

Central Processing Unit  Control unit (CU)  Arithmetic logic unit (ALU)  Program counter (PC)  Instruction register (IR) Java Programming: From Problem Analysis to Program Design, Second Edition8

Main Memory  Ordered sequence of cells (memory cells).  Directly connected to CPU.  All programs must be brought into main memory before execution.  When power is turned off, everything in main memory is lost. Java Programming: From Problem Analysis to Program Design, Second Edition9

Secondary Storage  Provides permanent storage for information.  Examples of secondary storage:  Hard disks  Floppy disks  Zip disks  CD-ROMs  Tapes Java Programming: From Problem Analysis to Program Design, Second Edition10

Software  Software consists of programs written to perform specific tasks.  Two types of programs:  System programs  Application programs Java Programming: From Problem Analysis to Program Design, Second Edition11

System Programs  System programs control the computer.  The operating system (OS) is first to load when you turn on a computer.  The OS monitors the overall activity of the computer and provides services.  Example services provided by the OS:  Memory management  Input/output  Activities  Storage management Java Programing: From Problem Analysis to Program Design, Second Edition12

Application Programs  Written using programming languages.  Perform a specific task.  Run by the OS.  Example programs:  Word processors  Spreadsheets  Games Java Programming: From Problem Analysis to Program Design, Second Edition13

Language of a Computer  Machine language is the most basic language of a computer.  A sequence of 0s and 1s.  Every computer directly understands its own machine language.  A bit is a binary digit, 0 or 1.  A byte is a sequence of eight bits. Java Programming: From Problem Analysis to Program Design, Second Edition14

Language of a Computer Java Programming: From Problem Analysis to Program Design, Second Edition15

Evolution of Programming Languages  Early computers programmed in machine language.  Assembly languages were developed to make programmer’s job easier.  In assembly language, an instruction is an easy-to remember form called a mnemonic.  Assembler: Translates assembly language instructions into machine language. Java Programming: From Problem Analysis to Program Design, Second Edition16

Instructions in Assembly and Machine Languages Java Programming: From Problem Analysis to Program Design, Second Edition17

Java Programming: From Problem Analysis to Program Design, Second Edition18 Evolution of Programming Languages  High-level languages make programming easier.  Closer to spoken languages.  Examples:  Basic  FORTRAN  COBOL  C/C++  Java

Java Programming: From Problem Analysis to Program Design, Second Edition19 History Of Java  Developed by Sun Microsystems – a company known for its workstations.  Java is well known for developing internet applications. it is used to :  Create web pages with dynamic and interactive content.  Develop large –scale enterprise applications.  Enhance the functionality of WWW servers.  Provide applications for customer devices ( ex. Cell phones).  Java programs can run from a web browser.

Java Programming: From Problem Analysis to Program Design, Second Edition20 Basics of Java Environment  The environment  The language  Java applications programming Interface API  Various class libraries

Java Programming: From Problem Analysis to Program Design, Second Edition21 Processing a Java Program A Java program undergoes several stages : 1.Editing : use java code and save in a text file named className.java ( source program ). 2. Compiling : the compiler checks the source program for any syntax errors then translates the program into code understood by interpreter called bytecode saved in a file named className.class 3. Loading : the.class file is loaded into computer main memory for execution, and connected to all classes. 4. Verifying : to validate and secure against damage. 5. Interpreting : the Interpreter reads and translates each bytecode instruction into machine language and then executes it, one instrucion at a time.

Java Programming: From Problem Analysis to Program Design, Second Edition22 Processing a Java Program

 Compiler: A program that translates a program written in a high-level language into the equivalent machine language. (In the case of Java, this machine language is the bytecode.)  Source program: Written in a high-level language.  Loader: Transfers the compiled code (bytecode) into main memory.  Interpreter: Reads and translates each bytecode instruction into machine language and then executes it. Java Programming: From Problem Analysis to Program Design, Second Edition23

Java Programming: From Problem Analysis to Program Design, Second Edition24 Processing a Java Program  Java Virtual Machine (JVM): A hypothetical computer developed to make Java programs machine independent ( i.e run on many different types of computer platforms ).  Bytecode is the machine language for the JVM.

Java Programming: From Problem Analysis to Program Design, Second Edition25 Processing a Java Program Two types of Java programs:  applications : standalone programs stored and executed on a local computer.  applets : small programs stored on remote computers that users connect to via a WWW browser. Applets are loaded into the browser, executed then discarded.

Java Programming: From Problem Analysis to Program Design, Second Edition26 Example of a Java Program  A simple java application: an application executes using the java interpreter. Example : // This prints a line of text public class Welcome { public static void main (String args[] ) { System.out.println(“ welcome to java”) ; }

Java Programming: From Problem Analysis to Program Design, Second Edition27 Example of a Java Program  // single line comment  /* */ multiple line comment  Every java program must have at least one class.  Each class begins with a class declaration that defines data and methods for the class.  The class name here is Welcome, and contains a method main ()  Welcome is an identifier.

Java Programming: From Problem Analysis to Program Design, Second Edition28 Java Identifiers  Names of things. Such as methods, class names..  Consists of:  Letters  Digits  The underscore character ( _ )  The dollar sign ( $ )  Must begin with a letter, underscore, or the dollar sign. (i.e does not begin with a digit )  Java is case sensitive. A and a are different.

Java Programming: From Problem Analysis to Program Design, Second Edition29 Java Program- class definiton  Always begin a class name with a capital letter.  The class definition should be saved in a file that contains the class name.( i.e Welcome.java )  A file cannot contain two public classes.  public static void main (String args[]) is a part of every java application program.

Java Programming: From Problem Analysis to Program Design, Second Edition30 Java Program- class definiton  Java applications automatically begin executing at main ().  The parentheses () after main indicate that main is a method.  Class definitions normally contain one ore more methods.  One of those methods must be called main.  The void before main () means that main will not return any info.

Java Programming: From Problem Analysis to Program Design, Second Edition31 A Java Program public class ASimpleJavaProgram { public static void main(String[] args) { System.out.println("My first Java program."); System.out.println("The sum of 2 and 3 = " + 5); System.out.println("7 + 8 = " + (7 + 8)); } Class name Java o/p stmts Body of class Heading of method main

Java Programming: From Problem Analysis to Program Design, Second Edition32 A Java Program  A java output statement causes the program to evaluate whatever is in the parentheses and display the result on screen.  Anything in double quotation marks, called string, evaluates to itself.  + is used to concatenate the strings. The system automatically converts the number 5 into a string,joins that string with the first string,and displays it.

Java Programming: From Problem Analysis to Program Design, Second Edition33 A Java Program  The parentheses around 7+8 causes the system to add the numbers 7 and 8,resulting in 15.  The number 15 is then converted to string 15 and joined with string “7+8”= “. Sample Run: My first Java program. The sum of 2 and 3 = = 15

Java Programming: From Problem Analysis to Program Design, Second Edition34 A Java Program  The basic unit of a java program is a class.  Every class consists of one or more methods.  A method is a set of statements that accomplish something.  A java class must contain one main method if it is an application.  Execution always begins with method main in java application program.

Java Programming: From Problem Analysis to Program Design, Second Edition35 Internet,WWW and Java  Internet : is an interconnection of networks that allows computers around the world to communicate with each other.  In 197o’s, the US DOD developed techniques to interlink networks, i.e communication protocols so that networked computers could communicate  Internet  WWW uses s/w programs that enable users to view documents on any computer over the internet

Java Programming: From Problem Analysis to Program Design, Second Edition36 Internet,WWW and Java  The primary language of web is HTML, a simple language for laying out and linking documents.  HTML is not capable of interacting with users except to collect info via simple forms.  Java applets make the web responsive and interactive

Java Programming: From Problem Analysis to Program Design, Second Edition37 Programming Methodologies Two basic approaches to programming design:  Structured design  Object-oriented design

Java Programming: From Problem Analysis to Program Design, Second Edition38 Structured Design 1.A problem is divided into smaller sub-problems. 2.Each sub-problem is analyzed, solved and a solution for this sub-problem is obtained. 3.The solutions of all sub-problems are combined to solve the overall problem. 4.Is called structured programming, top-down design approach, or modular programming.

Java Programming: From Problem Analysis to Program Design, Second Edition39 Object-Oriented Design (OOD)  In OOD, a program is a collection of interacting objects.  An object consists of data and operations.  Steps in OOD: 1.Identify the objects which form the basis of the solution, then determine how these objects interact with each other. Example : write a program that automates the video rental process for a video store. The two main objects are : 1- video 2- customer

Java Programming: From Problem Analysis to Program Design, Second Edition40 Object-Oriented Design (OOD)  Steps in OOD: 2. Specify the relevant data for each object and the possible operations to be performed on that data. Example : for the video object o the data might be : movie name,Starring actors,and Number of copies in stock. oThe operations on video object might include : checking the name of the movie, reducing the # of copies in stock by 1 after renting a copy.

Java Programming: From Problem Analysis to Program Design, Second Edition41 Object-Oriented Design (OOD)  Each object consists of data and operations on those data  The final program is a collection of interacting objects.

Java Programming: From Problem Analysis to Program Design, Second Edition42 Problem-Analysis-Coding- Execution Cycle  Algorithm: A step-by-step, problem-solving process in which a solution is arrived at in a finite amount of time.

Java Programming: From Problem Analysis to Program Design, Second Edition43 Problem-Solving Process 1.Analyze the problem: Outline solution requirements and design an algorithm. 2.Implement the algorithm in a programming language (Java) and verify that the algorithm works. 3.Maintain the program: Use and modify if the problem domain changes.

Java Programming: From Problem Analysis to Program Design, Second Edition44 Problem-Analysis-Coding-Execution Cycle

example1  Design an algorithm to find the perimeter and area of a rectangle. Java Programming: From Problem Analysis to Program Design, Second Edition45

algorithm 1. get the length of the rectangle. 2. get the width of the rectangle. 3. Find the perimeter using the equation: perimeter = 2*(length + width) 4. Find the area using the equation: area = length* width Java Programming: From Problem Analysis to Program Design, Second Edition46

Example 2  Design an algorithm that calculates the average of 3 numbers. Java Programming: From Problem Analysis to Program Design, Second Edition47

algorithm 1. Get the three numbers A, B, C 2. Calculate the average average = (A+B+C) /3 3. print the average Java Programming: From Problem Analysis to Program Design, Second Edition48