Aug 25 - UNC Computer Science

Download Report

Transcript Aug 25 - UNC Computer Science

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