Chapter 1 Introduction - PowerPoint PPT Presentation

About This Presentation
Title:

Chapter 1 Introduction

Description:

To learn about the architecture of computers ... Removable storage devices: floppy disks, tapes, CDs, DVDs, etc. Anatomy of a Computer ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 51
Provided by: chand158
Learn more at: http://www.cs.sjsu.edu
Category:

less

Transcript and Presenter's Notes

Title: Chapter 1 Introduction


1
Chapter 1Introduction
2
Chapter Goals
  • To understand the activity of programming
  • To learn about the architecture of computers
  • To learn about machine code and high level
    programming languages
  • To become familiar with your computing
    environment and your compiler
  • To compile and run your first Java program
  • To recognize syntax and logic errors

3
Prerequisites
  • Computer savvy
  • File management, text editing, etc
  • Problem solving skills
  • The most important skill in all of CS!
  • Time management
  • Math 19
  • No prior programming background required

4
What Is Programming?
  • Computers are programmed to perform tasks
  • This why a computer can do so many things
  • Different tasks require different programs
  • Program
  • Sequence of basic operations executed in rapid
    succession
  • Contains instruction sequences for all tasks it
    can execute
  • Sophisticated programs require teams of highly
    skilled programmers and other professionals
  • Examples?
  • Your programs for this class will be mundane

5
Self Check
  • What is required to play a music CD on a
    computer?
  • Why is a CD player less flexible than a computer?
  • Can a computer program develop the initiative to
    execute tasks in a better way than its
    programmers envisioned?

6
Answers
  • A program (software) that reads the data on the
    CD and sends output to the speakers and the
    screen.
  • A CD player can do one thingplay music CDs. It
    cannot execute programs.
  • No. The program simply executes the instruction
    sequences that the programmers have prepared in
    advance.

7
Anatomy of a Computer
  • Central processing unit (CPU)
  • Chip
  • Transistors
  • Storage
  • Primary storage Random-access memory (RAM)
  • Secondary storage usually a hard disk
  • Removable storage devices floppy disks, tapes,
    CDs, DVDs, etc.

8
Anatomy of a Computer
  • Hardware CPU, storage, peripherals, etc.
  • Executes very simple instructions
  • Load, store, add, etc.
  • Executes simple instructions very rapidly
  • Speeds are almost unimaginably fast
  • General purpose and open system
  • In contrast to, say, a game console

9
Central Processing Unit
Figure 1 Central Processing Unit
10
Memory Module / Memory Chips
Figure 2 A Memory Module with Memory Chips
11
A Hard Disk
Figure 3 A Hard Disk
12
A Motherboard
Figure 4 A Motherboard
13
Schematic Diagram of a Computer
Figure 5 Schematic Diagram of a Computer
14
The ENIAC
Figure 6 The ENIAC
15
Self Check
  • Where is a program stored when it is not
    currently running?
  • Which part of the computer carries out arithmetic
    operations, such as addition and multiplication?

16
Answers
  • In secondary storage, typically a hard disk.
  • The central processing unit (CPU).

17
Machine Code
  • Java Virtual Machine (JVM)
  • A typical sequence of machine instructions
  • Load the contents of memory location 40
  • Load the value 100
  • If the first value is greater than the second
    value, continue with the instruction that is
    stored in memory location 240
  • Machine instructions encoded as numbers

21 40 16 100 163 240
  • Compiler translates high-level language to
    machine code

18
Self Check
  • What is the code for the Java virtual machine
    instruction "Load the contents of memory location
    100"?
  • Does a person who only uses a computer for office
    work ever need a compiler?

19
Answers
  • 21 100
  • No. A compiler is used by programmers, to
    translate high-level programming instructions
    into machine code.

20
The Java Programming Language
  • Simple
  • Safe
  • Platform-independent
  • write once, run anywhere
  • portable
  • Rich library (packages)
  • Great for the Internet (applets)

21
The Java Programming Language
  • Java is good for beginners, but not perfect
  • Simplest programs are not that simple
  • Java has been revised many times (and continues
    to be revised)
  • Cannot learn all of Java in one semester (if
    ever)
  • These are not serious problems for professional
    programmers

22
Applets on a Web Page
Figure 7 Applets on a Web Page
23
Self Check
  • For the beginning programmer, what are the two
    most important benefits of Java?
  • How long does it take to learn the entire Java
    library?

