Download Aug 25

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
COMP 110
Computer Basics
Luv Kohli
August 25, 2008
MWF 2-2:50 pm
Sitterson 014
1
Announcements

jGRASP

Office Hours
◦ Link to survey on web site

Honor Code document
2
Questions?
3
Today in COMP 110
Hardware and Memory
 Programs and Compiling
 Your first program

4
Before Programming

Need to know basics of a
computer
◦ If you drive a car you should
know it runs on gasoline

What’s in the box?
5
Hardware vs. Software

Hardware - physical machine
◦ CPU, Memory

Software - programs that give instructions
to the computer
◦ Windows XP, Games, jGRASP
6
Hardware
An aside: there is a computer museum in
the first floor lobby of Sitterson Hall
Hardware

CPU (Central Processing Unit) - the
“Brain”
◦ Executes your instructions
◦ GHz - number of instructions per second, how
fast is the computer
◦ Dual Core - multiple processing units per CPU,
multiple brains
8
Memory
Holds data for the computer
 How much the “Brain” can remember
 Main Memory

◦ Memory computer uses for intermediate
calculations (program you are running)
◦ Expensive

Auxiliary Memory (Secondary Memory)
◦ Disk drives, CDs, Flash drives
◦ Cheap
9
RAM (random access memory)
Your main memory
 Random access?

◦ Fast access
◦ Access any location in memory in constant
time
10
Measuring memory

2 gigabytes (GB) of RAM
◦ Bytes - measurement of memory
◦ Megabyte (MB) = 1 million (106) bytes (or
1,048,576 = 220 bytes)
◦ Gigabyte (GB) = 1 billion (109) bytes (or
1,073,741,824 = 230 bytes)
11
What is a byte?
1 byte = 8 bits (thanks to Dr. Brooks)
 Bit = 0 or 1 (off or on)
 Language of the computer is bits
 0 0 1 1 1 0 1 0 - 1 byte of 8 bits


Characters, numbers, encoded as series of bits
– a byte:
◦
◦
◦
0:
A:
a:
00110000
01000001
01100001
12
Program

Set of instructions for a CPU to follow

You will be writing programs
◦ We will look at one soon
public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
13
Programming Languages
Your Program
High-level language
(human readable)
Compiler
Machine Language (Bits)
Low-level language
(computer readable)
14
Java
Object-oriented programming (OOP)
language
 Based on the world
around us

15
Objects, Methods, and Classes (oh my!)
Object – program construction that has data
and methods
 Methods – actions performed by objects
 Class – a type of object (e.g. Vehicle, Television)
– objects in same class have same kinds of data
and methods

Data
Methods
Class: Car
Object: myCar
Make
Honda
Model
Civic
Accelerate()
Accelerate
Brake()
Decelerate
16
Java: three main design principles

Encapsulation

Polymorphism

Inheritance
17
Encapsulation
Information hiding
 Packaging things up, only part of what is
going on is visible

◦ myCar.accelerate()
◦ yourCar.accelerate()

Just call these methods, the car will
execute them
18
Polymorphism
“Many forms”
 One method call can cause different
actions in different contexts

◦ Class Airplane
 Object: myAirplane.accelerateToMaxSpeed()
 550mph
◦ Class Car
 Object: myCar.accelerateToMaxSpeed()
 100mph
19
Inheritance
Way of organizing classes
 At each level, classification becomes more
specific

Vehicle
Automobile
Family car
Sports car
Bus
School Bus
Luxury Bus
20
Sample Java Program (section 1.3)
import java.util.*;
public class FirstProgram
{
public static void main(String[] args)
{
System.out.println("Hello out there.");
System.out.println("I will add two numbers for you.");
System.out.println("Enter two whole numbers on a line:");
int n1, n2;
Scanner keyboard = new Scanner(System.in);
n1 = keyboard.nextInt();
n2 = keyboard.nextInt();
System.out.println("The sum of those two numbers is");
System.out.println(n1 + n2);
}
}
21
java.util Package
import java.util.*;
 Package = library of classes (standard programs)
 Different libraries have different classes and
functions
◦ Physics library = Newtonian Physics
◦ java.util.* = Java utility classes, used for many things
including reading data from keyboard
22
Begin the program
public class FirstProgram
{
public static void main(String[] args)
{
 Begin a program named FirstProgram
 Program names should make sense
 A program is also a class in Java
◦ A program class has a unique method ‘main’
23
Output to screen
System.out.println("Hello out there.");
System.out.println("I will add two numbers for you.");
System.out.println("Enter two whole numbers on a line:");
 Write what is in quotes to screen
24
Invoke methods on objects
Method
myCar.start();
Object
airplane.land();
Arguments
System.out.println(“Hi”);
Invoke Method
25
Variable
int n1, n2;
Variable - store piece of data
 n1 - store integer
 n2 - store integer

26
Create Scanner Object
Scanner keyboard = new Scanner(System.in);
Class
Object
Not always
System.in
Create object or instance (keyboard) of Scanner
class
Car myCar = new Car();
27
Call method on object
Object
Method
n1 = keyboard.nextInt();
Invoke/Call
Read an integer from the
keyboard and store it in n1
28
Output to screen
System.out.println("The sum of those two numbers is");
System.out.println(n1 + n2);
Add n1 and n2
Print the sum to the screen
29
Sample Java Program (section 1.3)
import java.util.*;
public class FirstProgram
{
public static void main(String[] args)
{
System.out.println("Hello out there.");
System.out.println("I will add two numbers for you.");
System.out.println("Enter two whole numbers on a line:");
int n1, n2;
Scanner keyboard = new Scanner(System.in);
n1 = keyboard.nextInt();
n2 = keyboard.nextInt();
System.out.println("The sum of those two numbers is");
System.out.println(n1 + n2);
}
}
30
Wednesday
Designing Programs (Read 1.2)
 If time, start primitive types (start reading
2.1)


Come to office hours if jGRASP is not
working
31