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