24
Answers
  • Safety and portability (simple?)
  • No one person can learn the entire library since
    it is too large. Learn the part that is needed
    for a particular project.

25
Become Familiar with your Computer
  • Log in
  • Locate the Java compiler
  • Be sure you can run the compiler
  • Understand files and folders
  • Programs are kept in files
  • File a collection of items of information that
    are kept together
  • Files have names, and the rules for legal names
    differ from one system to another
  • Files are stored in folders or directories these
    file containers can be nested

26
Become Familiar with your Computer
  • Write a simple program (next)
  • Save your work
  • Develop a strategy for keeping backup copies of
    your work
  • This is essential!
  • See text (p. 14) for some good suggestions

27
A Shell Window
Figure 8A Shell Window
28
An Integrated Development Environment (IDE)
Figure 9An Integrated Development Environment
29
Nested Folders
Figure 10Nested Folders
30
Self Check
  • How are programming projects stored on a
    computer?
  • What do you do to protect yourself from data loss
    when you work on programming projects?

31
Answers
  • Programs are stored in files, and files are
    stored in folders or directories
  • Backup your files and folders

32
Compiling A Simple Program
  • Java is case sensitive
  • Print is not the same as print
  • Spacing is ignored by compiler
  • But very useful to the human reader
  • Class, method, object

33
Class
  • Classes are fundamental building block in Java

public class HelloTester . . .
  • Class HelloTester, file HelloTester.java

34
Method
  • Define a method called main

public class HelloTester public static
void main(String args) . . .
  • Collection of program instructions
  • Parameter String args is required in main

35
Comment
  • Anything following // is ignored by compiler

public class HelloTester public static
void main(String args) //
Display a greeting in the console window . . .
  • Comments useful to humans
  • Can also use / /

36
Body
  • Print a line of text Hello, World!

public class HelloTester public static
void main(String args) //
Display a greeting in the console window
System.out.println("Hello, World!")
  • Console window is object called out
  • Object out is in the class System
  • So must refer to it as System.out
  • Method println what to do with the object

37
File HelloTester.java
1 public class HelloTester 2 3 public
static void main(String args) 4 5
// Display a greeting in the console window 6
7 System.out.println("Hello, World!")
8 9
Output
Hello, World!
38
HelloTester in a Console Window
Figure 11Running the HelloTester Program in a
Console Window
39
HelloTester in an IDE
Figure 12 Running the HelloTester Program in an
IDE
40
A Simple Program
  • public class ClassName
  • public static void main(String args)
  • // comment
  • Method call

Figure 13Calling a Method
System Class System.out Object println Method
41
Syntax 1.1 Method Call
  object.methodName(parameters) Example System.
out.println("Hello, Dave!") Purpose To invoke
a method of an object and supply any additional
parameters
42
Self Check
  • How would you modify the HelloTester program to
    print the words "Hello," and "World!" on two
    lines?
  • Would the program continue to work if you omitted
    the line starting with //?
  • What does the following print?

System.out.print("My lucky number
is")System.out.println(3 4 5)
43
Answers
  • Yes. The line starting with // is a comment,
    intended for human readers. The compiler ignores
    comments.
  • The printout is My lucky number is12. It would
    be a good idea to add a space after the is.

System.out.println("Hello,")System.out.println("
World")
44
Errors
  • Syntax errors
  • Detected by the compiler
  • Logic errors
  • Hopefully detected through testing

System.ouch.println(". . .")System.out.println("
Hello)
System.out.println("Hell")
45
Self Check
  • Suppose you omit the // characters from the
    HelloTester.java program but not the remainder of
    the comment. Will you get a compile-time error or
    a run-time error?
  • How can you find logic errors in a program?

46
Answers
  • A compile-time error. The compiler will not know
    what to do with the word display.
  • You need to run the program and observe its
    behavior (testing)

47
The Compilation Process
Figure 14 From Source Code to Running Program
48
The EditCompileLoop Test
Figure 15The EditCompileLoop Test
49
Self Check
  • What do you expect to see when you load a class
    file into your text editor?
  • Why can't you test a program for run-time errors
    when it has compile-time errors?

50
Answers
  • A sequence of random characters, some
    funny-looking. Class files contain virtual
    machine instructions that are encoded as binary
    numbers.
  • When a program has compiler errors, no class file
    is produced, and there is nothing to run.
Write a Comment
User Comments (0)
About PowerShow.com